ESP-32-C3 doesn't start with battery supply

userHead Michael.Maass 2022-11-28 02:48:51 1194 Views4 Replies

Strange behavior: Firebeetle ESP32-c3 does not start when a LiPo battery is connected. 
When powered by USB, the sketch runs without problems (WiFi connectioon and MQTT transmission).
If a LiPo battery with 3.7V is connected to Bat + and Bat -, the ESP32-c3 reports only a power-on code via a connected serial port, but the sketch does not run:

Build:Feb 7 2021
rst:0x1 (POWERON),boot:0xd (SPI_FAST_FLASH_BOOT)
mode:DIO, clock div:1
entry 0x403ce000


A lab power supply that supplies 5V to Vcc also shows the same behavior. What could be the reason that 2 tested ESP32-C3 start only via USB?



2023-01-09 07:53:38

Well, that wasn't it. D2 is still OK. With either USB or Battery power, I see 3.3V on the output of the 9080. However, my program still does not start if I connect a battery. However, if I connect USB (computer, not a wall wart) and then connect a battery and then disconnect USB, it continues to run. Something in one of the libraries I'm using must be waiting for data over USB, which never comes because there is no computer to send any. I made a bunch of changes to my code between when it worked and now, so I have to roll back those changes until I find the change that's causing the problem… but it's not a HW issue after all. 

userHeadPic Randy.Cohen
2023-01-08 15:48:42

Actually, I amend that. I bet the problem is inrush current. Even a small lipo (I'm using 500mAh) can deliver high current. Mine will do something close to 15A if dead shorted. Which, when the battery is first connected, is exactly how that 10uF capacitor is going to look to the battery, like a dead short. The current could fry the diode. And it'd explain why every single one of my boards won't power from the battery now. I think when I first tried using batteries, the cells weren't charged, they were probably down below 3.6V, where they deliver much less current. The diodes survived. But when I fully charged the batteries for my first “field test”, none powered up, the batteries were delivering much more current, the diode couldn't take it. 

userHeadPic Randy.Cohen
2023-01-08 15:17:05

I have a bunch of C3s that behave the same way. They worked on battery power, and then when I tried them again a few days later, they didn't. 


Looking at the board schematic, the input of VBAT goes to a diode D2. Both sides of D2 have 10µF capacitors to ground. D2 may be susceptible to ESD damage. If D2 were to go open circuit, the TP4057 would still work (which on my C3s, it does - the charge light goes on when USB and a battery is attached). But VBAT would not get to the RT9080 LDO. And since VUSB is fed through its own diode D1 to the RT9080, USB power would also still work.


I intend to short D2 on one of my boards, and then hook up a battery. I bet when I do, it starts right up. Then, I'll have to replace D2 on all my boards with something a bit more robust. Which will be a PITA since I'm no good with 0201 SMDs, which I expect this diode is…


userHeadPic Randy.Cohen
2023-01-04 14:33:53

When you power the esp32-c3 with USB, does the charge light blink?

It sounds like a hardware failure based on your description.

userHeadPic YeezB