XIAO ESP32C3 Battery ussage

This is a totally off-the-wall suggestion, based on nothing more than a hunch: perhaps the Xiao is not demanding enough current to overcome the internal circuitry that protects the battery from discharging while being stored. This battery is designed for supplying current up to 10 amps! While the Xiao is only asking for, like 100 milli-amps.

To put it another way: before junking your Xiao, I suggest trying a different battery.


I am not junking anything, just want a solution.

I did already try another type of battery without success, i now also added a led parallel to the battery and the led lights up, so the battery is able to provide power.

Can somebody provide some kind of manual or schematic for the Xiao?, its quite hard to know why it doesn’t work this way.


it seems I have a similar issue. The Xiao is able to charge the battery, but the battery can’t power the Xiao. Any solution would be appreciated.

Any update on this?, or does seeedstudio have another place where we can get customer support?

I have a Li-ion connected to the Battery connections, the script runs without problems (USB is not connected) But, if I now run a Deep Sleep script, this script runs exactly 1 time, the XIAO ESP32-C3 does not wake up anymore. After pressing the reset button the script runs again exactly 1 time. If this Deep Sleep script is used with a connected USB port, the script runs without problems and the XIAO ESP32-C3 wakes up according to my specifications.
Do I have to configure anything additionally on this board when using Deep Sleep?
Does anyone have this board running with Deep Sleep and connected Li-ion battery without USB?

I have three XIAO ESP32C3 boards, and all three show the same symptoms. Since this board advertises low power consumption, the main application should be a sensor in battery mode with deep sleep.
Hope for feedback, greetings italschwob.

I don’t see the code you are referring to but I’m under the impression the very deepest sleep requires a reset button press to wake from ??? otherwise an external interrupt or rtc event. I just got 3 of those so I can test it when time permits. I’m using the double tap sleep demo on the dev board and it’s working perfectly (check the video).
perhaps someone else will chime in what they know.
GL :slight_smile:

I found a solution that works for me in Arduino IDE ESP32-C3 USB CDC problems · Issue #6089 · espressif/arduino-esp32 · GitHub, in battery mode Serial.begin must be commented out, then everything works.
Have my XIAO ESP32C3 board now 72 hours in battery mode with no errors.XIAO ESP32C3 board Starts up, sends sensor data to my server via MQTT goes into Deep Sleep for 120 seconds, wakes up again and sends, goes to sleep…I am starting a long term test to see, how long this sensor can run with a 16850 cell.The battery voltage and the values from a BME280 are transmitted. Greetings italschwob.

Nice sluthing that out…I can’t wait to see if I can pair 5 or 8 of the Xiao nRF52840 Sense chips with the Xiao ESP32C3. :sweat_smile: :vulcan_salute:

GL :slight_smile:

Do you have an upload procedure to ensure that the XIAO ESP32C3 is not working on battery? As a reminder, please do not judge the XIAO ESP32 by its LED, which is a “charge indicator” and not a “working indicator”.

There is no trace wire on the board - You will need to bridge the 3v3 connection to the + terminal on the battery - this has worked for me - I have the same issues - Ignore the comments regarding power draw and start up there is no continuity between the + terminal and the + side of the board…

(this is not a great fix btw but will work - the charging module will have to work slightly harder in this case)

This is pretty poor show on behalf of XIAO - unless they can send some code that shows other wise…

Just to confirm I have one other board where this is not required and a standard bank code works just fine…

Yes. I uploaded code to make sure that I can tell if the XIAO was working or not. On battery it did not do anything and was simply not working.

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.

1 Like

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.

1 Like

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…

1 Like