There are two errors in REV10 batch 1. I’m sorry, it’s my fault and I’m super embarrassed. I’ll make sure we take care of everyone.
#1: A missing pin connection
The pins of this op-amp should be connected. Without it, the Vout/Vref voltage always reads 5volts. This would be obvious, but the firmware was sampling the power supply from a second tap point without the op-amp buffer.
When you update to a “fixed” firmware, the VOUT will always read 5volts (regardless of the actual voltage on the pin).
The KiCad files were passed around a lot during the November update. I think at some point the connection was accidentally deleted/moved as part of a group select, or an old revision entered the mix. Either way, I didn’t catch it on final review.
Easy-ish fix (for some)
The pins are close, so it’s fairly easy to solder a connection. I bridged the gap with a small piece of through-hole resistor lead cut with fingernail trimmers.
#2: Backwards PFET
The drain and source of Q402 are swapped. It was correct in the REV8 preview board, but at some point it was mirrored. Probably when we changed to the SI2301 or the smaller SOT-523 package.
This PFET is part of the current backflow prevention circuit, a one-way valve on the output of the onboard power supply.
- Prevents external voltage applied to VOUT/VREF pin from reaching the output pin of the adjustable voltage regulator. I’ve been told this isn’t generally a problem, but I like to keep it clean.
- To detect conflicts between onboard and external power sources, and issue a debug alert in the terminal
The PFET is used as an ideal diode, so in this case the orientation matters and the backflow prevention doesn’t work properly.
To the best of my understanding this is not a fatal flaw. FETs are symmetrical and the drain/source is relative to the voltage applied at each and the gate. Optimizations in the component design could cause damage over time at high current/voltages when reversed, but the Bus Pirate is well under the maximums for this part.
Please chime with more info. This is far from my area of expertise, generally speaking I aim to put parts in the correct way around.
Fixes
- None: ignore it with some reduced functionality (and try not to back power when the Bus Pirate isn’t connected to a USB port).
- Deadbug the PFET. Not a pretty or easy fix for SOT-523.
- For 10 reels minimum (~$220USD) I can have a PFET custom die bonded in the “wrong” pinout as a replacement part.
Impacted batches and what happens next
Batch 1 (shipped)
Already shipped, you may have one now.
- If you try to fix it, please share a photo and your experience!
- For a replacement PCB: open a support ticket and I will send a new board when they are available after Spring Festival.
Batch 2 (recalled from logistics)
Upon discovering the bugs we recalled all of batch 2 from logistics. We will contact everyone in batch 2 right now with options.
- Ship now, attempt to fix it yourself
- Wait for updated boards after Spring Festival (some days after February 19)
- We’re always happy to refund an order, you can even do it yourself on the order page
Batch 3 (scheduled for Feb 19+)
A fix has been issued and PCBs are already being made. Production will resume on schedule immediately after February 19 using the updated boards.
Thank you
Thank you for checking out the Bus Pirate. I’m really sorry about this issue, especially right before a holiday when there’s little I can do to hurry things along.
Thank you to ElectronicEel on Mastodon for reporting the backwards PFET that led to a wider investigation.