The BusPirate v3 http://dangerousprototypes.com/docs/Bus_Pirate is a universal bus interface that talks to electronics from a PC serial terminal. Get to know a chip without writing code. Eliminates a ton of early prototyping effort with new or unknown chips. Protocols 1-Wire, I2C, SPI, JTAG, asynchronous serial (UART), MIDI, PC keyboard, HD44780 LCDs, and generic 2- and 3-wire libraries for custom protocols. Features USB interface, USB powered 5volt tolerant pins 0-6volt measurement probe 1Hz-40MHz frequency measurement 1kHz – 4MHz pulse-width modulator, frequency generator On-board multi-voltage pull-up resistors On-board 3.3volt and 5volt power supplies with software reset Macros for common operations Bus traffic sniffers (SPI, I2C) Transparent USB->serial bridge mode 10Hz-1MHz low-speed logic analyzer Custom support in AVRDUDE http://savannah.nongnu.org/projects/avrdude, Flashrom http://www.flashrom.org/Flashrom, OpenOCD http://openocd.berlios.de/web/ AVR STK500 v2 programmer clone Scriptable from Perl, Python, etc. A bootloader for easy USB firmware updates Open source (CC 0) Support Bus Pirate manual http://dangerousprototypes.com/docs/Bus_Pirate v3.5 hardware overview http://dangerousprototypes.com/docs/Bus_Pirate_v3.5 Chip demonstrations http://dangerousprototypes.com/docs/Bus_Pirate#Chip_demonstrations Latest firmware http://code.google.com/p/the-bus-pirate/ Bus Pirate forum http://dangerousprototypes.com/forum/viewforum.php?f=4