I wanted to play around with deep-sleep on my Firebeetle ESP32-E to reduce power consumption while powering by battery. The actual deep-sleep is working as expected and I can communicate with the SCD-4x before and after deep-sleep.
But there is an odd behavior which prevents me from using it for a real use-case. Initially after a reset or power-on, the SCD-4x takes a lot of time to deliver proper readings. According to the specs, the response time (achieving 63% of a respecting step function) is 60s for CO2, 90s for humidity and 120s for temperature. At worst case this means ~5x the response-time to get a proper reading close to 100%.
Unfortunately, the same happens after returning from deep-sleep. This means waiting for 5x120s to get the first proper. This makes deep-sleep useless. Being 10min awake and just sleep 5min does not yield the expected power savings.
Can somehow the last I2C state be persisted, so that the sensor continues where it stopped before? Or any other idea to make the situation better?
To demonstrate it in numbers, after a reset or wakeup, the sensor reads around 30°C. The actual room temperature is ~22°C.
Any help is highly appreciated
Cheers Danny