The Bus Pirate is a universal bus interface device designed for programming, debugging, and analyzing
microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programma ...
s and other
ICs
ICS may refer to:
Computing
* Image Cytometry Standard, a digital multidimensional image file format used in life sciences microscopy
* Industrial control system, computer systems and networks used to control industrial plants and infrastructu ...
. It was developed as an
open-source hardware
Open-source hardware (OSH) consists of physical 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 this open-source culture movement and a ...
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
A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early-day hard-copy terminal and ...
to interface with a device, via such hardware protocols as
SPI
SPI may refer to:
Organizations
* Indian Protection Service (''Serviço de Proteção ao Índio''), Brazil
* Shotmed Paper Industries, an Egyptian paper manufacturers
* Simulations Publications, Inc., a former US board game publisher
* Sony P ...
,
I2C and
1-Wire
1-Wire is a device communications bus system designed by Dallas Semiconductor Corp. that provides low-speed (16.3 kbit/s) data, signaling, and power over a single conductor.
1-Wire is similar in concept to I²C, but with lower data rates and ...
.
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. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families ...
s and
Microchip
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny M ...
PICs. Programming using more advanced protocols such as JTAG and SWD is possible, but is discouraged due to hardware speed limitations.
The Bus Pirate v3.6 is based on an
PIC24
PIC (usually pronounced as ''"pick"'') is a family of microcontrollers made by Microchip Technology, derived from the PIC1650"PICmicro Family Tree", PIC16F Seminar Presentation originally developed by General Instrument's Microelectronics ...
MCU
The Marvel Cinematic Universe (MCU) is an American media franchise and shared universe centered on a series of superhero films produced by Marvel Studios. The films are based on characters that appear in American comic books published by ...
(
SSOP), and communicates with a host computer with either a
USB
Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply ( interfacing) between computers, peripherals and other computers. A broa ...
interface with a
FT232RL (
SSOP) or an on-chip USB module.
The Bus Pirate was designed by Ian Lesnet of Dangerous Prototypes.
Feature list
The Bus Pirate 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 device communications bus system designed by Dallas Semiconductor Corp. that provides low-speed (16.3 kbit/s) data, signaling, and power over a single conductor.
1-Wire is similar in concept to I²C, but with lower data rates and ...
,
I²C
I2C (Inter-Integrated Circuit, ), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (master/slave), packet switched, single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is w ...
,
SPI
SPI may refer to:
Organizations
* Indian Protection Service (''Serviço de Proteção ao Índio''), Brazil
* Shotmed Paper Industries, an Egyptian paper manufacturers
* Simulations Publications, Inc., a former US board game publisher
* Sony P ...
,
JTAG
JTAG (named after the Joint Test Action Group which codified it) is an industry standard for verifying designs and testing printed circuit boards after manufacture.
JTAG implements standards for on-chip instrumentation in electronic design autom ...
,
asynchronous serial
Asynchrony is the state of not being in synchronization.
Asynchrony or asynchronous may refer to:
Electronics and computing
* Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal wit ...
, and
MIDI
MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, an ...
.
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
* Musi ...
, and can output to a
Hitachi HD44780 LCD controller
() is a Japanese multinational corporation, multinational Conglomerate (company), conglomerate corporation headquartered in Chiyoda, Tokyo, Japan. It is the parent company of the Hitachi Group (''Hitachi Gurūpu'') and had formed part of the Ni ...
.
Other features:
*
UART
A universal asynchronous receiver-transmitter (UART ) is a computer hardware 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 signific ...
* 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 oper ...
pin control
* measurement probe
* frequency measurement
*
pulse-width modulator, 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. It is typically used in combination with components such as switches and transistors, which physically in ...
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, ), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (master/slave), packet switched, single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is w ...
)
* A
bootloader
A bootloader, also spelled as boot loader or called boot manager and bootstrap loader, is a computer program that is responsible for booting a computer.
When a computer is turned off, its softwareincluding operating systems, application code, an ...
for easy
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
updates
* Transparent USB -> serial mode
*
SUMPcompatible low-speed
logic analyzer
A logic analyzer is an electronic instrument that captures and displays multiple signals from a digital system or digital circuit. A logic analyzer may convert the captured data into timing diagrams, protocol decodes, state machine traces, asse ...
*
AVR STK500 v2 programmer clone, supported in
AVRDude programmer software
Generational differences
v3.x models uses a 5×2 header for
ribbon cable
A ribbon cable (also known as multi-wire planar cable) is a cable with many conducting wires running parallel to each other on the same flat plane. As a result, the cable is wide and flat. Its name comes from its resemblance to a piece of ribb ...
, whereas the v4.x models uses a 6×2 header.
The size of the
circuit board
A printed circuit board (PCB; also printed wiring board or PWB) is a medium used in electrical and electronic engineering to connect electronic components to one another in a controlled manner. It takes the form of a laminated sandwich stru ...
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.
See also
*
Flashrom
Flash memory is an electronic 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 the NOR and NAND logic gates. Both use t ...
References
External links
*
Source code for Bus Pirate softwareat
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
{{Firmware and booting
Open hardware electronic devices
Single-board computers