The Bus Pirate is a troubleshooting tool that communicates between a PC and any embedded device over 1-wire, 2-wire, 3-wire, UART, I2C, SPI, and HD44780 LCD protocols — all at voltages from 0V to 5.5V DC. This product eliminates a ton of early prototyping effort when working with new or unknown chips.

Working with the Bus Pirate is simple and effective. When you type commands into a terminal on your computer, those commands are interpreted by the Bus Pirate and sent via the proper protocol. The Pirate will also interpret data sent from your embedded device back to your computer terminal. A bootloader is installed on the Bus Pirate's microcontroller, allowing you to update the firmware and change the functionality of the board easily.

The main components of the Bus Pirate are a PIC24FJ64 processor and an FT232RL USB-to-Serial chip. A Mini-B USB connector is populated on the board which is used to provide power to the Bus Pirate and as an interface to your PC. When you plug it into your computer it will come up as a virtual COM port. The pinout of the 2×5 I/O header is written on the board's silkscreen, as well as documented at the developer's site. (Note that this is a customized version of the Bus Pirate, so the appearance of the board differs from the developer's documentation.)

Supported Protocols

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

Bus Pirate Features

0V to 5.5V tolerant pins

0V to 6V measurement probe

1Hz to 40MHz frequency measurement

1kHz to 4MHz pulse-width modulator, frequency generator

On-board multi-voltage pull-up resistors

On-board 3.3V and 5V power supplies with software reset

Macros for common operations

Bus traffic sniffers (SPI, I2C)

Bootloader for easy firmware updates

Transparent USB-to-Serial mode

10Hz to 1MHz low-speed logic analyzer

Scriptable from Perl, Python, etc.

Translations (currently Spanish and Italian)

Enumerates as a virtual COM port over USB

Can operate as AVR STK v2 clone programmer

Access to PIC24FJ64 ICSP programming port

Bus Pirate Resources

Bus Pirate User Manual Page from developer's web site (photos of board will differ; Bus Pirate is an open-source design and the product on this page is a customized version)