I work on the micros that aren’t plugged I to a grid. So solar and batteries and the like. In that world, power consumption is everything. Interrupts and aggressive sleeping of your processor are you biggest tool.
Does anyone have any experience with current draw of typical pieces of “firmware” using this? I see that it’s on the larger side of what feels like micro, BUT tomorrows micro has been growing heaps over yesterdays micros for a long time, so I can ignore that.
Compared to other microcontrollers: ESP32 is very power hungry. Shiny displays are very power hungry, Wi-Fi is power hungry. So expect to draw about 5 watts/hour continuously while in operation with all bells and whistles.
With this said (I'm also using them for off-grid) you will need to put them to sleep and only use the display when absolutely needed for most scenarios. I've recently started using devices with e-paper display which at least solve that nuisance of the display power draw: https://www.waveshare.com/wiki/ESP32-S3-ePaper-1.54
The last thing to keep in mind is heating. They will warm quite a bit and you should consider a way to either keep them cooled or make them sleep enough to cooldown, otherwise they will reboot or stop working until they are cooled again.
Depends... do you need wifi, screen and others always on? can you wake some on a timer? on user interaction? on interrupts?
https://lastminuteengineers.com/esp32-sleep-modes-power-cons...
You can use those sleep modes in micropython as well
https://randomnerdtutorials.com/micropython-esp32-deep-sleep...
> 5 watts/hour
Typo I'm guessing, but I found this unit of "energy acceleration" amusing.
"Gotta go fast" :-)
In my language we say it colloquially that way, turned out wrong in English. Should have been 5 Wh.
Rather you would say it draws 5 watts. If someone is interested in draw over a period, e.g. over one hour, you'd say it used 5Wh in that period.
> If someone is interested in draw over a period, e.g. over one hour, you'd say it used 5Wh in that period.
Wh per hr? Let's just cut through the confusion and say it draws (J/s)Hr / Hr. :P
More seriously, if you are interested in energy the "correct" SI unit is J although in electrical applications [k/Mega/Giga]Whr is common. If you are interested in energy draw over a period, aka power, the "correct" and common unit is W. While 5 Wh per hour might seem simpler, it is equivalent to say this thing draws as much energy per hour as a device that that draws 5W would draw over one hour - needlessly redundant.
In the offgrid world we look constantly at batteries and they often express themselves in Wh. So it is a habit to measure anything else that way to avoid confusions.
I haven't used MicropythonOS per se, but Micropython is pretty efficient, and can utilise interrupts and sleep modes
I have a charger "controller" that I developed in MicroPython for an SAMD51 board. It can do sleep just fine, as long as you set up interrupts properly.
But I just need to do a bunch of ADC readings and some simple if/else conditions, so it doesn't require any real non-trivial computations.