powering ESP32 with a battery

All ESP32 boards running MicroPython.
Target audience: MicroPython users with an ESP32 board.
Capstan
Posts: 115
Joined: Sun Jan 29, 2017 4:03 pm
Location: Texas, USA

powering ESP32 with a battery

Post by Capstan » Sat Mar 23, 2019 11:26 pm

I've got some use cases that require the ESP32 to hibernate most of the time in very-low-power mode running on a battery. Ideally the battery would last quite some time with a hibernation power draw of only ~15uA. Can anyone recommend some options for a good cheap rechargeable battery?

I was hoping to use a single rechargeable battery that delivers a voltage which falls within the recommended ESP32 range. The datasheet states ; "The operating voltage of ESP32 ranges from 2.3 V to 3.6 V. When using a single-power supply, the recommended voltage of the power supply is 3.3 V, and its recommended output current is 500 mA or more." (but in practice I find that the ESP32 almost always draws well under 200mA).

Lipo batteries are great, but they put out 3.7 volts and require an even higher voltage for charging. With Lipo I would have to use a regulator to step the voltage down to the appropriate level. This is doable but inconvenient, and the regulators I am seeing have a leakage current that is far above the 15uA drawn by the ESP32. A battery would last only days instead of weeks or months.

I've been experimenting with LiFePo4 batteries. They can come in an AA form factor that fits into cheap, standard battery holders and they produce 3.2V. No regulator necessary. Supposedly rechargeable, but unfortunately the ones I am getting do not seem to recharge properly.

Any suggestions? Are there regulators that have very low leakage? Some other battery alternative?

chrisb2
Posts: 21
Joined: Sat Apr 01, 2017 4:19 am

Re: powering ESP32 with a battery

Post by chrisb2 » Sun Mar 24, 2019 6:36 am

I have had no problems with LiFePo4 batteries in this project:

https://github.com/chrisb2/water-system

Which uses a single directly connected battery. It wakes once a day and battery life seems to be about 3 months.

The batteries I have have been recharged numerous times, even including recovering from over discharge.

Watch out for at least some of these off internet, I remember reading a teardown of some which was not complimentary.

Chris

Capstan
Posts: 115
Joined: Sun Jan 29, 2017 4:03 pm
Location: Texas, USA

Re: powering ESP32 with a battery

Post by Capstan » Sun Mar 24, 2019 1:55 pm

Nice project!

I see that you are using a 18650 battery. What brand is the battery and where do you get them? Also curious to know how you are charging them. It's possible that the charger I am using damages the batteries.

chrisb2
Posts: 21
Joined: Sat Apr 01, 2017 4:19 am

Re: powering ESP32 with a battery

Post by chrisb2 » Mon Mar 25, 2019 5:12 am

The battery is https://www.jaycar.co.nz/18650-lifepo4- ... v/p/SB2307. You need a charger specifically designed for LiFePO4 batteries, the ordinary LiPo chargers will generate too high a voltage they are full at 4.2V, whereas LiFePO4 are full at 3.65V. My charger is an https://www.aliexpress.com/item/Xpower- ... 15380.html.

regards,
Chris

Capstan
Posts: 115
Joined: Sun Jan 29, 2017 4:03 pm
Location: Texas, USA

Re: powering ESP32 with a battery

Post by Capstan » Mon Mar 25, 2019 2:37 pm

Thanks for sharing that info. Expensive battery! I am looking at some other alternatives like this; https://www.batteryspace.com/lifepo4-18 ... assed.aspx with similar capacity and a lot cheaper.

Very possible that the charger I am presently using delivers too high of a voltage and damages the batteries, I will check it. The batteries I am currently working with were ordered from Amazon and have mixed reviews, may just not be any good.

edit - sure enough the charger tops out at more than 4V, probably is ruining my batteries.

danielm
Posts: 161
Joined: Mon Oct 05, 2015 12:24 pm

Re: powering ESP32 with a battery

Post by danielm » Tue Mar 26, 2019 8:54 am

A note regarding long-running battery powered applications - do not forget to take into consideration self-discharge of rechargeable batteries (accumulators). It is roughly 50% per year, depending on battery chemistry.
This is why applications which are expected to run for years without battery replacement or recharge use primary batteries (LiSOCl2, LiMnO2) with self-discharge rate of approx. 1-2% per year.

Capstan
Posts: 115
Joined: Sun Jan 29, 2017 4:03 pm
Location: Texas, USA

Re: powering ESP32 with a battery

Post by Capstan » Tue Mar 26, 2019 2:23 pm

Interesting! LiSOCl2 batteries I am seeing deliver 3.6V, which is the very top of the ESP32 range but should work. LiMNO2 batteries make 3V. Long shelf life is great.

How much do they cost? I am seeing these batteries online but no prices. Do they require special chargers?

danielm
Posts: 161
Joined: Mon Oct 05, 2015 12:24 pm

Re: powering ESP32 with a battery

Post by danielm » Tue Mar 26, 2019 7:12 pm

Primary battery means non-rechargeable. But they have quite high capacity in comparison to rechargeable Lithium chemistries (e.g. 2Ah for high performance AA cell with price around 3EUR or D cell with 14Ah for approx. 8-10EUR).

Capstan
Posts: 115
Joined: Sun Jan 29, 2017 4:03 pm
Location: Texas, USA

Re: powering ESP32 with a battery

Post by Capstan » Tue Mar 26, 2019 11:08 pm

Ah, got it. Not rechargeable but not really necessary to recharge them for quite some time for many IoT applications. And inexpensive enough to just replace eventually.

danielm
Posts: 161
Joined: Mon Oct 05, 2015 12:24 pm

Re: powering ESP32 with a battery

Post by danielm » Wed Mar 27, 2019 7:25 am

Just be careful and check max continuous and peak currents of selected cell in case of LiSOCl2. Look for so-called "spiral" type which has special internal construction and is able to provide higher currents, this is important for devices with radio communication interfaces.

In case of LiMnO2 always check performance dependency on environmental temperature in which the device will be operated. They are not very good for use in freezing temperatures.

Post Reply