Bus Pirate

Last updated
Bus Pirate 5
BP5 PCB render.png
Bus Pirate 5 PCB
DeveloperDangerous Prototypes
TypeDebugger
PredecessorBus Pirate v4.0
SuccessorBus Pirate 6
Website buspirate.com

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. [1] [2]

Contents

Overview

The Bus Pirate was designed for debugging, prototyping, and analysing "new or unknown chips". [1] 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 limited due to hardware speed. Support for JTAG version 5 is in progress. [3]

The Bus Pirate 5 was designed by Ian Lesnet of Dangerous Prototypes and Sjaak of SMD Prutser. [4] [5]

Feature list

The Bus Pirate v3.6 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:

Generational differences

Bus Pirate v3.6Bus Pirate v4.0 [6] Bus Pirate 5Bus Pirate 5XLBus Pirate 6
Development statusMatureDiscontinuedActiveActiveActive
Dimensions ( mm )60×3760×3760x6060x6060x60
Microcontroller PIC24FJ64GA002 PIC24FJ256GB106 RP2040 RP2350A RP2350B
Clock Frequency (MHz)32Un­known125133133
Program Flash ( kB )6425616,38416,38416,384
Storage Flash ( MB )128128128
SRAM ( kB )816264520520
I/O pins57888
Main Header5×2 pin header 6×2 pin header 10×1 pin header 10×1 pin header 10×1 pin header
Auxiliary Header9×1 pin header 9×1 pin header 9×1 pin header
USB Interface FTDI FT232RL PIC24-integrated RP2040-integrated RP2350-integrated RP2350-integrated
USB Connector USB Mini-B USB Mini-B USB-C USB-C USB-C
Logic AnalyserLow-speedUn­knownInputs Only [7] Inputs Only [7] Yes [7]
JTAGLimitedLimitedIn Progress [3] NoNo

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. [8] [9]

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 5 was in development for many years, initially developed with an ARM based STM32 microcontroller. An FPGA was then added to give flexibility over pin assignments and a fast logic analyser. Due to supply chain issues with the STM32s, the release was delayed for an additional 2 years until the release of the RP2040 when the board was redesigned around it, forming the modern day design. [10]

The Bus Pirate 5, 5XL and 6 have a 320x240 IPS display that allows seeing the voltage of IO pins, status and current draw at a glance.

See also

References

  1. 1 2 "Bus Pirate v3.6 universal serial interface". www.seeedstudio.com. July 2022.
  2. "Bus Pirate v4". www.seeedstudio.com. 12 August 2022.
  3. 1 2 "JTAG Support on Bus Pirate v5". Bus Pirate. 2024-12-01. Retrieved 2025-04-13.
  4. "Bus Pirate - v3.6a - TOL-12942 - SparkFun Electronics". www.sparkfun.com. Retrieved 2017-03-29.
  5. "The Bus Pirate v5 Saga". Bus Pirate. 2023-08-02. Retrieved 2025-04-15.
  6. "Bus Pirate v4 vs v3 comparison - DP". dangerousprototypes.com.
  7. 1 2 3 "Available Logic Analyzers | Bus Pirate 5 Firmware". firmware.buspirate.com. Retrieved 2025-04-14.
  8. "Bus Pirate v3.6 - DP". dangerousprototypes.com.
  9. "Sick of Beige compatible cases - DP". dangerousprototypes.com.
  10. "The Bus Pirate v5 Saga". Bus Pirate. 2023-08-02. Retrieved 2025-04-15.