💾 Archived View for gemini.susa.net › bus_pirate.gmi captured on 2023-07-10 at 13:43:48. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-03-01)
-=-=-=-=-=-=-
Note: for simple UART, use a dedicated USB->UART interface if possible. It's a lot less fuss.
Appears to the OS as a serial port (e.g. /dev/ttyS0, COM3, etc.), and starts in HiZ mode which has all the pins configured as high impedance inputs. A command prompt and menu are available on the USB serial port to configure the Bus Pirate's mode of operation (e.g. UART, SPI, JTAG, etc.)
HiZ>i Bus Pirate v3.a Firmware v6.1 r1676 Bootloader v4.4 DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8) http://dangerousprototypes.com
The main menu looks like this
HiZ>? General Protocol interaction --------------------------------------------------------------------------- ? This help (0) List current macros =X/|X Converts X/reverse X (x) Macro x ~ Selftest [ Start # Reset the BP ] Stop $ Jump to bootloader { Start with read &/% Delay 1 us/ms } Stop a/A/@ AUXPIN (low/HI/READ) "abc" Send string b Set baudrate 123 c/C AUX assignment (aux/CS) 0x123 d/D Measure ADC (once/CONT.) 0b110 Send value f Measure frequency r Read g/S Generate PWM/Servo / CLK hi h Commandhistory \ CLK lo i Versioninfo/statusinfo ^ CLK tick l/L Bitorder (msb/LSB) - DAT hi m Change mode _ DAT lo o Set output type . DAT read p/P Pullup resistors (off/ON) ! Bit read s Script engine : Repeat e.g. r:10 v Show volts/states ; Bits to read/write e.g. 0x55;2 w/W PSU (off/ON) <x>/<x= >/<0> Usermacro x/assign x/list all
Use 'm' to change mode, and choose UART. You will be prompted for the baud/bits/parity/stop. Then type '(1)' to enter transparent bridge mode, whereby all comms on the Bus Pirate's UART pins will be relayed through the USB serial port and vice versa.
https://www.sparkfun.com/products/retired/9544
The Bus Pirate, created by Ian Lesnet and featured on Hack a Day, is a troubleshooting tool that communicates between a PC and any embedded device over most standard serial protocols, which include I2C, SPI, and asynchronous serial - all at voltages from 0-5.5VDC. This product eliminates a ton of early prototyping effort when working with new or unknown chips.
Working with the Bus Pirate is simple and effective - type commands into a terminal on your computer, those commands are interpreted by the Bus Pirate and sent via the proper protocol. The Pirate will also interpret data sent from your embedded device back to your computer terminal. A big bonus is the bootloader installed on the PIC, which allows you to easily update the firmware and change the functionality of the board.
The main components of the Bus Pirate are PIC24FJ64 processor and an FT232RL USB-to-Serial chip. A Mini-B USB connector is populated on the board, and when you plug it into your computer it will come up as a virtual COM port. The pinout of the 2x5 I/O header is documented here.
http://dangerousprototypes.com/docs/Bus_Pirate_I/O_Pin_Descriptions
Supported protocols: 1-Wire I2C SPI JTAG Asynchronous serial MIDI PC keyboard HD44780 LCD 2- and 3-wire libraries with bitwise pin control Scriptable binary bitbang, 1-Wire, I2C, SPI, and UART modes 0-5.5volt tolerant pins 0-6volt measurement probe 1Hz - 40MHz frequency measurement 1kHz - 4MHz pulse-width modulator, frequency generator On-board multi-voltage pull-up resistors On-board 3.3volt and 5volt power supplies with software reset Macros for common operations Bus traffic sniffers (SPI, I2C) A bootloader for easy firmware updates Transparent USB->serial mode 10Hz - 1MHz low-speed logic analyzer Scriptable from Perl, Python, etc. Translations (currently Spanish and Italian) Enumerates as a virtual COM port over USB Can operate as AVR STK v2 clone programmer Access to PIC24FJ64 ICSP programming port 2.10 x 1.20" (53 x 30mm)