Make: AVR Programming and over 2 million other books are available for Amazon Kindle . Learn more
  • RRP: £29.99
  • You Save: £9.60 (32%)
FREE Delivery in the UK.
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Make: AVR Programming: Le... has been added to your Basket
Trade in your item
Get a £6.25
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Make: AVR Programming: Learning to Write Software for Hardware Paperback – 17 Feb 2014

See all 12 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£15.72 £14.50

Frequently Bought Together

Make: AVR Programming: Learning to Write Software for Hardware + Make: More Electronics: Journey Deep Into the World of Logic Chips, Amplifiers, Sensors, and Randomicity + Encyclopedia of Electronic Components Volume 1: Resistors, Capacitors, Inductors, Switches, Encoders, Relays, Transistors
Price For All Three: £53.96

Buy the selected items together

Trade In this Item for up to £6.25
Trade in Make: AVR Programming: Learning to Write Software for Hardware for an Amazon Gift Card of up to £6.25, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 472 pages
  • Publisher: Maker Media, Inc; 1 edition (17 Feb. 2014)
  • Language: English
  • ISBN-10: 1449355781
  • ISBN-13: 978-1449355784
  • Product Dimensions: 2.5 x 19 x 23.5 cm
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Bestsellers Rank: 271,873 in Books (See Top 100 in Books)

More About the Author

Elliot is a Ph.D. in Economics, a former government statistician, and a lifelong electronics hacker. He was among the founding members of HacDC, Washington DC's hackerspace. He now lives in Munich, Germany where he works for an embedded hardware development firm which has to date exactly one employee (and CEO).

"Make: AVR Programming" is the first book he's written, and although it's thick enough to stun a charging rhino, he hopes it helps you on your path.

Product Description

Book Description

Unlock the full range of power and speed of Atmel's chips

About the Author

Elliot is a Ph.D. in Economics, a former government statistician, and a lifelong electronics hacker. He was among the founding members of HacDC, Washington DC's hackerspace, and served as president and vice president for three years. He now lives in Munich, Germany, where he works for an embedded hardware development firm that has, to date, exactly one employee (and CEO). This book came out of his experiences teaching AVR programming workshops at HacDC.

Customer Reviews

4.7 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 3 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

5 of 6 people found the following review helpful By Spiff TOP 1000 REVIEWER on 1 Jun. 2014
Format: Paperback
If you're looking at this book, it's most likley because you've been messing about with the Arduino for a while and you're starting to feel like there might be a whole other world out there. Perhaps you've downloaded Atmel Studio and after being a bit overwhelmed have asked yourself, "how do I learn how to use this thing." Atmel doesn't spend much time catering to the novice. Thats whats I learned the "hard way."

Basically, I had to leave the world of Arduino in order to learn about using HIDUINO which lets you turn your Arduino into a class compliant midi interface. The first thing I ran into was the problem of addressing pins which are called Ports. You have Ports A, B, C, D (the Atmega like a lot of mega chips only has ports B,C and D) and these aren't adressed in the simple manner you find in the Arduino IDE. A little more complicated? Just a tad. So I went on the search for a book that would bridge the gap but only found books that were very serious and complicated. The way a lot of authors describe these Port pins is mind bending and really put me off for a good while as I sruggled to understand what they were talking about. You could say I was having a hard time getting used to how they do stuff in the real world of microcontrollers.

However, this book bridges the gap between Arduino and the rather "heavy" reality of programming in the C language. It's jam packed with easy to read information. He makes constant references to Arduino and gives you all sorts of surprising tid bits of information that will save you a lot of time and a few headaches. I think the author put a lot of work and heart into writing this. He saw there was a real need for a book like this and he went right to work making it a reality. Thanks Elliot!
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 3 people found the following review helpful By angelo on 17 July 2014
Format: Paperback Verified Purchase
It is difficult the initial information about software necessary to begin to programming avr very insufficient expiication.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
By A. A. Whiting on 19 Oct. 2014
Format: Paperback Verified Purchase
Great reference book.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 41 reviews
24 of 25 people found the following review helpful
A step further than Arduino 30 Mar. 2014
By Christopher T. Dahle - Published on
Format: Paperback Verified Purchase
About 5 years ago I took my then 6 year old son to a robotics workshop. At the time I had not much more than a basic understanding of electric circuits. I'd built small electric motors and crystal radios from kits as a kid, but in reality, I couldn't have told you the difference between a shift register, a microcontroller, and a 555 timer. Still, I became fascinated with the possibilities of using the brains of the small robots for other interactive projects. A friend mentioned Arduino and I bought a Duemilanove. I learned a lot from it.

But many of the projects I've conceived require only one or two I/O ports, and even though Arduino boards are comparatively cheap, it still seems a waste to leave 30 bucks worth of hardware inside a project that does little more than rotate a servo or blink a light in response to an input. I get things made, and then I am loathe to take them apart even though I need the board for another project.

A couple of years ago I decided that what I really wanted was to get "much closer to the metal" by breadboarding the projects to test, then wiring them up permanently on perfboard, or as "dead bugs" powered by drycell batteries. Most of the basic Atmel/AVR chips are around a buck and most of my projects don't need more than five bucks worth of other components, so if I could wire and program AVRs directly, avoiding the cost of the Arduino board, I could make up projects that I could maintain permanently, or give away with little remorse about the price of the parts.

In my early attempts I bought a USBtinyISPkit from LadyAda and made a start following her tutorials at ADAFRUIT. Ms. Fried and her team do a great job, but I didn't have a lot of free time to hunt down internet resources to help me develop the projects I had in mind. I wanted a nice reference book that would hold my hand through the process of setting up AVRs and modifying my Arduino projects, showing me the tool kit all in one place without the need to fumble around on the 'net for answers to basic questions. The books on the market at the time were aimed at engineers, above my knowledge level and beyond my need. I put the project on hold.

But when this book was announced, it seemed to be exactly what I was looking for. I ordered it right away and then waited impatiently for spring break so I could dive into it.

I am not disappointed. This book is a great guide. I quickly was able to blink a simple "hello world". I followed Mr. William's instructions to use my Arduino as a programmer. Then I repeated the process using my AdaFruit programmer.

Though I already had some experience with Arduino, Basic Stamp, and Picaxe microcontrollers, I don't think any of that experience was necessary for me to get rolling with the AVR using this book as a guide.

As a school teacher, I frequently try to put myself in the place of may students and while AVR programming is a bit above the grade level I teach, I am fairly confident that any motivated beginner able to pass algebra could dive straight into AVR programming following this guide. Mr. Williams does not assume a lot of previous knowledge, but on the other hand, he also doesn't insult the intelligence of more advanced experimenters. If you have programming and electronics experience, but haven't messed with microcontrollers, I think you will still find this book useful.

Moreover, if you are interested in learning to program but become bored with the sorts of projects you find in a straight ahead programming text, you may find that the blinky light, buzzy beeper, and whirring motor sorts of projects in this book are a bit more engaging than the manipulation of text strings and conversion of temperature tasks that live on screen alone.

I have along way to go to become a true master of microcontrollers, and a complex work life frequently causes me to put aside my hobby projects for weeks at a time. But so far, this book is proving to be an outstanding guide to AVR programming.
11 of 11 people found the following review helpful
Not ready for prime time 9 April 2014
By towSaint - Published on
Format: Paperback
This book has a lot of merit, and I don't want to lose track of that, so I'll cover the good points first. The book is platform agnostic and attempts to direct the reader in Windows, Linux, and MacOS. I followed along in Windows. A few of the author's remarks lead me to believe that he favors Linux platforms, FWIW. The book makes use of the Gnu AVR toolchain - a great set of tools, but it does ignore the industry standard (Atmel Studio, which runs only on Windows) as a sacrifice to flexibility.

Startup was a bear. If you're running Windows and having problems with WinAVR and AVRdude, unnistall the Arduino software - there appears to be a conflict of some sort. This conflict manifests with the "RC=-1" error that the author assures you is a wiring issue. I assure you it may not be...

The work is thinly scoped. In the beginning it appears that the author set out to cater to an audience with no C or electronics experience. While you might get by with limited electronics knowledge, a lack of C knowledge is going to kill the newcomer. The author makes extensive use of the avr-libc, but does not always make it clear that he is doing so, it would be very easy for a newcomer to not realize what is going on. While he suggests that the chip spec sheet is a reference, much of the book is incomplete if you have not read it. The examples may work as boilerplate that you can alter to suit your need, but understanding will be on your own.

There are numerous editorial mistakes. My overall impression is that the book was rushed to market, perhaps to beat a competing tome, or perhaps the author was behind plan, but it has the feel of soemthing that was rushed to be 'good enough'.

While that is pretty critical, the book set out with an extremely ambitious goal (teach hardware and software to complete novices AND cover the array of AVR capabilities). The apparently broad scope virtually guaranteed falling short of the goal. If you're pretty comfortable with C, have a general understanding of microcontrollers, and especially if you like GNU tools (make, gcc, etc) this is a pretty good book. If you're completely new to programming - gain some familiarity elsewhere before tackling this book. I'm not sure how to define the requisite level of C expertise - it's not terribly high, but I think a complete beginner will be in over their head quickly.

This book tries to be all things to all people, and in doing so, it falls short. As a text on the specifics of the AVR and using the GNU toolchain it is still pretty good.
10 of 10 people found the following review helpful
Great potential - disappointing results 30 Mar. 2014
By Edmund Cape - Published on
Format: Kindle Edition
Frustrating, is how I would have to describe the 4-6 hours at getting my first AVR program to work. I have successfully programmed Arduino and Picaxe and come to the limits of these platforms. I'm a C programmer so look forward to leveraging C on a microcontroller.

The first few hours of reading this book were exciting - finally, a book that take the reader from Arduino to the advanced use of the AVR microcontroller. Great introduction, great step-by-step, great potential... then time to implement. I can't count the number of adjustments you have to make to get the code to compile, and flash to the AVR chip. I'm still not there. I have noticed complete omissions in the step-by-step that has me taking several breaks to take time to imagine what the problem might be... because the troubleshooting in the book is not doing it for me.

I look forward to returning to this review once I finally get my blinkingLED project to work. I want to like this book a lot.
7 of 7 people found the following review helpful
Lacking in information and examples of basics. 22 Mar. 2014
By Conor M. Power - Published on
Format: Paperback Verified Purchase
I wish I could recommend this book but I found it lacking in assisting the reader with getting started. The introductions to programmers, avrdude, and micro controllers was extremely brief and lacking in examples to help you along the way. I think better presentations are better found on the and tutorials. If you do buy the book, be prepared to spend a lot of time on the net researching what is covered. You will not find it in the book.
3 of 3 people found the following review helpful
you will have a better understanding of the AVR hardware 24 Aug. 2014
By W. Nieuwenhuis - Published on
Format: Kindle Edition Verified Purchase
Just completed the book. I covers most topics of the AVR in quite some detail. This is strengthened by the fact that the software is written on top of the AVR libraries, instead of on top of the Arduino libraries. This is illustrated by some projects where every bit of performance is used in a way that is more difficult to achieve than with Arduino software.
That said this makes it arguably harder for novices to get started, but once you cross that, you will have a better understanding of the AVR hardware.

The book is nicely outlined for the different aspects of the AVR hardware.

The author is a fan of music and sound and it shows in the projects. It was a bit to much for my taste.

The editing could be improved:I found quite a few typing errors, although I did not keep track. It occurred just enough to bother me, but this is probably a personal thing.
Were these reviews helpful? Let us know