Guide to Low-CO2 Gadgets: Deep Sleep and Battery Life

Last modified 5 days

CO2 Gadget features a low-power binary system (HIGH_PERFORMANCE / LOW_POWER) that achieves a battery life of up to 3 months with a single 18650 battery, compared to the few hours offered by a conventional meter. Here you’ll see how to configure wake-up via CO₂, via timer, via button, and non-blocking deep sleep techniques for SCD4x and CM1106.

Documentation is currently being updated. We are currently reviewing and improving all our pages. You may come across a broken link or some content that hasn’t been finalised yet. If you spot anything that isn’t quite right, please help us fix it at GitHub.

Operating modes (binary, from v0.16.x)

From v0.16.015-beta onwards, CO2 Gadget uses a model binary modes (there used to be 4 modes, which have now been simplified). The preference lowPowerMode Take the values:

ModeValueDescriptionConsumption
HIGH_PERFORMANCE`0`Continuous operation, no standby mode, all radios activeHigh
LOW_POWER`1`Deep sleep with configurable periodic wake-upsVery low

If you upgrade from a version earlier than v0.16, the old `MEDIUM_LOWPOWER` setting is automatically migrated to `LOW_POWER=1` via `upgradePreferences()` on the first boot.

Deep sleep cycle

In LOW_POWER mode, the meter wakes up periodically, takes measurements, publishes data (if applicable) and goes back to sleep. The main parameters are:

ParameterConstantDefaultMeaning
`waitToDeep``timeToWaitForCaptivePortal`60 sTime spent awake before going back to sleep
`timeSleeping``DEEP_SLEEP_SECONDS_DEFAULT`60 sDuration of deep sleep
Sleep range`DEEP_SLEEP_SECONDS_MIN/MAX`15–900 sConfigurable minimum and maximum limits
`activateWiFiEvery``cyclsWifiConn`5Wake cycles between Wi-Fi connections
`cycRedrawDis`5Intervals between screen refreshes
`wakeOnCO2Alert``true`The screen lights up when the orange threshold is exceeded

Sensor behaviour in low-power mode (v0.16.x)

Each sensor has a handler optimised to minimise power consumption whilst in wake mode:

  • SCD41 — non-blocking single-shot (`measureSingleShot(true)`), conversion within 5 seconds of light sleep. The result is processed during the next wake. This is the key improvement in v0.16.015.
  • SCD40 — `startLowPowerPeriodicMeasurement()`, wait time limited to 31 s in a 0.3 s light sleep.
  • SCD30 — continuous mode, wait time limited to `(sampleTime + 1) × 1000` ms.
  • CM1106SL-NS — wait for RDY to be active-LOW for up to 2 s, cycle from HIGH to LOW, validation `CO₂ > 0`.
  • MH-Z19 / Senseair S8 — standard continuous reading.

BTHome in low-power mode

When the BLE BTHome is active (SUPPORTBTHOMEBLE), whilst in deep sleep mode, the meter emits a brief BTHome announcement (BLEWAKEADVERTISEMENTMS = 2500 ms) before going back to sleep. PM particle sensors are omitted in the display (the fan does not allow time for a valid measurement); the selection is held and resumes automatically when the setting returns to HIGHPERFORMANCE.

Barometric pressure in the wake

If your build includes SUPPORTLOWPOWER_PRESSURE and a BME280 sensor; at each wake, a takeForcedMeasurement() to get an up-to-date pressure reading without exiting sleep mode. This pressure is published via BTHome and MQTT.

Web-based configuration

The page /low_power.html allows you to configure the publication thresholds for the ThresholdManager (4 channels: Display, BLE, MQTT, ESP-NOW) and the wake flags. The mode is also controlled from there (lowPowerMode) and sleep duration.

Battery

The CO2 Gadget measures the battery voltage using a 100k/100k divider (ratio 2.0) and averages 3 samples per reading. The display only updates when the voltage change is ≥ 0.1 V (to prevent flickering). You can configure batChargd y batDischargedMillivolts from the menu Settings → Battery Config (defaults: 4150 mV full, 3200 mV empty following the migration to v0.16).

Important notes

  • RTC variables are preserved during deep sleep (with a fallback to NVS)
  • The T-Display S3 completely switches off the backlight (IC DW8904)
  • The current calibration is retained during sleep
  • CO2 Gadget offers more advanced energy management than any other commercially available meter in the same price range

Did you find this helpful? Share this article. Have a look at the Menu Guide. Any questions? Ask on the Telegram group.

Leave a comment