XBoot is a serial bootloader for ATMEL AVR series MCUs. Originally designed for the XMEGA series, it has been extended to also support any ATMEGA series part with sufficient memory. XBoot's primary features are support for multiple serial interfaces and support for online application-directed updating.


XGrid is platform for grid computing on AVR XMEGA series MCUs. XGrid leverages the multiple USARTS characteristic to the XMEGA series to support extensible grid computing. It also integrates with XBoot's API to support online firmware updates of the entire network.

Python IVI

Python IVI is a Python implementation of the Interchangeable Virtual Instruments specification.


Python USBTMC is a Python implementation of the USBTMC USB instrument control protocol.

Python VXI11

Python VXI-11 is a Python implementation of the VXI-11 Ethernet instrument control protocol.


ftjrev is a powerful JTAG reverse engineering tool for FTDI FT2232 based JTAG cables.


fpga-utils is a collection of utilities for working with FPGAs.

Templates for Embedded Development

Templates library

The hardest part of many embedded system projects is configuring the toolchain and building a good set of libraries that leverage the chip's peripherals. The templates library contains templates for several processor series as well as a template for cross-platform GTK+ development that includes a cross-platform serial port library.

Nixie Clock

Nixie Clock

I designed and built this 4 tube Nixie clock in 2006-7 when I was a senior in high school. It uses a PIC microcontroller to drive the display and control the high voltage power supply and a Maxim/Dallas RTC chip with backup battery to keep time.

Other Projects