ESP32 startup times
I found myself in a conversation about ESP32 boot times. Specifically the time it takes from boot until user code can do something useful with an IO.
As this was something relevant to Richmote but I didn’t have any actual data I decided to
do a simple setup to measure the results. My test setup consisted of two probes one connected
to the RST
line and the other to a random GPIO. The firmware would immediately setup the
GPIO as an output
and pull it HIGH
. Nothing else.
The Result⌗
326ms!
At first this seems pretty so, but as I’d said in the early parts of our conversation when ask, how fast is it?
Fast? At least humon scale fast.
And this is true, when I was still attempting the soft power switch on the Richmote I couldn’t press the button fast enough to prevent the power switch from latching. So I would consider this ‘fast enough’ for most human facing devices.
But Wait! There’s More!⌗
As it does, the conversation went on to discussing the likelihood of wake to usefulness being ‘much faster’ from a deep sleep. This makes sense as a lot of the CPU bootstripping will have already been taken care of but what does the data show?
52ms is quite the improvement!
Conclusion⌗
If your device needs to be as responsive as possible, do your best to get it into a sleep state.