Bus Pirate

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description Template:Infobox information appliance

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

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.6 Bus Pirate v4.0[6] Bus Pirate 5 Bus Pirate 5XL Bus Pirate 6
Template:Rh2 scope="row" | Development status Mature Discontinued Active Active Active
Template:Rh2 scope="row" | Dimensions (mm)Script error: No such module "Check for unknown parameters". 60×37 60×37 60x60 60x60 60x60
Template:Rh2 scope="row" | Microcontroller PIC24FJ64GA002 PIC24FJ256GB106 RP2040 RP2350A RP2350B
Template:Rh2 scope="row" | Clock Frequency (MHz)Script error: No such module "Check for unknown parameters". 32 Un­known 125 133 133
Template:Rh2 scope="row" | Program Flash (kB)Script error: No such module "Check for unknown parameters". 64 256 16,384 16,384 16,384
Template:Rh2 scope="row" | Storage Flash (MB)Script error: No such module "Check for unknown parameters". 128 128 128
Template:Rh2 scope="row" | SRAM (kB)Script error: No such module "Check for unknown parameters". 8 16 264 520 520
Template:Rh2 scope="row" | I/O pins 5 7 8 8 8
Template:Rh2 scope="row" | Main Header 5×2 pin header 6×2 pin header 10×1 pin header 10×1 pin header 10×1 pin header
Template:Rh2 scope="row" | Auxiliary Header 9×1 pin header 9×1 pin header 9×1 pin header
Template:Rh2 scope="row" | USB Interface FTDI FT232RL PIC24-integrated RP2040-integrated RP2350-integrated RP2350-integrated
Template:Rh2 scope="row" | USB Connector USB Mini-B USB Mini-B USB-C USB-C USB-C
Template:Rh2 scope="row" |Logic Analyser Low-speed Un­known Inputs Only[7] Inputs Only[7] Yes[7]
Template:Rh2 scope="row" | 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

References

<templatestyles src="Reflist/styles.css" />

  1. a b Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. a b Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. a b c Script error: No such module "citation/CS1".
  8. Script error: No such module "citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

External links

Template:Firmware and booting