Jump to content

Bus Pirate

From Wikipedia, the free encyclopedia
Bus Pirate 5
Bus Pirate 5 PCB
DeveloperDangerous Prototypes
TypeDebugger
PredecessorBus Pirate v4.0
SuccessorBus Pirate 6
Websitebuspirate.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]

Overview

[edit]

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

[edit]

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

[edit]
Bus Pirate v3.6 Bus Pirate v4.0[6] Bus Pirate 5 Bus Pirate 5XL Bus Pirate 6
Development status Mature Discontinued Active Active Active
Dimensions (mm) 60×37 60×37 60x60 60x60 60x60
Microcontroller PIC24FJ64GA002 PIC24FJ256GB106 RP2040 RP2350A RP2350B
Clock Frequency (MHz) 32 Un­known 125 133 133
Program Flash (kB) 64 256 16,384 16,384 16,384
Storage Flash (MB) 128 128 128
SRAM (kB) 8 16 264 520 520
I/O pins 5 7 8 8 8
Main Header 5×2 pin header 6×2 pin header 10×1 pin header 10×1 pin header 10×1 pin header
Auxiliary Header 9×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 Analyser Low-speed Un­known Inputs Only[7] Inputs Only[7] Yes[7]
JTAG Limited Limited In Progress[3] No No

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

[edit]

References

[edit]
  1. ^ a b "Bus Pirate v3.6 universal serial interface". www.seeedstudio.com. July 2022.
  2. ^ "Bus Pirate v4". www.seeedstudio.com. 12 August 2022.
  3. ^ a b "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. ^ a b c "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.
[edit]