Xiao nrf52840 board with Xiao expansion board short circuit

Seeed responded to my email and agreed to send me a replacement expansion board. Even in the replacement expansion board, I will be performing the same/similar hack as I list below to avoid this issue again.

Here is my analysis of this issue:

The Xiao uses TLV733P (a LDO) to produce the 3.3v supply. This is produced from the USB 5v (Vbus). By the USB spec, this 5v cannot disappear when the device is plugged into a host. So the on-xiao 3.3v is pretty ubiquitous.

The expansion board does 2 things: (1) takes Vbus and puts it through ETA6003 to charge the battery and produce Vsys. (2) this Vsys is then put through a step down converter (ETA3410) which produces another 3.3v source.

The 3.3v source from the Xiao and the 3.3v source from the expansion board are tied together directly without any form of back-feed protection.

Now, what could possibly go wrong?

Apart from the “it just feels worong to hook things this way”, I have 2 theories on what went wrong:

  1. The startup time according to the TLV733P data sheet is 800us typical. So let’s say ~1ms for the on-xiao 3.3v line to be up after the Vbus. The ETA* data sheets don’t explicitly state a startup time so if the combined time (ETA6003 + ETA3410 + any other delay due to external LC/RC networks) is greater than 1ms, we have the scenario where the xiao LDO is supplying 3.3v to the SW pin of ETA3410. Taking a quick look at ETA3410 there doesn’t seem to be any reverse current protection which means the 300ma from TLV733P should be enough to fry something which can cause the ETA3410 to fail causing the short.
  2. ETA3410 is a step down converter. It operates by switching the output voltage to match the desired voltage. So there is distinct on and off times. The TLV733P on the other hand is a passive component which stays always on. This means the output of ETA3410 can be held high during an off cycle. This probably puts some stress on the converter which over time fails.

I think (2) is what happened to me. I wasn’t plugging in/out the USB port so (1) is very unlikely. The fact that the failure happened when I was enabling USB drivers is probably just a coincidence.

What can you do?

Well, I just desoldered both the ETA6003 and ETA3410 from the expansion board with a hotair gun and stopped using the battery connector on the expansion board and and soldered battery connectors to the xiao board. With that, things seem to work for me.

You could also just not connect the 3.3v from the xiao to the expansion board. This is the cleanest solution if you have a working xiao board and the expansion board. Before soldering the male headers to the xiao, just pull out the pin corresponding to the 3.3v pin (or just cut it with a clipper) so when you insert the xiao board on the expansion board, the 3.3v from the xiao is isolated from the 3.3v on the expansion board. I plan to do this to the replacement expansion board.

PS. The desoldering bit was tricky as the headers and the display are very close to those components. I used lots of kapton tape to protect the other components and still managed to damage the OLED :). Luckily, I had some spares so I replaced the OLED and everything was solved.

4 Likes