Board level AVR Hardware

This page discusses "board level" AVR hardware that I have experience with. To dig even deeper, you will probably want to go to the "chip level" and learn about the ATmega AVR controllers themselves.

I began all this with Arduino modules. There are a variety of Arduino "shields", which are daughter boards compatible with the pin layout on the Arduino modules themselves. I have never worked with any of these, but it is something worth remembering as the prices are right and software has already been written.

The Arduino NG

I began all this with a hand-me-down Arduino NG rev C board (based on the ATmega168 chip).

The Arduino Duemilanove

I soon ordered my own Arduino Duemilanove, which at the time I ordered it had an ATmega328 chip (older units used the ATmega168 chip).

The Arduino Uno

This is a lot like the Duemilanove, it still has an ATmega328. The board is the same size, has the same signals (or so it seems) on the edges. The difference is that it uses surface mount chips (unlike the socketed DIP packed ATmega328 chip on the Duemilanove). This change was apparently a big deal for some people who were in the habit of blowing out their controller and popping a new chip in the socket.

A significant change is that the Uno uses the ATmega16u2 chip for the USB to serial interface (rather than the usual FTDI chip). The benefit of the 16u2 chip over the FTDI, is that it is relatively easy to reprogram it. This allows you to change the USB vendor and device codes, allowing your project to configure itself as any kind of USB device, not just the USB to serial device you were stuck as when using the FTDI chip.

The Sparkfun Pro Micro

I added to my collection (September 20, 2012) a tiny little Sparkfun Pro Micro 5V unit. This has a micro USB connector on board, along with one surface mount chip (an ATmega32u4). It is essentially the same as the Arduino Leonardo, (which is however, a full sized Arduino). The Leonardo is also based on the 32u4 chip, but may well ship with a different boot loader. Note that Sparkfun is now shipping the Pro Micro with a Leonardo compatible boot loader, and version 1.0.1 of the Arduino GUI now supports the Leonardo, if that is important to you.

My big beef with the Pro-micro is that the micro-USB connector is very fragile. Mine ripped off the board the second day I was working with it, under minimal provocation. Many others have had the same experience, you have been warned.

The ADAfruit 32u4 breakout

Determined never to order another Pro-Micro, I next ordered a 32u4 breakout from Adafruit. It has a lot going for it. The pin spacing is such that it can be plugged into a breadboard. It has a mini-USB, a reset button, and a programming header.

At one time, I was itching to get my hands on a Boarduino from ADA Fruit, but the 32u4 breakout has cured me of that. The appeal of the Boarduino is that it is a tiny module that can be plugged directly into a standard breadboard. However it uses a DIP package ATmega328 chip, and has no onboard USB (so you need a FTDI cable or module or some such to program it - something like the FTDI friend from ADA Fruit).

The Teensy++ 2.0

I have one of these, and I run hot and cold on it. It is a lot in a small package, namely an AT90USB1286 chip on a board with 40 pins. This gives you 128K of Flash, 8K of SRAM, and something on the order of 40 pins of IO (depending how you count them) for only $27. The downside is that the Teensy culture is not fully open and shows signs of moving to ARM processors. There are other idiosyncracies you can read about in:

Not as exciting, but more amusing and unique is the StealthDuino.


Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org