Bus Pirate

The Bus Pirate is a universal bus interface device designed for programming, debugging, and analyzing microcontrollers and other ICs. It was developed as an open-source hardware and software project.

Overview
The Bus Pirate was designed for debugging, prototyping, and analysing "new or unknown chips". Using a Bus Pirate, a developer can use a serial terminal to interface with a device, via such hardware protocols as SPI, I2C and 1-Wire.

The Bus Pirate is capable of programming low-end microcontrollers, such as Atmel AVRs and Microchip PICs. Programming using more advanced protocols such as JTAG and SWD is possible, but is discouraged due to hardware speed limitations.

The Bus Pirate v3.6 is based on an PIC24 MCU (SSOP), and communicates with a host computer with either a USB interface with a FT232RL (SSOP) or an on-chip USB module.

The Bus Pirate was designed by Ian Lesnet of Dangerous Prototypes.

Feature list
The Bus Pirate can communicate via the following serial protocols, with line levels of 0–5.5 volts: 1-Wire, I²C, SPI, JTAG, asynchronous serial, and MIDI.

It can receive input from a keyboard, and can output to a Hitachi HD44780 LCD controller.

Other features:
 * UART
 * 2- and 3-wire libraries with bitwise pin control
 * 0 – 6 volt measurement probe
 * 1 Hz – 40 MHz frequency measurement
 * 1 kHz – 4 MHz pulse-width modulator, frequency generator
 * On-board multi-voltage pull-up resistors
 * On-board 3.3 volt and 5 volt power supplies with software reset
 * Macros for common operations
 * Bus traffic sniffers (SPI, I²C)
 * A bootloader for easy firmware updates
 * Transparent USB -> serial mode
 * 10 Hz – 1 MHz SUMP compatible low-speed logic analyzer
 * AVR STK500 v2 programmer clone, supported in AVRDude programmer software

Generational differences
v3.x models uses a 5×2 header for ribbon cable, whereas the v4.x models uses a 6×2 header.

The size of the circuit board was changed to 60 mm x 37 mm in the Bus Pirate v3.6 and up so it would match the mounting holes for the "Sick of Beige" DP6037 case.