David Watson

Xmega 4 breakout (2011)

Assembled boards

Overview

I've been working on several projects where I want to use a small, low cost, power efficient microcontroller. I played around with several of the ATtiny processors, however none of them seemed to have the right combination of features. Having read a little about the XMEGA line, it seemed like an interesting side project to experiment with.

None of the xmega processors are available in DIP packaging, so it seemed like an opportunity to design a surface mount breakout board and try my hand at soldering surface mount parts. This is meant to just be a short document describing the board and some of the issues I ran into.

Design

Circuit boards

The overall goal was to build a breakout board that would make it easy to prototype with a low end xmega processor. The cheapest part is the ATxmega16D4, which is where I started. The board also needed to be easy to use for prototyping, since I wasn't sure what they were going to be used for. Finally, I wanted it to be able to use a serial bootloader for programming.

Features

Support

The xmega line uses a PDI programming interface, which is different than the ISP interface used by the mega and tiny chips. The only low cost programmers I know of are the official Atmel AVRISP mkII and the LUFA based clone from Dean Camera. One issue with the Atmel programmer, is that it requires Windows to update the firmware. The programmer I got from DigiKey in 2011 required updating the firmware to work.

From the software side, the xmega chips can be programmed with the same toolchain as the mega and tiny lines, namely avr-gcc and avrdude (or the official AVR Studio). The D series of chips don't appear to have configuration values in avrdude, but they have the same memory layout as the A series of chips, so it's easy to fix.

For a bootloader, I've been using avr-xboot, which supports serial programming as well as a lot of other protocols.

I haven't been using any programming libraries, but the latest Wiring libraries do have support for xmega processors.

Issues