ESP32 lower startup power consumption?

slower
Posts: 2
Joined: Thu Jan 19, 2023 3:40 pm

ESP32 lower startup power consumption?

Postby slower » Thu Jan 19, 2023 3:56 pm

I have a ESP32-based project that is powered by a hub dynamo of a bike and gets its VCC at 3.4V and has a 1000 uF capacitor as a buffer (Eagle sketch at https://github.com/mh-g/esp32-speedometer-proto-hw). However, the system does not start up reliably. I suspect the ESP32 starting when the voltage is still fairly low, draining the capacitor, which cause a reboot, starting at rather low voltage again, ... resulting in a boot loop.

Is there a way to reduce startup power or delay startup until the capacitor is loaded to a higher level?

On the Internet, I find suggestions of putting another capacitor between EN and GND or adding delay circuitry. However, I wonder if I can do without additional hardware and just with reconfiguring startup behavior.

Any suggestions?

ESP_Sprite
Posts: 8921
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32 lower startup power consumption?

Postby ESP_Sprite » Fri Jan 20, 2023 3:11 am

What you probably want is to keep the ESP32 in reset (EN line low) until the voltage has reached an appropriate level. You can either do that using something hand-built like a comparator against a reference voltage (but be sure to build in some hysteresis) or you can simply take an existing voltage supervisor IC and use that.

slower
Posts: 2
Joined: Thu Jan 19, 2023 3:40 pm

Re: ESP32 lower startup power consumption?

Postby slower » Sat Feb 04, 2023 4:16 pm

Thanks for the suggestions. Unfortunately, I do not have a valid reference voltage available.

I did some further measurements. measurementcycle-1.png shows the drop in input voltage with each measurement cycle of my ESP32 application. This is the minimum hysteresis that is needed (about 0.5 V, 0.65 V would be better). Furthermore I attach fadeout-2-valid.png, which shows the voltage plot when getting to lower speeds: Each hub dynamo partial rotation bringing current in from the next armature. These can lower the voltage by up to 1 V (thus getting close to the minimum voltage needed for the ESP32). Ideally, this would also be covered by the hysteresis. So far, I did not find any supervisor IC that set EN at 3.4 V and keeps it until 2.5 V. Any suggestions?
Attachments
measurementcycle-1.png
measurementcycle-1.png (7.41 KiB) Viewed 1403 times
fadeout-2-valid.png
fadeout-2-valid.png (33.8 KiB) Viewed 1403 times

ESP_Sprite
Posts: 8921
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32 lower startup power consumption?

Postby ESP_Sprite » Sun Feb 05, 2023 1:45 am

In that case, you may want to hand-roll a solution. For instance, this document has the schematics to make a comparator have hysteresis. For Vref, rather than a voltage divider, you'd want to take a fixed voltage reference, e.g. the 0.7V drop of a diode or a zener or something. For the input voltage, you'd want to scale the battery voltage down (using a resistive divider) to come in range of that 0.7V. Then you'd run the calculations to get the hysteresis you want. Connect the output of the comparator to the EN pin of the ESP32, and you're good.

boarchuz
Posts: 559
Joined: Tue Aug 21, 2018 5:28 am

Re: ESP32 lower startup power consumption?

Postby boarchuz » Sun Feb 05, 2023 3:07 am

Another option is a supervisor IC selected to ignore voltage drops of a short duration. TPS3899, for example, has a programmable sense delay using an external capacitor; if the voltage rises above the threshold again before this time expires, it will do nothing.

Who is online

Users browsing this forum: No registered users and 60 guests