Bus Pirate
   HOME

TheInfoList



OR:

The Bus Pirate is a universal bus interface device designed for programming, debugging, and analyzing
microcontroller A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
s and other ICs. It was developed as an
open-source hardware Open-source hardware (OSH, OSHW) consists of physical artifact (software development), artifacts of technology designed and offered by the open-design movement. Both free and open-source software (FOSS) and open-source hardware are created by th ...
and software project.


Overview

The Bus Pirate was designed for debugging, prototyping, and analysing "new or unknown chips". 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 1-Wire is a Wired communication, wired half duplex, half-duplex Serial communication, serial Bus (computing), bus designed by Dallas Semiconductor that provides low-speed (16.3 kbit/s) data communication and IC power-supply pin, supply volt ...
. The Bus Pirate is capable of programming low-end microcontrollers, such as
Atmel AVR AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. They are 8-bit RISC single-chip microcontrollers based on a modified Harvard architecture. AVR was one of the first microcontroller ...
s and
Microchip An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
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. The Bus Pirate 5 was designed by Ian Lesnet o
Dangerous Prototypes
and Sjaak o
SMD Prutser


Feature list

The Bus Pirate v3.6 can communicate via the following serial
protocols Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technology ...
, with line levels of :
1-Wire 1-Wire is a Wired communication, wired half duplex, half-duplex Serial communication, serial Bus (computing), bus designed by Dallas Semiconductor that provides low-speed (16.3 kbit/s) data communication and IC power-supply pin, supply volt ...
,
I²C I2C (Inter-Integrated Circuit; pronounced as "" or ""), alternatively known as I2C and IIC, is a synchronous, multi-master/multi-slave, single-ended, serial communication bus invented in 1980 by Philips Semiconductors (now NXP Semiconduct ...
, SPI,
JTAG JTAG (named after the Joint Test Action Group which codified it) is an industry standard for verifying designs of and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in electronic design ...
,
asynchronous serial Asynchronous serial communication is a form of serial communication in which the communicating endpoints' interfaces are not continuously synchronized by a common clock signal. Synchronization (clock recovery) is done by data-embedded signal: ...
, and
MIDI Musical Instrument Digital Interface (; MIDI) is an American-Japanese technical standard that describes a communication protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, ...
. It can receive input from a
keyboard Keyboard may refer to: Text input * Keyboard, part of a typewriter * Computer keyboard ** Keyboard layout, the software control of computer keyboards and their mapping ** Keyboard technology, computer keyboard hardware and firmware Music * Mus ...
, and can output to a
Hitachi HD44780 LCD controller The Hitachi HD44780 LCD controller is an alphanumeric dot matrix liquid crystal display (LCD) controller developed by Hitachi in the 1980s. The character set of the controller includes ASCII characters, Japanese Kana characters, and some symbol ...
. Other features: *
UART A universal asynchronous receiver-transmitter (UART ) is a peripheral device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to ...
* 2- and 3-wire libraries with
bitwise In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral (considered as a bit string) at the level of its individual bits. It is a fast and simple action, basic to the higher-level arithmetic operat ...
pin control * measurement probe * frequency measurement *
pulse-width modulator Pulse-width modulation (PWM), also known as pulse-duration modulation (PDM) or pulse-length modulation (PLM), is any method of representing a signal as a rectangular wave with a varying duty cycle (and for some methods also a varying period ...
, frequency generator * On-board multi-voltage
pull-up resistor In electronic logic circuits, a pull-up resistor (PU) or pull-down resistor (PD) is a resistor used to ensure a known state for a signal. More specifically, a pull-up resistor or pull-down resistor ensures that a wire will have a high logic lev ...
s * On-board and
power supplies A power supply is an electrical device that supplies electric power to an electrical load. The main purpose of a power supply is to convert electric current from a source to the correct voltage, current, and frequency to power the load. As a r ...
with software reset * Macros for common operations * Bus traffic sniffers (SPI,
I²C I2C (Inter-Integrated Circuit; pronounced as "" or ""), alternatively known as I2C and IIC, is a synchronous, multi-master/multi-slave, single-ended, serial communication bus invented in 1980 by Philips Semiconductors (now NXP Semiconduct ...
) * A
bootloader A bootloader, also spelled as boot loader or called bootstrap loader, is a computer program that is responsible for booting a computer and booting an operating system. If it also provides an interactive menu with multiple boot choices then it's o ...
for easy
firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
updates * Transparent USB -> serial mode *
SUMP
compatible low-speed
logic analyzer A logic analyzer is an electronic instrument that captures and displays multiple logic signals from a digital system or digital circuit. A logic analyzer may convert the capture into timing diagrams, protocol decodes, state machine traces, op ...
* AVR STK500 v2 programmer clone, supported in AVRDude programmer software


Generational differences

The size of the
circuit board A printed circuit board (PCB), also called printed wiring board (PWB), is a laminated sandwich structure of conductive and insulating layers, each with a pattern of traces, planes and other features (similar to wires on a flat surface) ...
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. The Bus Pirate v3.6 is based on an
PIC24 PIC (usually pronounced as /pɪk/) is a family of microcontrollers made by Microchip Technology, derived from the PIC1640 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to ''Periphera ...
MCU ( SSOP), and communicates with a host computer with either a
USB Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
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. 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

*
Flashrom Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...


References


External links

*
More recent official website

Source code for Bus Pirate software
at
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
{{Firmware and booting Open hardware electronic devices Single-board computers