Bus Pirate: First Steps
Summary
Here the upgrade process for the Bus Pirate v3.6 will be showcased for [1.] Windows using the GUI application and for [2.] Linux using the console application.
This will use the tutorial provided by the manufacture and the github repository
Description
The Bus Pirate is an open source hacker multi-tool that talks to electronic stuff. It's got a bunch of features an intrepid hacker might need to prototype their next project. The Bus Pirate is used through a simple terminal interface.
For all commands visit the manufactures website
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.
Application Support
- AVRDude AVR programmer (AVRDude v5.8+, firmware v4 (any) or v5.9+)
- OpenOCD JTAG debugger
- flashrom bios/flash programmer
[1.] Windows
- Check Bus Pirate Version
- Connect via Putty (baud rate 115200) to the Bus Pirate and type
i
HiZ>i Bus Pirate v3b Firmware v5.10 (r559) Bootloader v4.4 DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8) http://dangerousprototypes.com
- Hardware v3b and v3.5 shipped with bootloader v4+, continue below
- Hardware v3a and v2go shipped with bootloader v2, please see the upgrade guide
- Enter Bus Pirate Bootloader mode (2 options)
- 1. Connect via Putty to the Bus Pirate and type
$
(! after this you have to close the application otherwise the firmware loader can not connect) - 2. Connect the two pins: PGD and PGC (see image: [1])
- Download: https://github.com/mikebdp2/Bus_Pirate.git
- Navigate to Bus_Pirate\BPv3-bootloader\ds30_Loader_GUI
- Run 'ds30 Loader GUI.exe'
- Click Connect / and select the firmware image (found under Bus_Pirate\package_latest\BPv3\bpv3_fw7.0_opt2_18092016.hex)
- Click Load
[2.] Linux
Communicate with the Bus Pirate
- Install minicom serial reader/writer
sudo apt install minicom
- Connect BusPirate to the computer
- Check on what port the Bus Pirate connected to:
dmesg | tail
j@laptop:~$ dmesg | tail [ 760.610683] ftdi_sio 1-1.2:1.0: device disconnected [ 765.780110] usb 1-1.2: new full-speed USB device number 7 using xhci_hcd [ 765.887218] usb 1-1.2: New USB device found, idVendor=0403, idProduct=6001 [ 765.887224] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 765.887227] usb 1-1.2: Product: FT232R USB UART [ 765.887230] usb 1-1.2: Manufacturer: FTDI [ 765.887233] usb 1-1.2: SerialNumber: A907NRH0 [ 765.890644] ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected [ 765.890768] usb 1-1.2: Detected FT232RL [ 765.891161] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
- Configure minicom
minicom -s
- select
Serial port setup
- set to following parameters:
+-----------------------------------------------------------------------+ | A - Serial Device : /dev/ttyUSB0 | | B - Lockfile Location : /var/lock | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 115200 8N1 | | F - Hardware Flow Control : No | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+
- Then
Save setup as dfl
- Connect to Bus Pirate
sudo minicom
- Press Enter and following should be displayed:
Welcome to minicom 2.7.1 OPTIONS: I18n Compiled on Aug 13 2017, 15:25:34. Port /dev/ttyUSB0, 16:23:34 Press CTRL-A Z for help on special keys HiZ>
If Hiz/>
is not being displayed the connection was not successful
- Get Bus Pirate version
- Enter:
i
HiZ>i Bus Pirate v3b Firmware v5.10 (r559) Bootloader v4.4 DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8) http://dangerousprototypes.com
Hardware v3b and v3.5 shipped with bootloader v4+, continue below
Hardware v3a and v2go shipped with bootloader v2, please see the upgrade guide
For all commands visit the manufactures website
Update Firmware
In general there are two options. You can:
- Build the source code yourself
- Or use a precompiled binary of the firmware: (recommended)
This tutorial is using the latest community package 7.1 for the BusPiratev3
The latest is posted in [here] (usually by the user called USBEprom)
IMPORTANT: In order to update to v7.1 you need to upgrade the bootloader to v4.5 (see forum discussion, otherwise $
to enter the bootloader will not work)
This tutorial is using Windows, if you have a Linux system please read "How to update with pirate-loader.rtf" in the downloaded folder
- Download firmware v7.1 for Bus Pirate v3.6
- Latest post by USBEprom: http://dangerousprototypes.com/forum/index.php?topic=8498.120
- Or if the site is unavailable use this copy File:BPv3-bootloaderv4xtov45-update-vb ENG-g2.7z @credits to USBEprom (Note: Read the the summary!)
- Update Bootloader
- Check the bootloader version, it needs to be 4.1+, otherwise follow the description in "How to use UPGRADE_TO_BL_v4.5.bat.rft"
- Change the COM-port to the correct one in UPGRADE_TO_BL_v4.5.bat
- Save changes
- Enter Bootloader (2 options):
- 1. connect via some serial terminal (eg. minicom) and enter
$
(! after this you have to close the application otherwise the firmware loader can not connect) recommended - 2. connect the two pins: PGD and PGC (see image: [2])
- 1. connect via some serial terminal (eg. minicom) and enter
- Run UPGRADE_TO_BL_v4.5.bat
- Ignore the error: Erasing page 42, a800...ERROR [50], Error updating firmware :(
- Unplug an re-plug the USB cable of the BusPirate v3
- Open the terminal and press
space
for further instructions - Type
yes
if prompted -> This will overwrite the old bootloader
- Upgrade the firmware
- Change COM-port to correct one in UPGRADE_FW_S_1-29092019.hex.bat
- Save changed file
- Run the file
- Ignore error: Erasing page 42, a800...ERROR [50] Error updating firmware :(
- Unplug and re-plug the BusPirate
- Done!
HiZ>i Bus Pirate v3.5 Community Firmware v7.1 - goo.gl/gCzQnW [HiZ 1-WIRE UART I2C SPI 2WIRE 3WIRE KEYB LCD PIC DIO] Bootloader v4.5 DEVID:0x0447 REVID:0x3046 (24FJ64GA00 2 B8) http://dangerousprototypes.com
Used Hardware
Bus Pirate v3.6 Universal serial interface