AVR Programming: Learning to Write Software for Hardware (Make: Technology on Your Time) 1st Edition
|
Elliot Williams
(Author)
Find all the books, read about the author, and more.
See search results for this author
|
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who viewed this item also viewed
What other items do customers buy after viewing this item?
From the Publisher
|
|
|
|
|
|---|---|---|---|---|
| Make: Getting Started with Arduino 3rd edition | Make: Arduino Bots and Gadgets | Making Things Talk, Third Edition | Make: AVR Programming | |
| Tutorials | 8 | 8 | 16 | 25+ |
| Intro projects | 2 | 2 | 5 | 8 |
| Robotic projects | 2 | 1 | ||
| Wi-Fi/Ethernet projects | 8 | |||
| Bluetooth projects | 1 | 4 | ||
| Sensors used | Switch, photoresistor, temperature, humidity | Switch, ultrasonic distance | Switch, flex resistor, force-sensing resistor, photoresistor, accelerometer, phototransistor, gas sensor, voltage monitor, infrared distance sensor, ultrasonic distance, GPS, digital compass, webcam, RFID, temperature | Switch, capacitive, photoresistor, piezo, temperature |
| Programming languages used | Arduino, Processing | Arduino, Processing, Java, Python | Arduino, Processing, PHP | C, Python |
| Other highlights | Designed for beginners | Teaches how to reuse and repurpose materials for building robots | X10, MIDI, XBee, web programming | Lasers, audio/music output, radio transmission, interrupts, servo motors, stepper motors, EEPROM storage |
Editorial Reviews
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.
Product details
- ASIN : 1449355781
- Publisher : Make Community, LLC; 1st edition (March 4, 2014)
- Language : English
- Paperback : 474 pages
- ISBN-10 : 9781449355784
- ISBN-13 : 978-1449355784
- Item Weight : 1.81 pounds
- Dimensions : 7.5 x 0.95 x 9.25 inches
-
Best Sellers Rank:
#698,761 in Books (See Top 100 in Books)
- #51 in Integrated Circuits
- #68 in Electronic Sensors
- #77 in Semiconductors (Books)
- Customer Reviews:
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.
Customer reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Let me start by saying it is my opinion that this book is not for the beginner. If you do not have programming experience, or you have not experimented with electronic circuits or you do not know C this book is not for you (yet). Start with a simple Arduino Uno, buy a kit and get a beginner’s books. I highly recommend books by Simon Monk.
I have been coding for 25 years and have been experimenting with electronics since I was eight. I am a hobbyist maker and have written many blogs. I have also written many libraries for a variety of devices and sensors.
I have come across the need to have a more finite control over the microcontroller and have more control of performance and timing. If you are familiar enough with the Arduino environment you know that it is suitable for 98% (I made that statistic up but think it is accurate) of the needs makers will come across. But I have come across devices that have such precise timing requirements that I needed to fine tune my code.
That’s where this book comes in. I read the datasheets for just about everything I buy. I love to understand every detail of every sensor and microcontroller. Sometimes you uncover “hidden secrets” that you exploit to make your solution exciting and fun. However, this book presents many useful facts about the AVR microcontrollers without the need to dig through the datasheet.
The book has given be a much better understanding of the AVR microcontroller as well as added some very useful tools to my bench to solve more complex problems and to write better libraries.
I recommend this book to anyone with a medium to advanced level of understanding of AVR programming using the Arduino environment. This book will take your understanding to a much deeper and more advanced level.
I like it because it provides a positive primer while not going to such detail that some theoretical person can read it nodding their head all the time.
As a Primer, I would award this 5 stars but as a shelf resource I would give this 3.5 (hence the 4 start rating. I have noticed that the wording is not well edited and thus you have to re-read and fact check certain paragraphs. The code relies on you knowing and understanding libraries well. If you do not, get ready for some homework (which lets face it, you are programming an AVR, you HAVE TO KNOW libraries. You will also be required to understand AVR register programming such as the book does not teach well. Reference datasheets for the chip you are using. Ex: [search for the Atmel 328P COMPLETE datasheet (not the summary) on google] Also,...The book is consistently inconsistent. The author even notes in a few places that this is done on purpose to force a reader into studying outside material. Google comes in handy here and it is not a deal breaker. Again, Elliot is pushing you to use the internet instead of spoon feeding you literally everything. If you have determination and staying power and know how to work through these types of books and speedbumps found there-in, then go get it. If you are looking for a primer that will introduce you to the lingo and various use subjects, go get it. If you expect this to be a single source reference, think again!
My biggest recommendation for you is to write notes and ideas in a notebook while you figure it out! Do it! Do it!
Rome was not built in a day without blood and tears. Neither wil your creations. Good luck!
Top reviews from other countries
I perservered until chapter 5 - Serial I/O, where I quickly realised why a layer of abstraction such as Arduino is very useful. Much of the code you write will be reusable within and across projects, so immediately you start thinking 'Library'. But, you don't want to reinvent the wheel right? So you start looking for libraries....and find that Arduino core takes away so much of the really hard, mind blowing and tediously repetitive coding you get invlved in when you're this close to hardware.
Personally I think the book would be more useful to Arduino programmers (which is a selling point) if it blended the contexts of avr and Arduino and provided some contextual comparisons. It would also be a useful addition to present the basics of creating library functions.
Perhaps I'm just not a microcontroller hardware person after all. If you're a programmer and electronics hobbyist, convinced that spending huge amounts of your spare time dedictaed to making hardware work for you, is your cup of tea, this is a really good book for you. If on the other hand you want to be pretty productive from the word go, then a layer of abstraction with library functions is extremely useful, but not addressed in this book.
I think in a nutshell, I couldn't see the point of writing code for e.g. transmitChar, receiveChar etc , and making a library for it when others far more accomplished than I have done that already.
If you fancy a career in microcontroller related development and you have a solid background in programming and a reasonable level of electronics, this book is great.
I bought different books from other authors but found those rubbish then had to return coz not worth for the money that i spent to learn some electronics.
These books from MAKE or Makezine are worth to spend to learn something and also the author is too good. I recently bought their 4-5 books.
Extremely recommended.












