I am creating a PCB design to power an ESP32 using a 3.7V lithium battery, which will be charged via a 5V solar panel and TP4056.
The main challenge I face is selecting an LDO (Low-Dropout Regulator) to convert the battery voltage (ranging from 3.4V to 4.2V) to 3.3V for the ESP32. The ESP32 will send data to the cloud through Wi-Fi, consuming approximately 250-300mA of current, and I will also connect a JSN-SR04T Waterproof Ultrasonic Sensor Module to the ESP32. To ensure reliability, I need an LDO that can provide at least 500mA, but I'm concerned about the dropout voltage.
I’ve noticed that most LDOs have a dropout voltage ranging from 300mV to 1000mV. Some tutorials recommend using the MCP1700-3302E and HT7333, but their output current is limited to 250mA.
Many applications use battery-powered ESP32s, and I wonder what solutions they implement. Any recommendations would be greatly appreciated!
I don't have an ESP32 to test, but I do have experience with ESP8266 boards like Wemos D1 mini. I have read similar statements about current consumption for ESP8266 also. I would expect ESP8266 and ESP32 to be similar, because the high current is required when WiFi signals are transmitted.
With my ESP8266 boards, the typical average current, when connected to WiFi, is about 80mA.
There may be short periods of higher current consumption and intervening periods of lower consumption, but the average is 80mA, and it seems to be a very stable average with not much variation. EDIT: by this I mean what you would see if you measured the current with a typical multimeter, which probably measures the average over 0.5~1.0 seconds.
This uneven consumption can be smoothed out with capacitors.
So I suggest you measure the actual average current consumption you see in your circuit. I suspect that so long as you add enough smoothing caps, the 250mA limit for those regulators you mentioned might not be such a problem after all.
On a project I did we limited the WiFi to daytime use when the solar panel supplied enough power to run it. We collected data continually but limited the time you could download it to save power. This may not match your usage but it worked for us.
We also switched the sensors off between data collection times. They would be on for a minute or so every 2 hours.
A lot of people collect more data than they need complicating things. I have seen posts where people are collecting data in the millisecond and second range for weather stations. How fast do temperature and humidity really change? What is the response time of the sensors? Hint it is not seconds. In one case we were comparing our data to that collected by NOAA - they used 15 minute intervals.
I think you will find that the Torex LDO will work fine with an ESP32. The ESP32 will run down to 3.0V, and even if battery voltage is low enough than it's not satisfying the dropout requirement to regulate at 3.3V, I think the Torex output will just follow the input voltage on down even if it's not regulating anymore. And since the input is a battery, the supply will still be pretty smooth. But you can test all this, and should.
The TP4056 is not the perfect chip to use with solar, but it will work well enough if there are repeated periods during which your total load current is low enough that the TP4056 will terminate charging when the battery is fully charged. If your load current is always higher than the termination current (see datasheet), then you will continue to charge the battery after it is full, which you should not do. I should say though that Big Clive says even that is ok.