
Hardware issue disclosure
What happened?
Thanks to the recent post, I've discovered a hardware issue with the USB connection.
The issue is present in all rev8 and rev9 boards, including, unfortunately, a large recent batch that is currently finishing production in China.
What is the issue?
USB power works fine, but USB data doesn't go through at first, requiring you to restart the device 3–5 times. As the issue is in the hardware, it affects both DFU mode and the regular firmware.
What to do?
If you are planning to use the device wired, you will have to restart it several times before use by clicking the "reset" button, waiting at least 1 second between clicks, until it is detected by your OS.
If "double-click reset to enter DFU" doesn't work for you even after that, hold the top-top-left button ("Enter" in the default keymap) and single-click the "reset" button. You may need to do this several times as well, until it shows up as a storage device.
Can it be repaired?
Yes, a bodge wire repair is possible, but it's a tough job.
Here's the wire you'd need to run: https://postimg.cc/5HJWXWmB
My policy
Unfortunately, I will not be able to replace boards affected by this issue. It is an annoyance and a point of frustration, but it's not something critical that prevents the device from working. I ask for your understanding in this matter — more than a hundred affected boards have already been shipped, and more than two hundred will depart from China in a few days. I simply don't have the resources to run a recall campaign.
I will, however, attempt to repair the boards that have not been shipped yet. To be honest, I'm not too confident it's within my skills. Repairing one or two is certainly doable, but repairing hundreds might result in a huge percentage of permanently destroyed boards. I will post an update on the matter once I have the necessary tools, which I have already ordered.
Technical details
The rev7 hardware had a different charging IC — the AXP2585 — with a power path output, labeled as the "VBUS" net. The IC was discontinued, and in rev8 I replaced it with a different chip that does not have an integrated power path. The "VBUS" net was used in a single place — to power the USB multiplexer, which exists solely for the purpose of fast charging. Unfortunately, I managed to make the silliest possible mistake: I missed this connection and left the "VBUS" net where the power should go, effectively leaving the power input of the multiplexer floating. I truly have no idea why it starts working after several reboots. The floating capacitor must somehow charge from the electric fields created by the various processes that happen on boot. The multiplexer obviously uses MOSFETs internally, so once there's enough voltage on the capacitor, it keeps working and doesn't misbehave anymore, until the capacitor is somehow discharged again.
The fact that it works after several restarts made me believe it was either some kind of production issue or a software issue. I had to perform the restarting routine when flashing the boards, but they behaved fine after that, which also made me believe it would not affect customers. I didn't find the root cause earlier because, typically, by the time I receive a batch of boards, there are already a dozen emails asking when an order will ship. In any case, this was stupid of me, and I should've debugged it properly.
I'm really sorry for the experience, and I hope it won't cause major frustration with the device.