Atmel’s XMEGA series of microcontrollers are neat little pieces of hardware; with a very fast clock, a ton of IO, USB, and up to 8 UART ports, these neat little chips serve as a nice bridge between AVRs and PICs and the very powerful ARM chips coming out on the market. Unfortunately, the XMEGAs don’t use the extremely common ISP programming header found on just about every AVR dev board making them a bear to program. [Szu] over in Poland came up with a very easy way to program these chips, all while using the programming hardware you already have on hand.
[Szu]’s build uses a few resistors and diodes to break out a USBASP connection to the XMEGA’s PDI interface. On the software side of things, [Szu] wrote an update to the USBASP firmware to allow it to program PDI devices, and also has a patch for AVRdude to allow uploading firmware from the command line.
A very cool build, and one that allows for very, very powerful devices that build on the AVR code you’ve already written.
PCB on cardboard is a nice touch ;)
All you have to do is upgrade the firmware in an old MKII.
Polacks are always the best!
Very nice!
If I ever have the need/desire to use an XMega, I will give this a try!
The upgraded USBASP will still program normal AVR’s through ISP, without the adapter.
And since my programmer has a 3V3 regulator, I would only need two resistors!
Small correction in title – should be: “Programming the XMEGA with an PDI”
PDI is used because xmega haven’t ISP
Yes and no – xmega uses PDI but the whole idea is about using a cheap programmer (USBASP) that was originally designed for ISP
It would be nice if it be working… but it is’nt . At least with atxmega 128a4.
I have try it under Ubuntu with an ATXmega128A4U and it works!