V4.x to v4.3 upgrade

From DP

Revision as of 16:38, 9 September 2016 by Mikeb (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation , search


Bus Pirate developers have been using an updated v4 bootloader for several months. It’s tested really well, so we packaged it in an installer.

Bootloader v4.3/v4.4 is a minor update of v4.1/4.2. It is not a required update. Any v4+ firmware will work with any v4+ bootloader. The upgrade should only be used with an existing v4 bootloader, if you still have v2 bootloader (with P24QP.exe) please upgrade to v4.1 first before upgrading to v4.3.

The new bootloader has these improvements:

  • Proper timeout - if you enter with a jumper you can remove it to go back to the firmware with re-plugging the USB cable. (does not work when you jump from the terminal with $).
  • Supports multiple connects - you can now press the check bootloader button, then download, without having to replug the Bus Pirate.
  • If the bootloader is active and you type into the terminal, the bootloader will display 'BL4+' so you know the Bus Pirate is functioning and in bootloader mode, not dead.

Download the upgrade package. Upgrade help is available here.


Bootloader versions: even and odd

Bootloader v4.3 is the version of the v4.3/v4.4 bootloader installed with an upgrader.

v4.3 is the same as v4.4 in the regular firmware releases. v4.4 is programmed with a PIC programmer like a PICkit2 or ICD2.

Sorry, no bootloader upgrader utility is available for Bus Pirate v1a. We did compile an updated bootloader for the v1a, but you'll need to download it in the latest project archive and program it with a PIC programmer


We're going to:

  • Connect to the Bus Pirate bootloader and upload the updater .HEX
  • Open a serial terminal and run the updater (type yes to confirm)
  • Connect to the new bootloader and upload a Bus Pirate firmware .HEX
Have a PIC programmer?
Just program the bootloader HEX included in the latest firmware download.
Program the whole memory range, including the config bits.

What you'll need:

  • Bus Pirate (v2go or v3) with a v4+ bootloader installed
  • ds30 Loader or pirate-loader upgrade application
  • Bootloader updater (BPv3-bootloader-upgrade-v4xtov4.3.hex)
  • v4+ firmware (bp4.0-fw-7.0.hex)

The upgrade package contains all the required files.

STEPS to upgrade

Step 1. Upload the updater


Follow the ds30 Loader or pirate-loader instructions to load BPv3-bootloader-upgrade-v4xtov4.3.hex. This usually involves entering the bootloader with a jumper or by typing $ into the terminal, then loading the file with your preferred application.

Step 2. Run the updater


The program we just put in the Bus Pirate will install the updated bootloader, but it has to be executed from a serial terminal.

Open a terminal to the Bus Pirate's serial port and press space for further instructions. The screen will display your current bootloader version and the version that will be installed. If everything looks right then type 'yes'. The upgrade will be installed in just a fraction of a second.

At the end of the upgrade the Bus Pirate will go north jump straight into the new bootloader. Just close the terminal without typing anything. You should be able to move to the next step without attaching a jumper to reenter the bootloader.

Step 3. Upload a Bus Pirate firmware


Now repeat the ds30 Loader or pirate-loader instructions to load a v4+ firmware, such as the recent v7.0 release (bp4.0-fw-7.0.hex included in this update).

Step 4. Verify the upgrade


Unplug the Bus Pirate, plug it in again. Open a serial terminal to the Bus Pirate and press i, the info should display the bootloader version as v4.3.

v4.3 is the version of the v4.3/v4.4 bootloader installed with an upgrader. It is the same as v4.4 in the project archive, but v4.4 is programmed with a PIC programmer like a PICkit2 or ICD2.