How to run at ESP 32 slow speed?



  • On the ESP32 datasheet they say that during modem sleep the current usage may vary between 3mA and 20mA.
    0_1500956217560_esp32 power use.PNG
    How can i change into slow speed mode? Also can i still read accelerometer values during modem-sleep?

    Any help would be appreciated,
    Kind Regards, chris



  • @chrisi Are you measuring over USB or on a battery? According to this post: https://forum.pycom.io/topic/1460/power-consumption-deep-sleep-pysense-pytrack/20 you'll get about 10 mA more over USB.

    Also, are you using the expansion board, Pysense, Pytrack...?



  • @chrisi
    Those specifications are for the ESP32 chip on its own, however any ESP32 system like the Pycom boards also need external SPI Flash (another 20 mA+) as well other smaller components.

    That said I think 50mA is a bit high, IIRC I recently saw 30-40 mA for the LoPy on its own. I'm not sure how or where you are measuring it.



  • @jmarcelino Ok thanks, also do you know if the speed which is preset in the firmware at the normal or max speed level? For sum reason even with wifi and bluetooth disabled i am using 50mA which is well above the 20mA which is suggested. I do have a tracks which is also using some power but 50mA is still far above the specified maximum?



  • @chrisi
    You can change the ESP32 clock frequency to 80Mhz (slowest) when building custom firmware, however I'm not sure all the components will then work correctly. I've never tested it myself. I'd expect some problems.

    It's a compile time option only for now.



  • @jmarcelino Thanks for the reply you are very helpful. You say that you cannot change the clock frequency dynamically yet but can you change it in boot so slow speed is constantly used? or do I have to modify firmware to change the clock frequency?

    Thanks,

    Chris



  • @chrisi

    "Modem sleep" is essentially disabling WiFi and Bluetooth i.e. WLAN.deinit() and Bluetooth.deinit()

    That doesn't affect the other peripherals, e.g. reading an accelerometer

    Slow speed means changing the clock frequency, this isn't possible to do dynamically at runtime yet and not sure it would work correctly if you compile a custom firmware.



Pycom on Twitter