Thing Plus ESP32 WROOM power and battery issue (negative current down USB)

The Thing Plus (V2.0) seems to have a leakage issue. When on battery Q1 should be ON (P Channel FET) as R7 should keep the not connected USB low. But this is not happening. There is 3V on the USB port when only the battery is connected. This has the issuer where the battery cannot be used on its full range and the SOLAR panel sucks current out of the battery when there is no sun, making battery applications nearly useless.

Could this be an issue with U4?

Also a side: What is the EN pin attached to. The schematic has an error with this signal and where it goes. It looks like it is attached to VIN, but there is no direct reference in the schematic. There are no layout files or assembly diagrams to ID nets and/or parts.

Other versions of the same card show the EN pin to be attached to the 3.3V regulator Enable pin.

Also other versions (like the Skelly board) show the VREG pin of the USB interface not connected to the USB 5V, but to 3.3V. I am guessing this pin is where the 3.3V bleeds on to the VBUS and prevents the FET from turning on (resulting in a diode drop from the battery) Also the VBUS input pin to the USB interface is biased so a lower voltage on the USB VBUS will not trigger this input and enable the USB interface (Not sure, on this as I have not read the data sheet)

I joined this forum to report this problem. Have you heard anything from technical support or found a solution? My application should run 99% of the time on just the battery which means I may not be able to use this device if it is not fixed.

Hello,

we have the same problem as @icreadence mentioned.

When powered (only) with a battery via the JST-Connector the thing plus board (V2.0) shows a leakage issue.

The voltage of our connected battery is 3,86V. When connecting it to the thing plus board we measuered the following voltages at the breakout pins:

VBAT: 3,53 - 3,55 V (swaying)

VUSB: 2,81 - 2,83 V (also swaying)

3V3: 2,83 - 2,85 V (also swaying)

So the supply voltage (3V3) is out of the esp32 ranges and the board does not working correctly. We also think that VUSB should be 0V and not like stated above. So the boards is (for now) useless for our battery-powered projects that we plan.

As @icreadence also mentioned we also believe that the problem is caused by U4 (CP210X Uart-Controller). We believe that the VREG pin should be connected to 3.3V (bypass-mode) and not to V_USB.

For a quick test we cut the trace from VREGIN-Pin of U4 to V_USB and connected the VREGIN-Pin with a wire to the 3V3-trace and the board seems to work fine as it should (V_USB is then 0V as it should be):

VBAT: 3,86 V (stable)

VUSB: 0 V (stable)

3V3: 3,301 V (stable)

@Sparkfun

So is there a wiring error on the board/mistake in the schematic with the U4?

Do you know something about this problem?

This is still an issue on my Thing+ USBC boards delivered in 2024. Outside of leakage obviously being a problem for battery life, it also inhibits differentiation between USB and battery power. In my application, I want the ESP to sleep when USB is disconnected after running some shutdown code and wake when USB is reconnected, effectively using the battery as a UPS. The leakage to VUSB on battery power (~2.5V in my testing) makes it so that I cannot do this because VUSB doesn’t drop low enough to register a low level on ESP32 (~.25v).

I narrowed this issue down to D4 which seems to have exceptionally high leakage current (~300ua - along the lines of Infineon BAT60A) which causes the ~2.5V drop across R7 (10K). A 500ohm resistor in parallel to the existing 10K mitigates this problem for my application but will decrease battery life.

This diode needs to be re-specced for one w/ lower reverse current leakage to really make the battery useful on this board :confused:

Create a github issue here https://github.com/sparkfun/ESP32_Thing … .FL/issues or here https://github.com/sparkfun/ESP32_Thing … is%3Aissue (depending on which you have, but both seem to have the same circuit)

Opened an issue here https://github.com/sparkfun/SparkFun_Th … C/issues/3