How-to: Bus Pirate bootloader v4 upgrade

in Bus Pirate by Ian | 85 comments

See the latest version in the documentation wiki.

Bus Pirate firmware v4+ requires a bootloader upgrade. The upgrade frees space for more features, eliminates verify errors in the last page of memory, and fixes the bootloader speed limitation on some PICs. The new bootloader is available to everyone through an upgrader firmware that is loaded using the existing bootloader.

Thanks to the developers and testers who contributed to the bootloader update. You caught two major bugs prior to wider user trials. We’re now cautiously optimistic that the upgrade will go smoothly.

We’d like to invite most Bus Pirate v2go and v3 users to upgrade. If you’re in the middle of a project, don’t upgrade yet, wait and see how it goes. The upgrade has gone smoothly for twenty lots of users, and we tested the latest updater on every version of the Bus Pirate chip and hardware prior to release.

A v1a upgrade will follow if the v2go and v3 deployment goes smoothly. No further support is planned for v0a or v2a hardware. Upgrade instructions follow.

Overview

What we’re going to do is use the existing v2 bootloader and P24QP.exe application (or Python script) to upload a bootloader upgrader. The upgrader will erase and reprogram the correct parts of the PIC flash memory with the new bootloader. After the new bootloader is programmed, we’ll erase the installer and old bootloader by uploading a v4 Bus Pirate firmware.

***STOP*** DO NOT UPLOAD A V4 FIRMWARE TO A V2 BOOTLOADER WITH P24QP.PY!!! The Python utility erases the entire chip, including the ‘configuration words’ that determine how the pic behaves on start-up. The v4 firmware does not contain replacement configuration words, so the Bus Pirate won’t start from the correct clock after programming a v4 firmware to a v2 bootloader with p24qp.py. Only Upload v2 firmware or BPv3-v2blupdaterVa3-v4.1.hex with P24QP.PY.

The Windows utility does not have this issue – it preserves the config words on erase – so accidental v4 uploads don’t damage the configuration words.

Despite this warning, some will still be tempted – don’t do it, it’s the only significant source of upgrade failures. Read all the steps here first, before you upgrade. Heed the warnings in the firmware archives – please don’t try to upload v4 firmware to a Bus Pirate with a v2 bootloader.

Step 1. Download the upgrade package for v2go & v3

The upgrade package (v4.1-va3) includes:

  • Bootloader updater (BPv3-v2blupdaterVa3-v4.1.hex)
  • V4 Bus Pirate firmware compatible with the new bootloader (BPv3-firmware-v4.1.hex)
  • Application for v2 bootloader (P24QP.exe or P24qp.py)
  • Application for v4 bootloader (ds30Loader.exe)

Note that Bus Pirate v2go and v3 now use the same bootloader and firmware. Do not use this upgrade with v2a, v1a, or va.

Step 2. Load the bootloader upgrader

Upload ‘ BPv3-v2blupdaterva3-v4.1.hex’ to the PIC with the existing v2 bootloader. The v2 bootloader is programmed in every Bus Pirate ever sold by Seeed, Fundamental Logic, Sparkfun, and eBay sellers. Use your normal upgrade procedure for the v2 bootloader (Windows, Linux, OSX).

Step 3. Run the updater


Run the upgrader to program the new bootloader to the correct parts of the PIC flash memory.

  1. Remove any jumper between the PGD and PGC pins used for the previous step and plug in the Bus Pirate.
  2. Open a terminal and press <enter> to see the updater greeting. Type ‘yes’ to start the upgrade, any other key cancels and repeats the updater greeting.
  3. The update will only take a fraction of a second, but be sure the Bus Pirate doesn’t lose power or it could be bricked.

The upgrader will erase and write a few memory locations. When the update is complete, the MODE LED will blink and the upgrader will prompt you to upload a v4+ firmware with ds30 Loader.

Step 4. Upload v4+ firmware with ds30 Loader


To complete the upgrade, 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. Unplug the Bus Pirate (if connected), place a jumper between the PGC and PGD pins, and plug it in. The MODE LED should be on.
  2. 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.
  3. Set the correct serial (COM) port for your Bus Pirate. The available ports on your system may be auto-detected.
  4. Select ‘BPv3-Firmware-v4.1.hex’ with the ‘Hex-file’ dialog box.
  5. Press the ‘Download’ button to flash the new firmware to the Bus Pirate. The update should only take a few seconds.
  6. When the update is complete, remove the programming jumper and reset the Bus Pirate (unplug and plug it in again).

The upgrade is complete. For future firmware upgrades, repeat this section.

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 that doesn’t need .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 5. Verify the upgrade

Connect with a terminal and print the information menu (i). Firmware v4+ reports the bootloader version.  Bootloaders installed with the upgrade utility will report v4.1. Bootloaders installed from the v4.1 firmware download (using a PIC programmer) will report v4.2. There’s no functional difference, it’s just a way to better handle support requests.

Please let us know if you attempted the upgrade and how it went. It’s really important to know if the upgrade is successful before we expand it to all users.

This entry was posted in Bus Pirate and tagged , .

Comments

  1. pppd says:

    I have successfully upgraded to v4.1 but only after running it with VMWare Fusion under Windows XP. I have tried with Mono, but I had no luck at all. Maybe it’s system specific, but here’s what was wrong:

    1) It does not load settings file. This was fixed once I noticed it tries to load v4firmware\settings.xml where “\” is not a separator in MacOSX. I have renamed the settings.xml to v4firmware\settings.xml and then I got it loaded.
    2) You have to manually enter the port name as it does not list it, it’s okay but when I type the correct for my system: /dev/tty.usbserial-A600aRXE and then hit the “Check for BL” I got the following result:
    > Searching for bl. receive timeout
    > Found unknown device id(-1) fw ver. 9.9.9
    3) Once this happened I decided to give up with Mono/MacOSX. I hope there will be a simple python/perl/php script to upload using console and no fancy GUI. If the protocol is simple as you mentioned somewhere maybe I should give it a go and create one myself.

    I also have a question about the ds30 loader itself: Once you click “Check for bs” you will have to reconnect the BP as it won’t be discovered again. Is it supposed to be this way?

  2. Ian says:

    Yes, the ds30 Loader only gives you one chance to connect to the bootloader. If you click check for BL then you have to reset the bus pirate before you can program or check for the bootloader again.

    If you’d like a dump and explanation of the protocol, let’s start a topic in the forum. It would be great to have a python script to update the firmware.

  3. 0x00F says:

    Followed the instructions and successfully updated without any issues!

    17:52:18.750> * Syntax error, type ? for help
    17:52:21.875> HiZ>i
    17:52:21.875> Bus Pirate v3
    17:52:21.875> Firmware v4.1 Bootloader v4.1
    17:52:21.875> DEVID:0x0447 REVID:0x3003 (A3)
    17:52:21.875> http://dangerousprototypes.com
    HiZ>

  4. All done, no problems encountered :-)

  5. Gareth says:

    Worked fine for me without any problems, thanks!

    v3.6 -> v4.1

  6. Brett says:

    Another one successful. Only difference I noted was when I loaded the HEX file in the DS30 app that it showed 21503 words not 21504 as the image above shows

    HiZ>i
    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3003 (A3)
    http://dangerousprototypes.com

  7. ninjabong says:

    Another successful update, though like the first poster I just had so many probs trying to get the ds30 loader/mono working in OSX I said screw it, and went to try it in Parallels Desktop… but suddenly Parallels was unhappy with my VM’s image so let it sit until I got home and wrassled the FTDI driver + Win7 into working (only had to manually install the driver 3 times + 3 reboots before it worked!)

  8. a.todorov says:

    (MSVista32/P24QP@9600/DS30loader@115200)
    BPv3 successful upgrade to v4.1:

    * Syntax error, type ? for help
    HiZ>i
    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3043 (B5)
    http://dangerousprototypes.com
    HiZ>

  9. Newton says:

    Upgrade done succesfull.
    I have only one problem. When i try change firmware to STK500 AVR Programmer (file v3-STK500v2-v0a-hiz.hex), DS30 Loader says “The hex-file contains code that will overwrite the bootloader
    “. Do you prepare upgrade for STK500 AVR Programmer firmware?
    Thanks

  10. c0ffee says:

    Just a quick note on Step 3.

    Make sure that when you connect to the Bus Pirate after upgrading the bootloader you set your serial speed to 115200 bps. I initially connected at 9600 bps witch resulted in garbage in the terminal, after hitting enter, and made me freak out for a second.

  11. Robert says:

    Another successful upgrade (SPE BPv3).

    One quick question (probably not the right place but oh well!): with regards to the buspirate and avrdude. Ive built avrdude 5.9 for windows, and the BPv3 programs my atmega chip fine. But its rather slow, as in 205s for 6370bytes program!

    Im sure its probably something simple. Im using the extended switches for avrdude “-x speed=7″ but for some reason changing this number doesnt make this faster! Has any one encountered this? Also, it takes a while for it to go from the “Detecting BusPirate…” to “avrdude: AVR device initialized and ready to accept instructions” – is there a long timeout in the BP part of avrdude or is this a limitation of the BP?

    Meanwhile ill give the stk500v2 emulation a go, but would prefer the above route (so i can have a bus pirate and a programmer handy!)

  12. Shadyman says:

    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3003 (A3)
    http://dangerousprototypes.com

    Worked fine under Virtualbox Non-OSS on Linux

  13. SwissMac says:

    Hi
    installed successfully on two BP @v3
    Question I installed the default bootloader, should I upgrade to the 4.2 BL. if so how?

    great work
    SM

    • ian says:

      thanks! v4.2 is just a separate version number for the bootloader that’s included in the firmware archive instead of the upgrade utility. This way we can provide better support. There’s no technical difference, one is an upgrade, the other is programmed with a PIC programmer.

  14. Ton says:

    Successful upload of boot-loader v4 into my v2go

    however, when I launch ‘ds30 Loader Gui.exe’, I get the following error message: The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.’

    I’m on Windows XP SP3. Any Ideas?

  15. Niels says:

    no problems upgrading the v2.go on Windows Vista:

    HiZ>i
    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3043 (B5)
    http://dangerousprototypes.com

  16. Rfx says:

    Hi,

    Upgraded my bus pirate v3 to bootload/firmware v4 successfully !

    Keep up great job !

  17. Rsimonton says:

    The boot loader update is returning a ton of errors in the errors.txt file. Trying to update a BPv3a. Working with Win XP. Tried 115000 and 9600 and there was no difference in the number of errors. As I recall the errors start at byte 4 and continue all the way. Sorry to be so vague but I am not near my hardware. I pulled the jumper and tried to connect with a terminal, just on the odd chance, but I could not make a connection. The firmware is currently 2.4 as recall.

    Thanks for any help

  18. Walt says:

    Upgraded BPv3a from BLv2/v3.6 to BLv4.1/v4.1 successfully (1st try) on WinXP Pro with .NET according to instructions.

    Thank you for a great device and your development/support efforts!

  19. teco says:

    Upgraded my bus pirate v3 to bootloader and firmware v4 successfully !

    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3043 (B5)
    http://dangerousprototypes.com

    Well done soldiers!

  20. tayken says:

    Upgraded BusPirate v2go from 3.6 to 4.1 succesfully!

    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3043 (B5)
    http://dangerousprototypes.com

  21. Neil H. says:

    Upgraded a V2go purchased from Seed (initially came with bootloader only) to 4.1 following these instructions with no problems.

    Using it to test a GPS receiver module now in UART mode, reading NMEA-0183 sentences right now.

    Thanks!

  22. Chris Whiteford says:

    Just upgraded my V3a that showed up from seeed.

    Went smooth and was easy. Nice job.

    chris

  23. Don Brocha says:

    It went well except for the Mode led. It never came on or blinked during the entire process contrary to the instructions here on the web.

    After I convinced myself that the normal firmware wasn’t running I assumed the V2 bootloader was running and went ahead with the procedure and everything turned out fine.

    • Ian says:

      Hi Don,

      I’m sorry about the LED. You might try touching a soldering iron to the edges of the MODE LED. There was a problem with dirty contacts in a reel of LEDs, and they didn’t reflow correctly. Most have been fixed with a quick resoldering.

  24. Massimo says:

    Hi. My Bus Pirate just arrived today and upgraded successfully :D
    Only to rename it I had to use the official ftdi utility (M_Prog) on windows since PirateRename not worked for me on Leopard PPC (I recompiled it since the precompiled version available on google code is intel only), not a big problem anyway

  25. Rubi says:

    Hi

    After realising I had to erase the pic before programming the upgrade bootloader, the rest went smoothly. Till now i never had to erase the pic to get a working firmware.Thank you for the detailed instructions.

    Cheers
    Rubi

  26. Rubi says:

    One ds30loader bug I found, after check for bl I had to unplug and then plug the buspirate in again, else download is impossible.

    Cheers
    Rubi

  27. Garry says:

    Had small issues, didnt read the documentation properly. After erasing the chip and reading (yes reading) the instructions, updated both the bootload and firmware the the latest versions

  28. haz2 says:

    hello all…upgrade went smooth…so did self test!

    i
    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3043 (B5)
    http://dangerousprototypes.com
    HiZ>~
    Disconnect any devices
    Connect (Vpu to +5V) and (ADC to +3.3V)
    Press a key to start
    Ctrl
    AUX OK
    MODE LED OK
    PULLUP H OK
    PULLUP L OK
    VREG OK
    ADC and supply
    5V(5.02) OK
    VPU(4.99) OK
    3.3V(3.33) OK
    ADC(3.26) OK
    Bus high
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    Bus Hi-Z 0
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    Bus Hi-Z 1
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    MODE and VREG LEDs should be on! Any key exits.

  29. Jeff G says:

    Upgrade went perfectly! I have a BPv3, with 3.1 firmware. I first upgraded to firmware v3.6, and after that succeeded I then followed this tutorial and got this:

    i
    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3003 (A3)
    http://dangerousprototypes.com
    HiZ>~
    Disconnect any devices
    Connect (Vpu to +5V) and (ADC to +3.3V)
    Press a key to start
    Ctrl
    AUX OK
    MODE LED OK
    PULLUP H OK
    PULLUP L OK
    VREG OK
    ADC and supply
    5V(4.92) OK
    VPU(4.93) OK
    3.3V(3.28) OK
    ADC(3.28) OK
    Bus high
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    Bus Hi-Z 0
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    Bus Hi-Z 1
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    MODE and VREG LEDs should be on! Any key exits.
    HiZ>

  30. Michal says:

    Hi, what’s the status of v1a support? Would be nice to have it ;-)

    (indeed, it’s not worth it if I’m the only user of v1a hardware…)

    • Ian says:

      There is no upgrader, but you can program the v4 bootloader for v1a from the latest firmware release with a PIC programmer.

      You can also load the v4v bootloader for v1a without a programmer. Just load the bootloader file using the p24qp.py utility, then upload the v4 firmware with the ds30 Loader or Pirate-Loader console application as described here.

      You can also or the p24qp.exe utility to upload the v4 bootloader if you uncheck the ‘protect config fuses’ box before you erase. Be sure you don’t loose power during this operation or you loose the config fuses and the Bus Pirate will be ‘bricked’.

  31. chipres says:

    failed for me.
    Initiating download…
    Searching for bl . . . . . . . . . . . . . . . . . . . . timed out
    Tx 20 bytes / Rx 0 bytes / 5.2s

    • Ian says:

      Hi chipres, sorry about the upgrade issue.

      What Bus Pirate are you using, and when did it ship? Did step 3 complete successfully? Can you still open a terminal to the upgrader utility? Are you using a jumper over the programming pins, and does the MODE LED light in step 4?

  32. chipres says:

    OK finally working
    HiZ>i
    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3043 (B5)
    http://dangerousprototypes.com

  33. Simon says:

    HiZ>i
    Bus Pirate v3
    Firmware v4.1 Bootloader v4.1
    DEVID:0x0447 REVID:0x3043 (B5)
    http://dangerousprototypes.com
    HiZ>~
    Disconnect any devices
    Connect (Vpu to +5V) and (ADC to +3.3V)
    Press a key to start
    Ctrl
    AUX OK
    MODE LED OK
    PULLUP H OK
    PULLUP L OK
    VREG OK
    ADC and supply
    5V(4.98) OK
    VPU(4.98) OK
    3.3V(3.29) OK
    ADC(3.29) OK
    Bus high
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    Bus Hi-Z 0
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    Bus Hi-Z 1
    MOSI OK
    CLK OK
    MISO OK
    CS OK
    MODE and VREG LEDs should be on! Any key exits.

    :)

  34. PaddyM says:

    Upgrade to 4.1 firmware/ 4.1 bootloader was flawless. Thanks.
    Firmware 4.2 upgrade went fine. Thanks.

    At the risk of sounding thicker-than-usual …
    Is the bootloader upgrade 4.1-> 4.2 similar to the bootloader v2 -> v4.1 upgrade ?
    Thanks.

    • Ian says:

      v4.2 is just a separate version number for the bootloader that’s included in the firmware archive instead of the upgrade utility. This way we can provide better support. There’s no technical difference, one is an upgrade, the other is programmed with a PIC programmer.

  35. PaddyM says:

    Thanks for the prompt and clear reply.

  36. dude says:

    another successful upgrade

  37. Mikko says:

    Update successful.

    Not a straightforward though. I spent quite some time figuring out why I could not establish a connection to the device by the P24QP.exe.

    Some recommendations for this page:

    – Step 1: add explanation that 9600 is used as the speed even though you otherwise would be using something faster.

    – Step 1: Please double check that the jumper BGC-BGD in instructed correctly. (Actually I could not find it there, but some of the questions in this page + the FAQ item here (http://dangerousprototypes.com/forum/index.php?topic=256.msg1988) revealed that it should be done.

    – Step 1: I did not spot the instruction to erase the device first.

    – Step 1: Please add a screenshot or clarification about the verification errors between 0x400 and 0xC00.

    – All together even though the instructions are guiding through, I lost trust on them being accurate and having all the steps. Please walk them through once more and double check that everything is properly in place.

    – Consider adding the overview from the FAQ to this page as well.

    Quote from the FAQ (by ian) :

    —:<—-
    make sure you follow all these steps:

    – unplug the buspirate
    – place jumper on pgc-pgd pins, plug the buspirate in
    – load the upgrader to the buspirate using P24Q loader (old program)
    – unplug the buspirate
    – remove the jumper
    – plug the buspirate in
    – connect using terminal program
    – type yes
    – wait for "success!", the mode led should blink (make sure the mode led works)
    – unplug the buspirate
    – place jumper (pgc-pgd)
    – use the new program (ds30loader or the commandline util) to upload a v4+ buspirate firmware
    – unplug buspirate
    – remove the jumper
    – plug buspirate in
    – you're now at v4+

    —:<—-

    cheers
    -mikko

  38. Andy says:

    This process failed miserably for me and bricked my bus pirate. After some experimentation and forum posting, I discovered that this is due to the linux version of P24qp.py, which can easily overwrite the whole of the memory on the chip on account of lacking the “Preserve Flash Configuration Words” functionality of the Windows version.

    If you wouldn’t mind noting that in the above instructions, perhaps it could save other Linux users from the same fate and the necessity of a $30 – $150 PIC programmer to extricate themselves.

    I look forward to finally repairing my bus pirate and using this awesome board.

  39. Andy says:

    I should note that it DID happen because I missed a step, so I am not entirely without fault, but it would be nice if it wasn’t so easy to brick it one way versus another or at the very least to have caveats regarding it.

  40. Cliff Miller says:

    Upgrade worked for me – BPv3.

  41. Chris Uken says:

    I got my bus pirate a couple days ago and got it connected to my Windows XP machine no problems(my machine recognized it and it ran a successful self test in the terminal program). But then looking at the Bus Pirate 101 tutorial page I saw that there was a firmware update and wasn’t able to update to the latest firmware without updating the bootloader first.

    Well I navigated the website incorrectly. I didn’t get to this page on the firmware upgrade until after I had used the python utility to attempt to erase and reprogram my bus pirate. Well it wouldn’t reconnect (which makes perfect sense since it has no bootloader). So I went and looked online for a way to reprogram it using the ICSP header and found on instructables a JDM2 based programmer. I chose the business card one which seemed to use the least number of parts. But after constructing the programmer I found out that it isn’t particularly designed for laptops or the 3.3V style PICs. I have to use the programmer on my linux desktop (found picprogs which might be able to get to work). I am wondering if the JDM2 can be used with the 24f by powering the Bus Pirate using USB and leaving the MCLR pin unplugged like “waseem” says on the ICD2 forum: http://www.edaboard.com/ftopic176893-60.html
    It is claimed on that forum that the 24f is 5v tolerant for the programming pins but should be self powered.
    If that seems like a really bad idea, can I modify the JDM2 to supply the correct programming voltage? Or should I start over a buy/make a different programmer? Thanks for any help on this.

    • Ian says:

      Hi Chris,

      I’m sorry about the firmware confusion.

      The PIC 24F needs a special sequence to be clocked into the PGC/PGD pins while MCLR is low, then it must be brought high to enter ICSP mode. I don;t think a JDM2 can do that, especially if the MCLR is left disconnected. I suppose it really depends on if any of the JDM2 apps support the 24F.

      Some pins on the 24F are 5volt tolerant, but not the programming pins on the Bus Pirate. We used them all up for the 5volt tolerant I/O interface.

      Probably the cheapest/easiest programmer is the PICKit2 (~$30, clones on eBay too). If it came from Seeed or Adafruit you can send it to me and I’ll reflash the bootloader for you too.

  42. Chris Uken says:

    Ian,

    Thanks for your quick reply and so far as confusion goes I am already naturally confused. So my mistake with the bootloader is no big deal. I just want to get my Bus Pirate working since it seems like such an interesting tool/toy/fun project. My efforts to find a way to reprogram it myself with a JDM2 quickly(quick run to the Fry’s and Radio Shack) and cheaply (had most of the parts) didn’t pan out for the Bus Pirate. But now I have a programmer that can program chips I couldn’t program yesterday. So not a huge loss at all. Just a different direction than I originally thought I was going in. So thanks for having such a worthwhile project that I would want to go through all that effort to get it working.
    I would like to take you up on your offer of reprogramming my Bus Pirate since I did order it on Seeed. Not sure where you want me to send it (since Seeed appparently ships from Hong Kong). But if you email me the particulars I can surely mail it wherever makes the most sense for you.
    Also I intend at some point to buy/make a more capable programmer for PICs as PICs seem to be a really good value so far as performance is concerned. But I am not sure if the PICkit 2 or an ICD2 clone is a better choice. They both seem very well designed. Do you have a preference or a recommendation?
    And thanks again for your help.

  43. Tim Jefford says:

    Box fresh V3a – smoothest firmware upgrade ever :)

  44. Richard F. says:

    Another successful upgrade to 4.1
    Thank you for the clear instructions and software all in one ZIP.

  45. Rogan Dawes says:

    I tried the bootloader upgrade for my v2go that I got a few months ago. I didn’t actually test to make sure it was working before I did the upgrade.

    I got to the point of typing “yes” to perform the upgrade, but now I can’t get any further. When I try to use the DS30 gui to upload the new firmware, the tool says “Nothing to do”. It CAN detect the bootloader:

    Found PIC24FJ64GA002 fw ver. 1.0.2

    But anything other than that just reports “Nothing to do”. I have tried unplugging and replugging the BP between detecting the bootloader and uploading the new FW. No change. The jumper is connected between PGC and PGD as described.

    I do have access to a PicKit2, and can program the device from scratch if I need to. But I haven’t been able to find any guidance on which files to actually use, that would include the bootloader as well as the firmware in a single part. Or should I simply just load the bootloader again?

    • Ian says:

      Hi Rogan – That sounds like ds30Loader doesn’t think there’s anything in the loaded HEX file to send to the Bus Pirate. It might help to manually navigate to the BPv3-Firmware-v4.1.hex and load it.

      To program with the PICkit2, download the latest firmware archive and first program the -bootloader HEX, and then upload the -firmware HEX with pirate-loader or ds30 Loader. I can also probably give you a complete .HEX if you ping me in the forum.

      • Rogan Dawes says:

        Hi Ian,

        Thanks for your quick response. I now have a PicKit2, but am not being successful writing to the BP v2go.

        I have made up a little adapter to switch the PGC and PGD pins around, as described in your v3 document. If I connect the PicKit2 to the BP, and power the BP via USB as well, the programming app recognizes the PIC correctly.

        However, attempting to flash the BPv3-v2blupdaterVa3-v4.1.hex file to the BP fails, with the following error:

        “Programming failed at Program Memory address 0x000000″

        Any idea what else I can try?

        Thanks!

      • Ian says:

        Hi Rogan – we should move this to the forum because it’s getting hard to reply here… The updater.hex firmware is only for the bootloader. Please try flashing the -bootloader.hex from a recent firmware download archive, and then use the ds30loader to upload a recent firmware.

  46. Zotty says:

    Just successfully upgraded a clean (as in unused new from Seeed) BP with firmware v2.4 to firmware and bootloader v4.1

    Now let’s see if I can do some SPI’ing with it :)

  47. Paul says:

    Just purchased my first Bus Pirate and successfully upgraded the bootloader and firmware to v4.1. Looks a very useful product. Now let’s see what we can do with it :-)

  48. Boomer says:

    Hello – I have a v2.go I cannot get the updater to run.
    When I load the bootloader upgrader then go to a terminal, all it spits out is garbage. Ive tried 10 times now, erasing each time, slowly making sure i follow every step, and get the same result each time. Same garbage on the screen!

    Any help would be appreciated. Or a link to old firmware so I at least use this one.

    Thanks.

  49. ben says:

    Fired up the v2go for the first time, downloaded & installed the drivers (vcp 07/12/2010,2.08.02), however when I run Bootloader Upgrader (PIC24F Quick Programmer), and set it to the correct com port @ 115200, it says can’t connect!

    Just as a check, if I close the app and run hyperterm, the communication looks fine. Doing an ‘I’, the v2go reports “Hack a Day Bus Pirate v2g0, http://www.buspirate.com Firmware v0g).

    What am I doing wrong?

  50. ben says:

    Everything looks good now! I didn’t have the jumper on pins 1/2 (although on a fresh board, i didn’t think any firmware was loaded!) and set the programming baud to 9600 (not the 115200 that’s used in hyperterm).

    Regarding the macro, the wiki shows i2c, but is it possible to have a text file that has a series of commands (spi write, spi write, spi read, spi write, etc…), that bus pirate just executes line by line?

    • Ian says:

      Hi Ben – there was a script utility posted on the blog last week. Also, the Bus Pirate has a binary access mode that programs can use to control it.

  51. Dave says:

    what should I do if I accidentaly used version 5.7 with bootloader version 2??

    I was not aware of this link.

    I used this one:

    http://dangerousprototypes.com/2009/08/06/bus-pirate-firmware-upgrades-on-linux-osx/#comment-4436

  52. Garrett says:

    Just to clarify, step THREE is the ONLY step done with a python script, correct???

    It says to follow the directions correctly and then it never says exactly when you use the dreaded python script :D

    • Garrett says:

      I just realized you can use EITHER the python script or the other command line one. If this is the case, why even mention the now defunct python script???

    • Garrett says:

      haha, I just realized my own error. Step TWO is the only one you should do with the python script, your directions are quite plain. Still, I don’t see why you would use the python script at all. Why not just always use the command line or gui application???

      • Ian says:

        Hi Garrett – I’m glad you got it. As I recall, there is only a python script and win32 GUI for the v2 bootloader. The command line app is for v4 bootloaders only.

      • Ian says:

        adding… they python script was the Linux and OSX upgrade method, and for some Windows users too. To get the upgrader installed, Linux and Max users needed to use the p24qp.py script.

  53. Eli Aroshas says:

    Hi,
    I have started the procedure on WIN98 PC got fine up to finish the step with updater, when the mode started to blink.
    When tried to run the DS30 loader found that it would not run on WIN98…
    I have disconnected the Bus Pirate, connectede it to XP PC but now it is not recognized wiith DS30…
    Please advise.
    Thanks,
    Eli

    • Ian says:

      Everything sounds OK. Please be sure to install drivers on the xp PC. Connect the pgc and pgpgd pins and plug in the USB. The mode led should light. Can you get this far? Now try uploading the firmware with ds30 loader.

  54. will says:

    ## [BPv3a 2009] ###################################
    Bus Pirate v3 (Seeed Studio)
    http://dangerousprototypes.com
    Firmware v2.4-Seeed
    DEVID:0x0447 REVID:0x3042 (B4)
    HiZ>
    ################################################

    updated fine on up including BPv3-frimware-v6.1.hex.

    i’ve got a BPv3a 2009 & BPv3.5c 2011. great lil tool i must say. hats off to you dev folks! i’ll wait a bit for your v4, but do look forward to it.

  55. Zapatero says:

    Wow! So much confusion! many files, many instruction for many vX hardware versions, bootloader versions, firmwares… without any organization… I have BusPirate v3.6 bootloader v4.1 firmware v6.1 and how can I use to program the cpld breakout?? which program (where?), which firmware and why everything seems just usually not working?

Leave a Comment

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

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