The AVR microcontroller from Atmel (now Microchip) is one of the most widely used 8-bit microcontrollers. Arduino Uno is based on AVR microcontroller. It is inexpensive and widely available around the world. This book combines the two. In this book, the authors use a step-by-step and systematic approach to show the programming of the AVR chip. Examples in both Assembly language and C show how to program many of the AVR features, such as timers, serial communication, ADC, SPI, I2C, and PWM. The text is organized into two parts: 1) The first 6 chapters use Assembly language programming to examine the internal architecture of the AVR. 2) Chapters 7-18 uses both Assembly and C to show the AVR peripherals and I/O interfacing to real-world devices such as LCD, motor, and sensor. The first edition of this book published by Pearson used ATmega32. It is still available for purchase from Amazon. This new edition is based on Atmega328 and the Arduino Uno board. The appendices, source codes, tutorials and support materials for both books are available on the following websites: http: //www.NicerLand.com/ and http: //www.MicroDigitalEd.com/AVR/AVR_books.htm.