While setting up my Bus Pirate to connect to a test device, I ran the self test 2-3 times, and some of the probe cable ends were touching due to exposed breadboard pins from a previous session. The first thing I always do is to run the BP self test and it showed short circuit errors on the IO pins. I noticed the breadboard pins were touching, and I removed all the pins. I ran the self test a couple times and it passed without error. I had also changed firmware versions and BP rebooted.
I put the probe hooks on the cable and set mode to SPI. After I had my test device ready to connect, I picked up the Bus Pirate to move closer and noticed the plastic case was hot. At this point the probe hooks were not connected to anything, and I had not turned on Vout once so far. I was confused for a minute and then unplugged the USB cable. After about 5min the BP case cooled off, and I reconnected the USB cable. BP powers on and immediately I notice low voltages (<0.5V) on the IO pins. After another 5min or so, the IO pin voltages settle down to zero on the BP screen. Then on running the self test, the IO pin short circuit errors occur again but this time the probe cable ends are insulated.
I flashed the BP firmware, power cycled the BP, and rebooted via command. I also tried running self test after unplugging the probe cable molex connector. Now each time I run the BP self test, the same short circuit errors occur on several of the IO pins. I opened the plastic case. There is no visible damage on the PCB. I think one or more ICs got damaged internally. The plastic case had been hot with temperature increasing until I unplugged it.
Here is output of the self test:
HiZ> ~
SELF TEST STARTING
DISABLE IRQ: OK
ADC SUBSYSTEM: VUSB 5.09V OK
FLASH STORAGE: OK
PSU ENABLE: OK
VREG==VOUT: 3319 = 3317 OK
BIO FLOAT TEST (SHOULD BE 0/<0.30V)
BIO0 FLOAT: 0/0.05V OK
BIO1 FLOAT: 0/0.03V OK
BIO2 FLOAT: 0/0.05V OK
BIO3 FLOAT: 0/0.04V OK
BIO4 FLOAT: 0/0.04V OK
BIO5 FLOAT: 0/0.05V OK
BIO6 FLOAT: 0/0.06V OK
BIO7 FLOAT: 0/0.03V OK
BIO HIGH TEST (SHOULD BE >3.00V)
BIO0 HIGH: 0.06V ERROR!
BIO1 HIGH: 0.06V ERROR!
BIO2 HIGH: 3.30V OK
BIO3 HIGH: 0.03V ERROR!
BIO4 HIGH: 3.33V OK
BIO5 HIGH: 3.29V OK
BIO6 HIGH: 3.29V OK
BIO7 HIGH: 3.35V OK
BIO LOW TEST (SHOULD BE <0.30V)
BIO0 LOW: 0.05V OK
BIO0 SHORT->BIO1 (0.06V): ERROR!
BIO0 SHORT->BIO3 (0.03V): ERROR!
BIO1 LOW: 0.04V OK
BIO1 SHORT->BIO0 (0.05V): ERROR!
BIO1 SHORT->BIO3 (0.05V): ERROR!
BIO2 LOW: 0.03V OK
BIO2 SHORT->BIO0 (0.05V): ERROR!
BIO2 SHORT->BIO1 (0.07V): ERROR!
BIO2 SHORT->BIO3 (0.06V): ERROR!
BIO3 LOW: 0.06V OK
BIO3 SHORT->BIO0 (0.05V): ERROR!
BIO3 SHORT->BIO1 (0.05V): ERROR!
BIO4 LOW: 0.03V OK
BIO4 SHORT->BIO0 (0.05V): ERROR!
BIO4 SHORT->BIO1 (0.05V): ERROR!
BIO4 SHORT->BIO3 (0.05V): ERROR!
BIO5 LOW: 0.03V OK
BIO5 SHORT->BIO0 (0.03V): ERROR!
BIO5 SHORT->BIO1 (0.03V): ERROR!
BIO5 SHORT->BIO3 (0.06V): ERROR!
BIO6 LOW: 0.03V OK
BIO6 SHORT->BIO0 (0.05V): ERROR!
BIO6 SHORT->BIO1 (0.05V): ERROR!
BIO6 SHORT->BIO3 (0.05V): ERROR!
BIO7 LOW: 0.03V OK
BIO7 SHORT->BIO0 (0.05V): ERROR!
BIO7 SHORT->BIO1 (0.03V): ERROR!
BIO7 SHORT->BIO3 (0.06V): ERROR!
BIO PULL-UP HIGH TEST (SHOULD BE 1/>3.00V)
BIO0 PU-HIGH: 1/3.26V OK
BIO1 PU-HIGH: 1/3.29V OK
BIO1 SHORT->BIO0 (3.32V): ERROR!
BIO2 PU-HIGH: 1/3.26V OK
BIO2 SHORT->BIO0 (3.26V): ERROR!
BIO3 PU-HIGH: 1/3.19V OK
BIO3 SHORT->BIO0 (3.30V): ERROR!
BIO4 PU-HIGH: 1/3.26V OK
BIO4 SHORT->BIO0 (3.32V): ERROR!
BIO5 PU-HIGH: 1/3.31V OK
BIO5 SHORT->BIO0 (3.29V): ERROR!
BIO6 PU-HIGH: 1/3.26V OK
BIO6 SHORT->BIO0 (3.29V): ERROR!
BIO7 PU-HIGH: 1/3.29V OK
BIO7 SHORT->BIO0 (3.31V): ERROR!
BIO PULL-UP LOW TEST (SHOULD BE <0.30V)
BIO0 PU-LOW: 3.26V ERROR!
BIO1 PU-LOW: 0.14V OK
BIO2 PU-LOW: 0.14V OK
BIO3 PU-LOW: 0.17V OK
BIO4 PU-LOW: 0.14V OK
BIO5 PU-LOW: 0.14V OK
BIO6 PU-LOW: 0.14V OK
BIO7 PU-LOW: 0.14V OK
CURRENT OVERRIDE: OK
CURRENT LIMIT TEST: OK
PUSH BUTTON (SPACE TO SKIP): PUSH BUTTON (SPACE TO SKIP): OK
ERRORS: 4
FAIL! :(
Is there a way to check for shorted pins/wires early in the self test and stop the test until the shorts are cleared? When a BP user runs the self test, a warning statement could be displayed saying to first unplug the probe cable molex or ask the user to verify the wire ends are not shorted or connected to any device.
Side note: I ordered my Bus Pirate 5 from Blin Kin Labs. The PCB shows it was manufactured in Feb 2024. I remember the BP was sealed in new condition when I received the package.
