3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Build an AVR Xmega Prototyping Board!

Build an AVR Xmega Prototyping Board!
The AVR ATXmega chip is a newer offering in Atmel's AVR line.  The Xmega is billed as a hybrid 8/16-bit MCU, which means you can use your normal development environment to program Xmegas (as compared to AVR32 and Atmel's ARM line).  Because the Xmega uses a different programming interface, it does require a programmer that can speak PDI, such as the AVRISP mk II or an AVRISP mkII clone like the one found in the LUFA package.  However, it provides an amazing set of device peripherals that can definitely up the output of your next project.  For example, it supports in hardware two mechanisms to shunt the CPU out of data transfers and interrupt processing to offload the MCU and allow it to do other things, greatly improving performance:
  • Direct Memory Access (DMA) controller capable of transferring data between memories and peripherals (ie between the USB and USART) with minimal MCU intervention
  • An Event System allows peripherals to trigger actions in other peripherals (think interrupts) without the need for the MCU to get involved directly.  Peripherals supported include ADC, DAC, DMA, and all the ports.
Other peripherals and modules of particular interest include:
  • AWex - Advanced Waveform Extension for extremely precise waveform generation
  • Hi-Res - High Resolution Extension for AWeX and timers.
  • IR Communications module
  • AES and DES crypto engines
  • External Bus Interface to fast-track external memory
  • An Analog-to-Digital converter and Digital-to-analog converters
It has, of course, the other standard peripherals you've come to expect in an AVR such as TWI, SPI, USART, RTC, interrupts, internal clock sources with PLL, etc.  Using the internal oscillator and no external crystal, the Xmega boasts system clock speeds of 32MHz.  One of the downsides to the Xmega line, though, is the lack of any PDIP versions of the chips; all chips are surface mount TQFP/TQFN/BGA ranging from low-density 44-pin to high-density 100-pin configurations. 

Not having a PDIP version makes it more difficult to get into the Xmega line because to prototype and program your Xmega you will need specific hardware that interfaces to the SMD (surface mount) chips.  But if you don't get into the Xmega line you are missing out on such good peripherals and coding fun, so what's a guy to do? 

This instructable will walk you through making a complete, working AVR Xmega programming and development board.  This board will allow you to connect Xmega chips, program them, then put them in your device in the field (or in your house!).


 
Remove these adsRemove these ads by Signing Up
 

Step 1Requirements

The Xmega programming and development board requires a few pieces of hardware to complete the build that you may or may not have lying about your place.  First, the design was etched onto 1oz double-sided copper clad and a silk screen layer was then layered over the top.  This entails having a 3.25" x 3.75" double-sided copper clad board (a 1/2oz board works well, too), your favourite etchant, soldering equipment, etc.

The second part includes the chip carrier, which can be purchased from futurelec.com.  You may need the TQFP44 carrier for ATXmega32A4 and other TQFP44 chips, while the TQFP64 carrier can be used for the ATXmega64/128/256A3's.  From the website I mentioned in this paragraph, the cost is $1.20 and $1.30, respectively.  That's very economical for an adapter board.

Finally, you'll need the electronic components that I use in this design.  The components range from double-row female sockets to 10uF tantalum capacitors to 3mm LED's.  To avoid listing every part in my design here, I've attached a BOM at the bottom of the page.

I've skipped mentioning anything about software as that's dependent on your style and flow.   I prefer using NetBeans IDE with custom-compiled AVR GCC toolchain on a Solaris UNIX system, although AVR Studio, NetBeans, and Visual Studio are options on Windows.  This is all ancillary to our hardware build that we'll get into when you turn the page!
« Previous StepDownload PDFView All StepsNext Step »
4 comments
Jul 19, 2010. 1:15 PMjeff-o says:
How do you prevent some of the component-side pads from being printed? Do you edit the design after it is generated by Eagle?
Jul 20, 2010. 4:38 AMjeff-o says:
I see. Yeah, that could be really useful in some cases, like running traces between pads on DIP ICs.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
62
Followers
22
Author:nevdull(The Bold Scientist)
Gian is the VP Research & Development at Open Design Strategies and holds a BA in Molecular/Cellular Biology and an MS in Computer Science. He has a collection of 8-bit microcontrollers and a room fu...
more »