This is an old version, see the latest version on the documentation wiki.

Interfacing a new microchip can be a hassle. Breadboarding a circuit, writing code, hauling out the programmer, or maybe even prototyping a PCB. We never seem to get it right on the first try.

The ‘Bus Pirate’ is a universal bus interface that talks to most chips from a PC serial terminal, eliminating a ton of early prototyping effort when working with new or unknown chips. Many serial protocols are supported at 0-5.5volts, more can be added.

Protocols (bus modes)

1-Wire

I2C

SPI

JTAG

Asynchronous serial

MIDI

PC keyboard

HD44780 LCD

2- and 3-wire libraries with bitwise pin control

Scriptable binary bitbang, 1-Wire, I2C, SPI, and UART modes

Features

0-5.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)

A bootloader for easy firmware updates

Transparent USB->serial mode

10Hz-1MHz low-speed logic analyzer

AVR STK500 v2 programmer clone

Scriptable from Perl, Python, etc.

Translations (currently Spanish and Italian)

Public domain (Creative Commons Zero) source. Prototype with the Bus Pirate, then use the code in your project however you want.

Applications with Bus Pirate support

The Bus Pirate is used through a simple terminal interface, but these applications also support the Bus Pirate as a programming device, etc.

