ESP32-C3 Zero Voltage Regulator Failure

Hi everyone,

Introduction:
I am working with Waveshare ESP32-C3 Zero module and I’ve run into a strange issue that I’d really like some help understanding. I connected a laser distance sensor VL53L0X with ESP via I2C, so SCL and SDA are wired properly. The sensor is powered from the ESP’s 3.3V pin and shares a common ground.

Hardware Components:

  1. Waveshare ESP32-C3 Zero

  2. MT3608 Step-Up Boost Converter

  3. Li-ion battery (3.7V 1500mAh)

For power, I’m using a li-ion battery (3.7V 1500mAh) connected to a boost converter (MT3608) that outputs 5V. I placed a switch between the boost converter’s Vout+ and the ESP’s 5V (VIN) pin so that I can cut off the external power whenever needed. The ground (Vout−) of the boost converter is connected to the ESP’s ground. The whole setup works perfectly fine during normal operation no noise, no overheating, everything behaves as expected and the sensor readings are stable.

Schematic:

The Problem:
The issue started when I tried to upload new code. I connected the ESP to my PC using a USB Type-C cable. Before doing that, I made sure the switch between the boost converter and the ESP’s 5V pin was turned OFF, so externally the 5V supply line was disconnected. However, the grounds of the ESP, boost converter, battery, and sensor were still all connected together.

Right after connecting USB Type-C, I noticed that the area around the 3.3V regulator on the ESP started getting extremely hot. There was also a faint weird sound coming from the board, and the RGB LED began glowing very dimly (this LED does not glow in the normal operation). The regulator got so hot that I could barely touch it. It definitely felt like something went wrong electrically, possibly a short or some kind of power conflict.

After this happened, I checked continuity and found that the VIN and EN pins show continuity, although there is no continuity between the VIN and GND and similarly there is no continuity between 5V, 3.3V, and GND pins on the ESP.

I’m trying to understand what exactly caused this. Could this be due to a conflict between USB power and the boost converter, even though the switch was OFF? Is it possible that current still found a path because the grounds were common?

I’ve already burned one ESP32-C3 module before, where the 5V and GND ended up shorting after the regulator failed. I replaced that entire ESP module with a new one, but now I’m facing a similar danger again. This time the behavior is slightly different. I can’t keep replacing ESP modules like this, so I’m trying to understand what I’m doing wrong and how to fix the setup properly. I am also interested in understanding the real root cause of this issue.

Possible Errors:
I understand that there were some design mistakes on my part, such as not using a Schottky diode between the boost converter and the ESP.

Also, placing the switch on the output side instead of the input side of the converter was the right way to go. However, I was quite confident that connecting the USB Type-C cable to the ESP would not cause any issue, because the 5V line between the ESP and the boost converter was physically disconnected via the switch. Even though the grounds were still common, I assumed that the circuit would effectively behave as an open loop and no current would flow from the USB side into the boost converter or vice versa.

If anything in my setup isn’t clear, feel free to ask I can provide more details. I’d really appreciate any guidance on what went wrong here and how to avoid it in the future.

You did not post schematics but this is for sure a very bad design. Don’t use any micro controller as power supply. The tiny onboard voltage converter is not capable for more than an LED or two.

The controller specifications, datasheet tells the limits.

Are you certain it was off? Did you test the switch to verify that there is no continuity between the connected terminals when the switch is in the off position?

Current only ever flows in a circuit. It won't flow one-way down a single wire.

The connection in the picture does not cause the problem you described, some wire must have been wrong.

Switching regulaors like the MT3608 can become unstable and output large voltage spikes when the load is connected/disconnected. Placing the switch on the output was probably a bad idea.

A diode in place of the switch and putting the switch between the battery and MT3608 would be a better solution.

I also thought about this when I burnt the first ESP. However, on the 2nd ESP everything ran perfectly fine and matter of fact I tested this circuit for quite a time with the battery, and before connecting the type-c, I made sure the switch is off and I also checked the voltages with a multimeter before connecting the ESP. I have not faced this issue of regulator burning out on the ESP32 Devkit module (on a quite similar project). I mean, the issue happening specifically when the type-c connects is what is bothering me.

Well it did not burn out when you first uploaded your code so it's the the USB part that is the problem.
If I was not clear, it was the MT3608 with the switch on the output that probably damage some part on the board that had to do with the USB connection. When you connected the USB you just sent current through the damage part.

Without a schematic it is just a guessing game. If you do not have a volt meter you need to get one. Measure the 5V from the USB adapter, it must be below 5.25 volts, any more and you will start to overheat the regulator. Measure your 3V3 it should be very close. The grounds connected is OK. From what I can tell you power everything no matter which way you connect it.