This is a short list of resources for getting started with AVR microcontrollers. It’s intended as a supplement to intro AVR classes that we have given. We intend to periodically update this list; leave your suggestions for additions in the comments, please. (Last update: October 2012)
First of all, these GUI installers for the GNU AVR toolchain are really excellent: Two flavors for Mac and Windows:
CrossPack (Mac – recommended solution)
MHV AVR Tools (Windows – recommended solution. Also available for Linux and Mac)
On Linux and Unix-like operating systems (Macs included) you can also follow the directions given by bdmicro (330 kB PDF) for installing the components one at a time.
Almost certainly the best place to get started is at Ladyada’s AVR tutorial. It is extensive and up to date, and it will probably be kept up to date better than most of the other resources that we mention here.
A couple of other sets of instructions and reference guides:
- Sparkfun guide to embedded electronics, part I.
- Programming AVR Microcontrollers on a Macintosh (Getting Started)
- Programming an AVR microcontroller using OS X
- MacAVR (Mac)
- The AVR Instruction Set (688 kB PDF), for those occasions when you need to assemble.
- Diagram of the GNU AVR toolchain
- AVR-libc user manual. Might want to jump right to the module list.
- The incredibly awesome online AVR fuse calculator! No more calculating fuse bytes by… um… calculator.
- AVRfuses fuse-programming application. Pretty sweet, cross platform.
Some notes on hardware:
- The AVR “Ghetto Programmer” – cheap, if you have a parallel port.
- PopSci teaches you how to take the The AVR Dragon programmer/dev board and make it actually useful.
- Useful list of AVR development tools at BDMicro
A few interesting examples of AVR source code:
- TV-B-Gone, the open-source version.
- Gobs of other good examples at Ladyada.net
- Procyon AVRlib by Pascal Stang. Open-source C libraries to do all kinds of things– some quite advanced.
Our own articles about and using AVR microcontrollers:
- An AVR-based Analog Plotbot with an E-Paper Display
- Quick and Dirty D to A on the AVR: A timer tutorial
- Fixing a bad frequency fuse bit on an AVR
- Resources for choosing a microcontroller
- Programming the Atmel ATtiny2313 in Mac OS X (only partly Mac specific– but mostly out of date. Some hints about programmers, programming, and target boards.)
- How to make high-tech LED decorations for the holidays
- LED Micro-Readerboard, version 2.0
- LED Micro-Readerboard, version 2.0: FAQ File (with hints about programming)
- Instructables: Micro-Readerboard Build
- Using AVR microcontrollers: Minimalist target boards
- The Adafruit Industries USBtinyISP kit
- Using an ADXL330 accelerometer with an AVR microcontroller
- AlphaPOV: An alphanumeric persistence of vision display
- MiniPOV Cylon firmware
- Make a Robotic Snap-O-Lantern!
- Peggy, A Light Emitting Pegboard Display
- Solid freeform fabrication: DIY, on the cheap, and made of pure sugar
- Meggy Jr RGB
- POV Lissajous figures
- Resurrecting Tennis for Two
- Business card breakout boards for ATmega48/88/168/328
- Scariest Jack-o’-Lantern of 2008
- Simple Solar Circuits
- The Mignonette
- Peggy 2.0
- Single Sided Circuit Board with an ATtiny2313
- Business card breakout boards for ATtiny2313
- Basics: Serial communication with AVR microcontrollers
- Giant 7-segment displays
- Deluxe LED Menorah
- The Larson Scanner
- The Rovin Pumpkin
- The Bulbdial Clock
- Using an ADXL335 accelerometer with an AVR microcontroller
- Mac Sleep Light Pumpkin
- Octolively Interactive LED panels
- ISP Shield for Arduino
- Reading and writing flash contents
- Sharing target boards
- On the design of the Bulbdial clock
- Interactive Game of Life Exhibit
- Say Hello to xmega
- Blink an LED with an AVR
- The Art Controller