During the Bus Pirate self test, will shorted IO pins result in damage?

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.

No, shorted pins will not damage the bus pirate. It has some pretty hefty series resistors on the pins and there’s no way to pull/sink more current than the drivers are rated for.

Which IC do you think is most likely damaged (CD4067 analog mux, 74HC595, 74HCT245)?

I have to get a laptop PCB repaired and I could get both boards soldered on the same trip. I don’t have a hot air station to do small IC soldering so I’ll go to a repair shop. On the other hand the replacement ICs and labor may cost more than a new BP 5.

My BP 5 seems to be fine except for 3 IO pins that cannot output high. Those pins still measure input voltage.

1 Like

If you are able to repair it, great! It’s most likely these three 74LVC1T45. If not I will just send you a new one.

What do you think took out the pins? Had they previously been working? It’s strange because those buffers can take a real beating, and they have 330R series resistors which keep the IO current in check. However they do not have TVS diodes so…still vulnerable to strong static discharges.