Bus Pirate
   HOME

TheInfoList



OR:

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 programmable i ...
s and other ICs. 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 to interface with a device, via such hardware protocols as SPI, 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 Reduced instruction set computer, RISC single-chip microcontrollers. AVR was one of the f ...
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 MCU ( 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 broad v ...
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 wide ...
, SPI,
JTAG JTAG (named after the Joint Test Action Group which codified it) is an Technical standard, industry standard for verifying designs and testing printed circuit boards after manufacture. JTAG implements standards for on-chip instrumentation in ele ...
,
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, and re ...
. 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 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 Nissan ''zaibatsu'' and later DKB Group and Fuyo G ...
. 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 significan ...
* 2- and 3-wire libraries with bitwise 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 int ...
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 res ...
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 wide ...
) * 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 h ...
updates * Transparent USB -> serial mode *
SUMP
compatible 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, a ...
* 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 engineering, electrical and electronic engineering to connect electronic components to one another in a controlled manner. It takes the form of a L ...
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


References


External links

*
Source code for Bus Pirate software
at
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, continuous ...
{{Firmware and booting Open hardware electronic devices Single-board computers