Why does my ESP32 board drop off USB the moment I plug the battery in?

Oct 22, 2026 Last reply: 1 day ago 5 Replies

First reply

dbecker

That vanishing behavior is a classic case of power management conflict, wich is super common on these small development boards when you push the limits of the design. It is likely not a soldering mistake, as you mentioned it reads fine on USB power alone. What's probaly…

Read the full reply

Finally got round to building one of those tiny coreless drone kits and I'm mostly done with the soldering. Used a fine tip and plenty of flux, and the joints look decent under a magnifier, so I was feeling pretty pleased with myself. Then I plugged the little LiPo in while the USB cable was still connected and the board just vanished from my laptop. Unplug the battery and it shows up again. Every single time. Is this normal for these kits or have I cooked something? The charging lead and battery came in a separate bag with basially no documentation, so I'm not even 100 percent sure I've got the connector the right way round. The flight controller itself seems fine otherwise, I can flash it and read the gyro values fine when it's running on USB only.



But obviously I can't test the motors or do any real setup if the thing won't stay alive with both power sources connected. Anyone else run into this with a small DIY quad? Wondering if it's a wiring mistake on my end or just how these cheap boards behave.


That vanishing behavior is a classic case of power management conflict, wich is super common on these small development boards when you push the limits of the design. It is likely not a soldering mistake, as you mentioned it reads fine on USB power alone. What's probaly happening is a short or a massive voltage spike occurring when the LiPo is connected, and that spike is causing the ESP32 to reset or shut down its communication interface entirely. Since the board is tied into the USB circuit, when the processor crashes or restarts due to the power anomaly, the USB connection drops, making it look like the board just vanished.

On most of these cheap kits, the power-up sequence isn't handled robustly, especially when mixing power sources. When you plug in the battery, even if the LiPo voltage is regulated, if there's any slight fluctuation or if the charging circuit tries to engage simultaneously with the flight controller running off both, it can cause instability. Because the board is tiny and integrated, even a small power draw spike can trigger a brownout condition that takes the device offline.

Before you start mounting motors, check the power rail inputs. Even if the connector seems right, sometimes the pads are designed to handle one input or the other, or maybe there's a shared power rail that is experiencing transient current draw issues. If you can, isolate the power sources completely during initial testing. First, get the flight controller running and stable on USB. Once that is verified, then try powering it solely from the LiPo, and see if the communication stays alive. If it stays alive on battery power alone, you've confirmed it's a multi-power conflict.

If you want to try to fix it before proceeding, you may need to manually disconnect the charging or power-in-use pins on the breakout board if it has separate entries for USB power and LiPo power, ensuring that only one path is active when you're trying to flash or run the firmware. This is basically just forcing the board to use a cleaner, single power path for testing.

That wierd drop in voltage sometimes fries the power caps before the ESP32 even crashes. I had a similar issue when I was setting up a simple servo motor for a robot. The little capacitor I added made the difference. It really smoothed out those momentary spikes. It might not be a short circuit, but a massive current draw from the flight controller as it tries to spin the motors or even just draw its initial peak current. You shold check the current ratings on your battery connection or try separating the main board power from the peripheral power entirely if you're going to add anything else later.

I reckon it could also be a ground loop thing. If the ground on the USB side isn't perfectly matched with the ground on the LiPo side, you're gonna get noise that crashes the comms at random. It seems like the ESP32 is super sensitive to ground bounce, expecially when it's trying to talk over USB. Have you checked if the common ground wire is solid right where the power rails meet the main board? Sometimes a loose connection there's all it takes for the whole thing to just decide it's done communicating.

I ran into something similar when working on a small sensor array. It seemed like the board just wasn't ready for the battery power hitting it full force. Sometimes you just need a simple power delay before everything tries to talk to each other. I ended up adding a five second timer on a separate setup before switching the main rail over. This let the board settle and the clock start up cleanly. You might want to check the datasheet for any specific power-on sequence requirements for that chip before connecting the LiPo.

Update: the cap suggestion actually worked. Soldered a little electrolytic across the power rails like the servo reply described and the board stays alive with the LiPo plugged in now. New problem though, the motors stutter when they spin up, almost like they're starved. Is that still a supply issue or could the connector be on backwards and only half making contact?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required