How often can a battery-powered CO2 monitor wake up before the battery dies?

Oct 15, 2026 Last reply: 16 hours ago 4 Replies

First reply

steve.keller_1989

With a 10 minute cycle the wifi hookup is still most of your energy budget, so yes, doubling the interval gets you close to double the run time. I ran the same sort of math on a porch sensor and the pattern is: 10 to 20 minutes nearly doubles it, 20 to 40 gives you maybe 1.5x…

Read the full reply

I've been putting togather a little air quality box for the hallway with an e-ink screen and a CO2 sensor, and I'm stuck on the wake interval. Right now it wakes every 10 minutes, reads the sensor, pushes the value over wifi to Home Assistant, updates the screen and goes back to sleep. The screen only gets refreshed when the number actually changes, which is nice, but I have no feel for wether 10 minutes is way too chatty.



The bit confusing me is the wifi connection itself. From what I've read, the radio hookup is the hungry part of the whole cycle, so if I stretched it to every 30 minutes the battery should last a lot longer. But then the graph in Home Assistant looks chunky and I might miss when the air goes stale after cooking dinner. Is there a rough rule of thumb for how much extra life you get per doubling of the interval? Also wondering if people log locally and sync once an hour, then only ping the server straight away when the reading crosses some threshold. That feels like the sensible middle ground but I don't want to build it twice because I guessed wrong. Running off a single protected cell at the moment, charged over USB.


With a 10 minute cycle the wifi hookup is still most of your energy budget, so yes, doubling the interval gets you close to double the run time. I ran the same sort of math on a porch sensor and the pattern is: 10 to 20 minutes nearly doubles it, 20 to 40 gives you maybe 1.5x, and after that you plateau because the deep sleep floor current takes over and stretching the interval barely helps. So going from 10 to 30 minutes is a solid win, but going from 30 to 60 buys you very little extra.

Two cheap tricks first though. Set a static IP so the radio skips the DHCP handshake, and consider turning wifi TX power down if you're close to your router. Both shave a second or two off the connect, which matters way more than the interval when you're only waking a few times an hour.

On CO2 specifically, 10 minutes is honestly fine for a hallway. The number drifts slowly and your e-ink graph will still look smooth in Home Assistant. The one gap is cooking, where levels can jump within a couple of minutes. That's where your threshold idea comes in, and it's the right call. Log locally, sync every hour, and if the reading crosses somthing like 900 or 1000 ppm you fire off a push right away. You don't build it twice either, since the hourly sync and the alert path can share the same connect routine.

One thing I'd avoid is waking more often when nobody's home. A simple schedule, say every 10 minutes during evenings and every 30 overnight, gets you the responsive graph where it matters without much code.

Agreed with the hourly sync plus threshold alert setup, that's basically what I landed on for my garage unit. I store the readings in the flash chip between wakes and push the batch when I connect anyway, so the graph in Home Assistant stays detailed without extra radio time. One detail from my setup: the SCD-type sensor needs a minute or two of warmup after power on before the number is trustworthy, so check whether yours does a proper reading right after waking or whether you need to let it settle first. Mine gave inflated values for the first few cycles untill I figured that out.

A cheap inline USB power meter is what finally made this click for me. I'd been guessing at the numbers until I put one between the charger and the board, and it turned out my CO2 sensor was staying awake the whole time between readings and pulling more than the radio ever did. Cut power to it during the nap and my run time roughly tripled without touching the wake interval at all. So before you tune anything, worth checking where the milliamps acutally go, because in my case it wasn't where everyone says it is.

Not convinced the TX power trick is the freebie the first reply made it out to be. I tried dropping it on my shed unit, which has a couple of walls between it and the router, and connects started failing every few days. Each failure leaves the radio sitting there retrying until it gives up, which eats far more than a weaker signal ever saved. On battery you want the connect to land first time, every time, and if that takes full strength then that's what you use. Fine if the box genuinely sits near the router, but I'd run a week of logs before trusting the savings. Did you actually measure that second or two, or was it more of a rough guess?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required