Jump to ratings and reviews
Rate this book

AVR Programming: Learning to Write Software for Hardware

Rate this book
Atmel's AVR microcontrollers are the chips that power Arduino, and are the go-to chip for many hobbyist and hardware hacking projects. In this book you'll set aside the layers of abstraction provided by the Arduino environment and learn how to program AVR microcontrollers directly. In doing so, you'll get closer to the chip and you'll be able to squeeze more power and features out of it.

Each chapter of this book is centered around projects that incorporate that particular microcontroller topic. Each project includes schematics, code, and illustrations of a working project.


Program a range of AVR chips
Extend and re-use other people’s code and circuits
Interface with USB, I2C, and SPI peripheral devices
Learn to access the full range of power and speed of the microcontroller
Build projects including Cylon Eyes, a Square-Wave Organ, an AM Radio, a Passive Light-Sensor Alarm, Temperature Logger, and more
Understand what's happening behind the scenes even when using the Arduino IDE

472 pages, Paperback

First published August 22, 2013

51 people are currently reading
145 people want to read

About the author

Elliot Williams

8 books4 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
58 (52%)
4 stars
40 (36%)
3 stars
8 (7%)
2 stars
5 (4%)
1 star
0 (0%)
Displaying 1 - 14 of 14 reviews
Profile Image for Neeraj Adhikari.
122 reviews37 followers
July 23, 2019
Writers of 'for beginners' books take note, because this is how all 'for beginners' books should be.

For a long time, I have had a fascination with hardware programming. As a garden variety application programmer, my work and hobby projects didn't provide me with much opportunity to interact with the world other than through the confines of a screen. Sometimes it was background code, running on my computer or in a server far away, doing work that was serious but so intangible. I wanted see my code move things, blink lights, control devices, make things happen. And what I feel now is that I picked the right book to learn how to do all of that. The author has the appropriate level of enthusiasm (which is, a lot of it) for what he is teaching, and he does an excellent job of imparting that enthusiasm to the reader. I had fun reading the book, right from the first page. It also helps that his sense of humor is on point. So if you want to get started on programming microcontrollers and want to play with hardware, grab this book and start reading.

The best way to read this book is, as it itself prescribes, to build and program along with the book, chapter by chapter. As I had already started a project on my own, I didn't do that and missed out on some of the fun.

The book is meant to be read by people who either have hardware experience but not a lot of software experience or vice versa. As a consequence of that, people from either background will find some portions tedious and skippable. But that is minor enough to not affect the 5-star rating I give this book.
Profile Image for Michal Angelo.
123 reviews
July 14, 2015
This is one of those funny 'tools' that you keep on your work-bench and use infrequently but are always happy it is there. Whereas Programming and Customizing the AVR Microcontroller is the natural predicate displaying how the AVR is made, Make:AVR shows you how to fully utilize its capabilities. Analog/Digital I/O & conversions, motor control, SPI, I2C, and memory. My volume is all marked-up with notes, stickies, and dog-eared pages--looks like it took several rides on the floor of the bus.
74 reviews1 follower
July 30, 2014
Really useful book. Well written, fun, and packs a lot of great tips for programming AVR micro controllers into one place.
Profile Image for Brian Salehi.
48 reviews10 followers
May 19, 2020
If you want a fun journey of programming AVR micro controllers and also want to dive into the field, this is a right book to read.
Williams kept the text fun to read and made projects practical and fun to do.
Some topics might not be fully covered, though.
I was looking to use WiFi with AVR micro, I didn't catch anything here. But the rest of topics are covered effectively.
Profile Image for Gregório.
5 reviews
February 12, 2022
I read more or less half of the book. It is an interesting book if you are just starting out. However, AVR is not much used in my field of work. That's why I decided it wouldn't make much sense to put the effort to keep reading it to the end.
Profile Image for Arash.
51 reviews2 followers
June 15, 2020
Great Book, helped me get over the line from Arduino programmer to AVR programer. The included project starter code is especially helpful.
5 reviews
April 22, 2021
*Note to self: I'll have to re-read it again and then test the code with my arduino. (So the theory will stick)
Profile Image for Bruce Lowther.
24 reviews
August 21, 2016
I am re-reading this book in order to refresh my understanding of ATMEL. I have a few new components that I want to play. Now I'm delving into the later chapters on interfacing with I2C components.

I'm reminded of how well written this book is. This is a good place to start if you're interested in learning microcontrollers. I wouldn't call it an introductory book as it does require some fundamental understanding of electronics, but it will get you to blinking LEDs pretty quick and you can explore from there.
Profile Image for Erik.
421 reviews42 followers
Want to read
July 18, 2016
I have not given up on AVRs yet (8 bit wonders that they are) but I'm focusing most of my attention on ARM Cortex M* nowadays so I'm putting this book on hold. I will definitely pick it up again soon.
Profile Image for Bruce Lowther.
24 reviews
November 23, 2015
Good book for those that are wanting to move past the Arduino and understand the underlying microcontroller. I have referenced back to this book many times as I'm working my way through my own projects.

Profile Image for Ken.
87 reviews1 follower
July 4, 2016
Too project-oriented. Gets you over the hump of going from Arduino to a standalone chip and avr-gcc/avrdude, but after that nothing you couldn't have figured out from datasheets. I also wish it had spent some time on AVR assembly.
Displaying 1 - 14 of 14 reviews

Can't find what you're looking for?

Get help and learn more about the design.