XIAO ESP32C3 Battery ussage

Don’t bridge the battery directly to the 3.3V pin; you will be circumventing the regulator.

If your code does Serial.begin(####) at all, it will not work when the XIAO is running on battery.


can you explain why the Serial effects the battery connection ? I have tried this on both boards i have one with Serial and one without neither works without bridging the connection to the 3v3…

There is no continuity when running serial or not between the battery terminal and the board… just trying to get my head round why this is

Is there a way of the Arduino program detecting if the USB C lead is plugged in ?

I’ve been running into this issue as well, but can’t seem to figure out why no power is being delivered to the board (when NOT connected to USB). Nowhere in my code does it have Serial.begin().

I’ve connected the battery to the bottom pads and verified voltage using my multimeter. However, when I test if any current is going to the 5v or 3.3v power pins, I get nothing.

For me the board works fine with a LiPo battery connected to the battery pads, no other changes made. In particular, waking up from deep sleep (each 5 min) works as expected, also when not connected to USB.
I use micropython and a machine.deepsleep() statement.

Through the power of buying 2 of them, I can confirm that some units seem to work fine while others don’t. The second unit I bought seems to handle the power delivery fine and simply connecting the battery to the pads on the back is sufficient (no bridging connections, no code modifications, just a simple connection).
The first one I purchased, however, does not work. As mention previously, I can’t even detect the voltage from the pins when connecting them to my multimeter. However, the second one I bought does show voltage, powers the device, and runs the code without any issues. This seems to suggest there is a manufacturing flaw which is occurring. It’s a shame Seeed Studio has been quiet on this (I haven’t been able to find anything in the hours or researching this problem), since it seems to be not too uncommon. Hopefully they figure out what the defect is and resolve it. Not sure if I would be comfortable buying any project essential components from them until they do.
If you do purchase an ESP32C3 and the battery connection doesn’t work (even when serial.begin() isn’t used in any of your code), try returning it and purchasing a new one. You likely have a defective product.


I got 3 pieces and ALL of them work 100% so Not sure if it is a process problem or an improper Handling issue. Static electricity and improper handling could also be the problem, User or Packaging , it is kinda lite. Are those bags anti-static I wonder. :grin: Honestly though I have purchase over 15 pcs. ALL XIAO line , BLE, SENSE and ESP32C and have not received a defective product yet from SEEEDStudio. I find it hard to believe with such a track record and no real revisions it can’t be a fab issue. IMHO… statistically I bet fails are less than .001% if they even keep track of this of MTBF. idunno?
GL :slight_smile:
I love the footprint and the capabilities, until I see a systemic failures I’ll keep using them all.
I’m looking forward to getting some LORA units next. try to push the range of Operation OUT even more.

Works like a BIG dog :dog2:but is Tiny like a Fly. :pinching_hand:

ps. as far a support goes , well I’m pretty sure it’s only one person (requires a little patients) and they try to do a good job ** :wink:** but SEEED makes a crap ton of products. too many maybe. :grinning:


I also ordered three of these little gems and now I’m afraid they might not work from a 3.7V LiPo battery. :flushed:
So, still no official word from Seeed about this problem, @Citric?

I have purchased 20 of these for a project, and they all work with a LiPo 3.7V battery…


Cool, that sounds promising! My three board will arrive today or tomorrow. I’ll test then …
Need to purchase 3.7V LiPo batteries first, though. Tips welcome. :wink:

If you are connecting your circuit 5v to xiao board you will not be able to power your circuitry.
In my case, when using Lipo battery , I have found that only 3.3v terminal of xiao is powered and not the 5v terminal. So, if anyone is facing issue, try connecting your peripheral boards/circuit to 3.3v terminal of xiao esp32c3, when working with battery.

I have two of these boards - one of them will not work on battery (I even tried removing all Serial references and it still didnt work) - it does charge the battery but will not power the device.

Another board I have is working on battery without USB so the only difference is I soldered some pin headers to the one that doesn’t work.

I wish I had tried it before that but it could be related. I’m not sure if it’s a batch issue with some of them, if it’s potential heat damage (I’m not a beginner with soldering but may have to be EXTRA careful) … suffice to say, I really like this board and was trying with two before I bought a load more :slight_smile:

I’ve received 4 of these boards. (1) doesn’t work at all with the battery, but charges, (1) charges ok and runs off the battery, but consumes 60ma from the charging line continuously; runs warm, even off battery; (2) work perfectly, charging and low deep sleep current.
All the boards are running a sensor script using espnow hourly updates with deep sleep in between.
I love these boards and ordered 3 more. I’m hoping my yield of good boards increases!
UPDATE: Just for yucks, I disabled Serial (as previously suggested) when on battery alone and the deep sleep current dropped to normal. I’m back in business! 100%

I haven’t tried the serial trick, but do want to add to the others that I’m experiencing the same thing.

Tested the soldered pads and saw 4v coming from my 18650, but nothing on the other pins.

I’ve got 10 on the way, but I won’t need the recharging circuit, and am just considering powering things from the +/- power traces on my protoboards to get the project ready quickly.

Any downside to this? (Other than not being able to recharge through the esp32c3?

Since I haven’t seen it mentioned, I created a battery and USB-C cable connection, then plugged the USB C into the Xiao, and everything works, no code changes.

Definitely doesn’t seem like it’s my battery, or soldering, or wiring.

Seems like a problem where the battery pads are. I’ll report in here when I test the next 10 out the same way.

I actually use a solar charger (via a 4016) on the lion battery and not the esp32c3 charging circuit. This way I accuratly measure the current battery voltage on the divider. It’s been working for months now without a hitch. The module drives 2 neopixels running white at 50% brightness for 15 seconds (retriggerable in the dark) and updates my server on motion and clear via espnow. With about 5-6 triggers per night, the battery rarely drops below 3.7v.


Why don’t you use the input 3V3 pin as power input with a lifepo 3.2V battery?
Soldering a battery is in my opinion not a good thing with these pads. It’s stronger to use the pins.
Of course if you do this, 5V pin won’t be powered.
All your devices will be powered with the lifepo, so no current limitation (other then the battery one).
For flashing three ways:
1 - using native usb with pins IO18 (D-) and IO19 (D+). USB connector is useless in this case
2 - using the USB connector but in this case pin 3V3 must be disconnected during flashing.
3 - using TX and RX pins and an external UART adapter connected to your PC. In this case remember to connect only GND, not VCC to the ESP32-C3.
It’s as simple as this!

I also started with the same problems. A few hours ago I found the following:

  1. Insert the USB to PC plug
  2. Open Serial Monitor. Data should be received.
  3. Connect the battery
  4. Disconnect USB cable
  5. Data are still sent

Therefor I think this will be caused by the energy saving settings and/or wake-up settings.
Any suggestions?

Kind regards

After I played - a lot - with SAM21 and BLE Sense without any issues - and super happy about it - , I bought 17 of those ESP32C3 as it is so much cheaper then the Sense.

Well, the first one was extremely hard to anchor the antenna to, and the two first of the 17 batches are not working on battery while perfectly fine on USB.

That is a big deal and I not sure if I should open more of the 15 left, or if I should send it all back… Pretty disappointing in terms of building quality.
Bought from Seeeduino Germany.

Again I had zero issue with the SAM21 or the BLE Sense.
I guess you get what you pay for.

Too bad the BLE Sense price is going to the roof. Someone should adress the issue and keep the price down I guess the demand is high.

This is a good discussion. I have not any problems with the ESP32C3, yes connecting the antenna is hard but very doable.

I have an 18650 soldering directly to back of board for my proto-type not a problem. I am using Blynk as my development platform to handle it does a lot of hard things for me, users can log into their device without me hard codding it.

BTW I do watch the power with constant WIFI and running an app it is running 90ma+. When I plug in USB it reverses 200ma+ charging so that works.

I want to start playing with turning modem off and on next, not sure how to do that yet.

Someone on this list asked how to tell if USB connected, no one answered, how do you do that?