💾 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

View Raw

More Information

⬅️ Previous capture (2022-03-01)

-=-=-=-=-=-=-

SparkFun TOL-09544 Bus Pirate

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

For UART Mode

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.

SparkFun's Blurb

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)