XPLAIN Bridge (2010)

In 2009, Atmel released one of their first demonstration boards for their new XMEGA AVR architecture, called the XPLAIN. This small board was a low-cost, feature packed way to evaluate the capabilities of Atmel's new devices.

One interesting aspect of the board's design is that it actually carries two AVRs; a new ATXMEGA128A1, and a regular AT90USB1287 AVR. The purpose of the latter was twofold; firstly, it was to provide a simple USB-to-Serial bridge for the XMEGA, and secondly it was to act as a programmer interface for the XMEGA. In this manner, the board would be able to be programmed and used by anyone, without the requirement for additional programmer hardware.

Unfortunately, as of mid 2010, the programmer feature of the board has not yet been implemented by Atmel, leaving many users with a cheap, but ultimately useless board unless they bought a JTAG programmer. To combat this, I modified the AVRISP-MKII Clone and USB-to-Serial projects in my LUFA USB AVR stack to produce an alternative AT90USB1287 firmware to Atmel's own which added in this missing functionality.

Atmel XPLAIN Board

Atmel's XPLAIN Demonstration Board (Source)

When compiled and loaded into the XPLAIN board via the pre-programmed USB bootloader available on all but the very first hardware revision of the board, a simple jumper selection can choose between the programmer and serial bridge modes of the firmware. Since the programmer mode emulates an Atmel AVRISP-MKII programmer, it is fully AVRStudio compatible.

  • Can be loaded onto the XPLAIN without additional hardware
  • A jumper selects between USB-to-Serial and PDI Programmer modes
  • XMEGA PDI programmer is AVRStudio compatible
  • Works on all revisions of the XPLAIN (except the first)
  • No additional hardware required for use or installation

Two precompiled versions of the firmware are available for download here directly (so that compilation from the source code is not required). One version is compatible with AVRStudio 4 on Windows platforms, while the other is compatible with avrdude on all platforms. Both versions require the programmer to be used as if it was an official AVRISP-MKII from Atmel; the special version for AVRDude is due to a difference in the way that the Windows libUSB drivers operate on the device.

For instructions on how to install the XPLAINBridge firmware onto an XPLAIN board, see this post on my blog.


Vital Stats

  • 35 Years Old
  • Australian
  • Lover of embedded systems
  • Firmware engineer
  • Self-Proclaimed Geek

Latest Blog Posts