FiPy deepsleep methods
It appears that there are a number posts in the forum about issues with trying to obtain the lowest possible deepsleep current.
I have been steadily chipping away at issues with my systems that have been built around FiPy.
With the assistance of a number of people on the forum, I am now comfortable that I have a platform that is stable using NB-IoT and deepsleep as well as using LFS instead of FAT for longevity of the flash storage system.
I have now com back to the issue of trying to reduce the current draw in deepsleep.
For some reason, I do not seem to be able to get the current that my system draws below 15mA when in deepsleep.
It appears that I have at least some issue where the LTE modem does not always remain turned off after the system wakes from sleep.
What steps should I take in my code to ensure that all unwanted devices are turned off and remain off until such time as they are required after a wake from deepsleep?
I have observed that after using the lte modem and then closing it off with a deinit(reset=True) the deeplsleep current appears to be its lowest at 15mA. After wake up (even without using/initilising the lte modem) and then going back to sleep again, the deepsleep current then sits at 50mA. This indicates to me that the lte modem has powered back on again even though I am not using it.
How do I ensure that all unwanted/unused peripherals are placed in their lowest current (off) state and what is the lowest current that we should expect from the FiPy whwen in deepsleep??????
@livius yes, wifi & lte components are turned off on boot and only enabled when needed. but I am still stick at 11mA. I am thinking that there are other bits of my circuit that are consuming current (level shifting components, i/o, etc). I did find that my rs232 monitoring port is responsible for a little. After disconnecting the monitoring, I can get down to 7.5mA. Still a long way to go to get down to 10's of uA as I would expect in deepsleep.
livius last edited by
do you use some of this?
when you set it with
falsethen you can bring it up when you really need it.