This instructable walks you through programming and using the Boston Android Xmega evaluation board to work as a simple arbitrary waveform generator taking advantage of the integrated 12bit DAC and high speed DMA controller. I have provided precompiled firmware as well as source code which can be loaded onto the device and configured via a USB port on your PC or laptop.

You will need a computer (mac, pc, linux all supported) with an available USB port, free driver for the USB-Serial adapter, a Boston Android Xmega EVAL-USB-64 development board ($31.99) and an open source AVR chip programming utility called AVRDUDE.

Once set up, you can generate sine, ramp, triangle, square or any waveform you define from 5 to 20KHz with amplitude of up to 3.3Vp-p. It is possible to generate faster waveforms with the arbitrary waveform feature (up to 500KHz).

Step 1: What you need

1) Boston Android Xmega EVAL-USB-64 (or comparable) Development Board
2) PC with USB port
3) AVRDUDE (free AVR programing software)

Also recommended:

Oscilloscope (to view waveforms)
Headphone or small speaker (to listen to waveforms)
WINAVR and AVRSTUDIO to modify the source code and built your own version of the waveform generator software

Although this example walks through programming and using the EVAL-USB-64 board, you can use any of the EVAL-USB boards from Boston Android. And if you're very experienced you can download the example source code and build for other target hardware such as the Atmel XPLAIN evaluation board, or the Xmega boards available from chips45 and Mattair, Megavore. The xmega family allows effortless migration of code from one chip to another.

About This Instructable


38 favorites


Bio: I grew up in upstate NY where I speant many hours with my brothers playing with legos (I once attempted to test relativity by connecting ... More »
More by wandererwolf: Atmel Xmega USB/Serial Arbitrary Waveform Generator Easy Atmel Xmega Sine Wave / Waveform Generator
Add instructable to: