Bus Pirate: Firmware updates with ds30 Loader

See the latest version in the documentation wiki.

In preparation for the v4.2 Bus Pirate firmware release, here’s an instruction guide for upgrading with the ds30 Loader GUI.

Firmware v4+ requires a new bootloader. The new bootloader is an adaptation of the open source ds30 Loader. The new bootloader v4+ uses a new upgrade application, the old P24qp.exe (P24qp.py) will not work with the new bootloader.

This guide describes how to use the ds30 Loader GUI application, it should work with Windows (.NET) and Linux and Mac (Mono). If you’d prefer, there’s also a Pirate-Loader console application for all platforms that doesn’t require .NET or Mono.

To upgrade with the ds30 Loader GUI, you’ll need:

Remember: The ds30 Loader is only compatible with bootloader v4+!

Step 1. Trigger the bootloader

There are two ways to trigger the bootloader for an upgrade.

The old way is to place a jumper between the PGC and PGD pins before plugging in the USB cable. Plug it in, the MODE LED will light indicating that the bootloader is active.


In firmware v4.1+ you can just type $ at the Hi-Z mode prompt. The Bus Pirate will reset into bootloader mode without a jumper. Remember to turn off your terminal to free the serial port before proceeding.

Step 2. Load the firmware

Install a v4+ firmware with the ds30 Loader application or the Pirate-Loader command line utility. Only firmware v4+ is compiled to work with the v4 bootloader.

  1. Start the ds30 Loader application, it works on Windows with .NET, and Linux and Mac with Mono (or you can try the Pirate-Loader command line utility). It will start preconfigured for the Bus Pirate based on the default settings in settings.xml.
  2. Set the correct serial (COM) port for your Bus Pirate. The available ports on your system may be auto-detected.
  3. Select ‘BPv3-Firmware-v4.x.hex’ with the ‘Hex-file’ dialog box.
  4. Press the ‘Download’ button to flash the new firmware to the Bus Pirate. The update should only take a few seconds.

The upgrade is complete.

Pirate-Loader console utility: The ds30 Loader GUI requires .NET or Mono, and doesn’t work for everyone on Linux or MaxOSX. Pirate-Loader is a simple command line utility for firmware upgrades on all platforms, and it doesn’t .NET or Mono.

V2go note: after the upgrade to bootloader v4, placing the upgrade jumper between PGC and GND will also activate the bootloader.

Step 3. Remove the jumper and reset the Bus Pirate

Now remove the jumper (if used), and reset the Bus Pirate by removing and attaching the USB cable. The firmware update is complete.

Connect to the Bus Pirate with a terminal program and press ‘i’ to verify the firmware version.

Join the Conversation


  1. There are two things that are soooo wrong with this.

    (1) Don’t put anything on Instructables. They’re horrible… keep demanding I give them my email address just to obtain full access to the content others post there.

    (2) Please don’t ask us to put the potentially insecure and known to be bloated Microsoft .NET framework on our machines; ditto Mono.

    Otherwise, thanks.


    1. Hi David – there’s also a command line utility (linked above) for Windows, Mac, Linux, and others, if you prefer to work without the GUI. I’m not sure I understand the instructables reference.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.