New firmware, please update

Auto firmware builds are posted here. Please be sure to update straight away, the firmware shipped in the preview boards has a ton of usability bugs that I’ve cleaned up this week.

Press and hold the button on the bottom of the Bus Pirate near the flash chip. Plug in the USB cable. It will connect as a USB drive. Drag and drop the firmware .uf2 file into the drive. After a short update, the Bus Pirate will reset and connect.

3 Likes

Hi Ian!

Not sure the best place to report issues, so, I left a message on your Twitter too.

Received my BP5 REV8 yesterday. I ran the self-test on pre-loaded firmware and it went all ok (with SD card installed and working).

Then updated with http://ci-buspirate5-main-3d1e55b.zip, now getting:

ADC SUBSYSTEM: VUSB NOT DETECTED (3.92V). ERROR!
TF FLASH CARD: NOT DETECTED. ERROR!

Is there any incompatibility with REV8, since REV10 is coming?

Hi @Montecri !

Thanks so much for checking out the bus pirate and reporting a bug.

I have a few ideas, there’s some ADC debugging code in the latest. I’ll poke around and get right back to you.

Cheers,
ian

Hi @Montecri,

Here is a new firmware.

The analog mux used to switch between the various voltage measurements can have a large settling time depending on various factors (corner cases, temperature, etc). I was pushing it a bit faster than it should go.

I ran the self test and my VUSB was also out of spec at 4.x volts. The mux is grounded between measurements to eliminate stray capacitance (or we see ghost readings). However, it was reading before there was a chance to fully rise from 0volts to VUSB (~4.75-5.25votls). I increased the settling time to 60uS and everything seems good on my board.]

I suspect this will also fix the SD card issue. Due to lack of pins on the RP2040 we read the card detect pin through the analog mux as well. If there wasn’t enough time to settle the card might not reach the voltage threshold to be detected.

Please let me know if this help. If it doesn’t help, could you please paste (or screenshot) the output of the i command information screen.

Cheers,

ian

Hi Ian,

Yes! It solved the VUSB voltage issue. But TF is still undetected :frowning:

ADC SUBSYSTEM: VUSB 5.15V OK
TF FLASH CARD: NOT DETECTED. ERROR!

I also see a README.TXT file on a “Bus Pirate” drive with the following content:

"TF flash card is not inserted. Please insert one and restart the Buspirate
Kind regards,
Ian and Chris

https://buspirate.com/"

Additionally, can I expect that future firmware versions, once the final revision is out, will still contemplate REV8 or the compatibility will be broken down the line?

Thanks & Regards,

  • Cristiano

Thank you for testing and the additional info.

Yes, the firmware will remain compatible between versions, there is almost no difference in the hardware connections. REV10 has cheaper parts, and an additional analog buffer on the front-end.

I’m not sure about the SD card. What happens if you remove it and then insert it while the Bus Pirate is running? It should auto-detect it and show a message.

Ian

Hi,

If I remove and insert it again I get this:

HiZ> TF flash card removed
Mount error 13

One curious thing: After about 2 hours running, if I run the self-tests again I get this:

HiZ> ~
SELF TEST STARTING
DISABLE IRQ: OK
ADC SUBSYSTEM: VUSB 5.15V OK
TF FLASH CARD: NOT DETECTED. ERROR!
PSU ENABLE: PSU ERROR CODE 3
BIO FLOAT TEST (SHOULD BE 0/<0.2V)
BIO0 FLOAT: 0/0.04V OK
BIO1 FLOAT: 0/0.04V OK
BIO2 FLOAT: 0/0.04V OK
BIO3 FLOAT: 0/0.04V OK
BIO4 FLOAT: 0/0.04V OK
BIO5 FLOAT: 0/0.04V OK
BIO6 FLOAT: 0/0.04V OK
BIO7 FLOAT: 0/0.04V OK
BIO HIGH TEST (SHOULD BE >3.0V)
BIO0 HIGH: 0.04V ERROR!
BIO1 HIGH: 0.04V ERROR!
BIO2 HIGH: 0.04V ERROR!
BIO3 HIGH: 0.04V ERROR!
BIO4 HIGH: 0.04V ERROR!
BIO5 HIGH: 0.04V ERROR!
BIO6 HIGH: 0.04V ERROR!
BIO7 HIGH: 0.04V ERROR!
BIO LOW TEST (SHOULD BE <0.2V)
BIO0 LOW: 0.04V OK
BIO0 SHORT->BIO1 (0.04V): ERROR!
BIO0 SHORT->BIO2 (0.04V): ERROR!
BIO0 SHORT->BIO3 (0.04V): ERROR!
BIO0 SHORT->BIO4 (0.04V): ERROR!
BIO0 SHORT->BIO5 (0.04V): ERROR!
BIO0 SHORT->BIO6 (0.04V): ERROR!
BIO0 SHORT->BIO7 (0.04V): ERROR!
BIO1 LOW: 0.04V OK
BIO1 SHORT->BIO0 (0.04V): ERROR!
BIO1 SHORT->BIO2 (0.04V): ERROR!
BIO1 SHORT->BIO3 (0.04V): ERROR!
BIO1 SHORT->BIO4 (0.04V): ERROR!
BIO1 SHORT->BIO5 (0.04V): ERROR!
BIO1 SHORT->BIO6 (0.04V): ERROR!
BIO1 SHORT->BIO7 (0.04V): ERROR!
BIO2 LOW: 0.04V OK
BIO2 SHORT->BIO0 (0.04V): ERROR!
BIO2 SHORT->BIO1 (0.04V): ERROR!
BIO2 SHORT->BIO3 (0.04V): ERROR!
BIO2 SHORT->BIO4 (0.04V): ERROR!
BIO2 SHORT->BIO5 (0.04V): ERROR!
BIO2 SHORT->BIO6 (0.04V): ERROR!
BIO2 SHORT->BIO7 (0.04V): ERROR!
BIO3 LOW: 0.04V OK
BIO3 SHORT->BIO0 (0.04V): ERROR!
BIO3 SHORT->BIO1 (0.04V): ERROR!
BIO3 SHORT->BIO2 (0.04V): ERROR!
BIO3 SHORT->BIO4 (0.04V): ERROR!
BIO3 SHORT->BIO5 (0.04V): ERROR!
BIO3 SHORT->BIO6 (0.04V): ERROR!
BIO3 SHORT->BIO7 (0.04V): ERROR!
BIO4 LOW: 0.04V OK
BIO4 SHORT->BIO0 (0.04V): ERROR!
BIO4 SHORT->BIO1 (0.04V): ERROR!
BIO4 SHORT->BIO2 (0.04V): ERROR!
BIO4 SHORT->BIO3 (0.04V): ERROR!
BIO4 SHORT->BIO5 (0.04V): ERROR!
BIO4 SHORT->BIO6 (0.04V): ERROR!
BIO4 SHORT->BIO7 (0.04V): ERROR!
BIO5 LOW: 0.04V OK
BIO5 SHORT->BIO0 (0.04V): ERROR!
BIO5 SHORT->BIO1 (0.04V): ERROR!
BIO5 SHORT->BIO2 (0.04V): ERROR!
BIO5 SHORT->BIO3 (0.04V): ERROR!
BIO5 SHORT->BIO4 (0.04V): ERROR!
BIO5 SHORT->BIO6 (0.04V): ERROR!
BIO5 SHORT->BIO7 (0.04V): ERROR!
BIO6 LOW: 0.04V OK
BIO6 SHORT->BIO0 (0.04V): ERROR!
BIO6 SHORT->BIO1 (0.04V): ERROR!
BIO6 SHORT->BIO2 (0.04V): ERROR!
BIO6 SHORT->BIO3 (0.04V): ERROR!
BIO6 SHORT->BIO4 (0.04V): ERROR!
BIO6 SHORT->BIO5 (0.04V): ERROR!
BIO6 SHORT->BIO7 (0.04V): ERROR!
BIO7 LOW: 0.04V OK
BIO7 SHORT->BIO0 (0.04V): ERROR!
BIO7 SHORT->BIO1 (0.04V): ERROR!
BIO7 SHORT->BIO2 (0.04V): ERROR!
BIO7 SHORT->BIO3 (0.04V): ERROR!
BIO7 SHORT->BIO4 (0.04V): ERROR!
BIO7 SHORT->BIO5 (0.04V): ERROR!
BIO7 SHORT->BIO6 (0.04V): ERROR!
BIO PULL-UP HIGH TEST (SHOULD BE >3.0V)
BIO0 PU-HIGH: 0/0.04V ERROR!
BIO1 PU-HIGH: 0/0.04V ERROR!
BIO2 PU-HIGH: 0/0.04V ERROR!
BIO3 PU-HIGH: 0/0.04V ERROR!
BIO4 PU-HIGH: 0/0.04V ERROR!
BIO5 PU-HIGH: 0/0.04V ERROR!
BIO6 PU-HIGH: 0/0.04V ERROR!
BIO7 PU-HIGH: 0/0.04V ERROR!
BIO PULL-UP LOW TEST (SHOULD BE <0.5V)
BIO0 PU-LOW: 0.04V OK
BIO0 SHORT->BIO1 (0/0.04V): ERROR!
BIO0 SHORT->BIO2 (0/0.04V): ERROR!
BIO0 SHORT->BIO3 (0/0.04V): ERROR!
BIO0 SHORT->BIO4 (0/0.04V): ERROR!
BIO0 SHORT->BIO5 (0/0.04V): ERROR!
BIO0 SHORT->BIO6 (0/0.04V): ERROR!
BIO0 SHORT->BIO7 (0/0.04V): ERROR!
BIO1 PU-LOW: 0.04V OK
BIO1 SHORT->BIO0 (0/0.04V): ERROR!
BIO1 SHORT->BIO2 (0/0.04V): ERROR!
BIO1 SHORT->BIO3 (0/0.04V): ERROR!
BIO1 SHORT->BIO4 (0/0.04V): ERROR!
BIO1 SHORT->BIO5 (0/0.04V): ERROR!
BIO1 SHORT->BIO6 (0/0.04V): ERROR!
BIO1 SHORT->BIO7 (0/0.04V): ERROR!
BIO2 PU-LOW: 0.04V OK
BIO2 SHORT->BIO0 (0/0.04V): ERROR!
BIO2 SHORT->BIO1 (0/0.04V): ERROR!
BIO2 SHORT->BIO3 (0/0.04V): ERROR!
BIO2 SHORT->BIO4 (0/0.04V): ERROR!
BIO2 SHORT->BIO5 (0/0.04V): ERROR!
BIO2 SHORT->BIO6 (0/0.04V): ERROR!
BIO2 SHORT->BIO7 (0/0.04V): ERROR!
BIO3 PU-LOW: 0.04V OK
BIO3 SHORT->BIO0 (0/0.04V): ERROR!
BIO3 SHORT->BIO1 (0/0.04V): ERROR!
BIO3 SHORT->BIO2 (0/0.04V): ERROR!
BIO3 SHORT->BIO4 (0/0.04V): ERROR!
BIO3 SHORT->BIO5 (0/0.04V): ERROR!
BIO3 SHORT->BIO6 (0/0.04V): ERROR!
BIO3 SHORT->BIO7 (0/0.04V): ERROR!
BIO4 PU-LOW: 0.04V OK
BIO4 SHORT->BIO0 (0/0.04V): ERROR!
BIO4 SHORT->BIO1 (0/0.04V): ERROR!
BIO4 SHORT->BIO2 (0/0.04V): ERROR!
BIO4 SHORT->BIO3 (0/0.04V): ERROR!
BIO4 SHORT->BIO5 (0/0.04V): ERROR!
BIO4 SHORT->BIO6 (0/0.04V): ERROR!
BIO4 SHORT->BIO7 (0/0.04V): ERROR!
BIO5 PU-LOW: 0.04V OK
BIO5 SHORT->BIO0 (0/0.04V): ERROR!
BIO5 SHORT->BIO1 (0/0.04V): ERROR!
BIO5 SHORT->BIO2 (0/0.04V): ERROR!
BIO5 SHORT->BIO3 (0/0.04V): ERROR!
BIO5 SHORT->BIO4 (0/0.04V): ERROR!
BIO5 SHORT->BIO6 (0/0.04V): ERROR!
BIO5 SHORT->BIO7 (0/0.04V): ERROR!
BIO6 PU-LOW: 0.04V OK
BIO6 SHORT->BIO0 (0/0.04V): ERROR!
BIO6 SHORT->BIO1 (0/0.04V): ERROR!
BIO6 SHORT->BIO2 (0/0.04V): ERROR!
BIO6 SHORT->BIO3 (0/0.04V): ERROR!
BIO6 SHORT->BIO4 (0/0.04V): ERROR!
BIO6 SHORT->BIO5 (0/0.04V): ERROR!
BIO6 SHORT->BIO7 (0/0.04V): ERROR!
BIO7 PU-LOW: 0.04V OK
BIO7 SHORT->BIO0 (0/0.04V): ERROR!
BIO7 SHORT->BIO1 (0/0.04V): ERROR!
BIO7 SHORT->BIO2 (0/0.04V): ERROR!
BIO7 SHORT->BIO3 (0/0.04V): ERROR!
BIO7 SHORT->BIO4 (0/0.04V): ERROR!
BIO7 SHORT->BIO5 (0/0.04V): ERROR!
BIO7 SHORT->BIO6 (0/0.04V): ERROR!
CURRENT OVERRIDE: OK
CURRENT LIMIT TEST: OK
PUSH BUTTON TO COMPLETE: OK

ERRORS: 130
FAIL! :frowning:

HiZ>

Disconnecting the USB cable and immediately reconnecting makes all tests pass again (except for the SD card).

Thanks & Regards,

  • Cristiano

Thank you for the additional info. I’m glad it lives again after a reset :open_mouth:

Is the card EXFAT by any chance? It is possible to support that with fatFS but we can’t because of patents. We only support Fat32 and below. It may have been misconfigured and worked in the original firmware :wink:

PSU error 3 is triggering the other errors. That is power supply didn’t come up fast enough error, and is also a timing issue I bet. I’ll tweak it a bit and push a new firmware.

Thank you again, this is super helpful feedback.

Ian

Hi Ian,

You were right, it came pre-formatted as exFAT, and as soon as I formatted it as fatFS/FAT32 it worked.

Thank you for the excellent work!

  • Cristiano

Glad that helped! In a few years the exfat patent should expire, and then we can enable that option.

I’ll push a test fix for the PSU error shortly, trying to reproduce it on my hardware here.

Thanks again for the detailed bug report,

Ian

1 Like

Hi Ian,

I have a BP5 REV8 without casing bought from Aliexpress in mid-December '23 and I had the same problem as @Montecri with the firmware “ci-buspirate5-main-3d1e55b.zip”, except for the TF which was formatted correctly.

If the TF card wasn’t inserted and performing the self-test, the error “ADC SUBSYSTEM: VUSB NOT DETECTED (4.34V). ERROR!” did not appear but it always did so with it installed.

The latest firmware “ci-buspirate5-main-e60d971.zip” from 11 Jan '24 has fixed the issue.

Thank you. You are doing a great job overall. I too have a BP v3.6 and now I’m glad for the development of the current BP5.

2 Likes

Hello,

Its so nice to hear from you,

I will look into this, thank you for letting me know. I really appreciate it.

Ian

The curious thing is that it did it with the TF inserted.

Currently with the latest firmware, it is solved.

Thank you for the additional info. I’ll poke around