Guides › Coin-cell thermometer

English · Svenska · فارسی

🌡️ Coin-cell thermometer that lasts months

“Can a coin cell run a temperature sensor for a year?”

Yes, if the whole design is built around sleeping. A coin cell holds very little energy, so the board sleeps almost all the time, wakes briefly to measure, broadcasts the reading over Bluetooth Low Energy (BLE), and sleeps again.

Cost$15–25
Time1 weekend
LevelSome experience helps
PowerCR2032 coin cell

Ask IotMentor

What to buy

PartWhy this oneRough cost
nRF52840 board (e.g. Seeed XIAO nRF52840)Bluetooth Low Energy with very low sleep current: the best fit when battery life is the hardest rule.$10–15
SHT40 temperature and humidity sensor boardAccurate, small, and uses very little power between readings.$3–8
CR2032 holder and cellsAbout 220 mAh per cell. That's tiny, which is why every microamp matters.$2–4
Capacitor, 100 µF or moreAcross the cell. It covers the short current peaks of each radio burst, which a coin cell handles badly.$0.50

Prices are rough ranges, not quotes. Check the current price and stock before you order.

What to install

Arduino with Seeed's nRF52 board package and the Adafruit Bluefruit library: take a reading, put it in a BLE advertisement (a short broadcast any nearby phone can hear, no pairing needed), then sleep. Use the BTHome format and Home Assistant shows the reading automatically; otherwise the free nRF Connect app shows the raw broadcast.

Check whether you need to build it at all. Cheap ready-made BLE thermometers (for example the Xiaomi LYWSD03MMC) already run on a CR2032, and the open-source pvvx firmware makes them speak BTHome. Build your own to learn, or when you need a sensor they don't have.

The honest battery maths

Battery life ≈ capacity ÷ average current. A CR2032 holds about 220 mAh.

Average currentRough life, before losses
10 µAabout 2½ years
25 µAabout 1 year
50 µAabout 6 months
100 µAabout 3 months

Then take off a real margin: cold, the cell's own slow self-discharge, and the radio's current peaks all cut the real life. The average is set mostly by the board's sleep current and how often it wakes.

Build it in three steps

  1. Read the sensor on USB. Connect the SHT40 over I²C and print the temperature.
  2. Broadcast, then sleep. Put the reading into an advertisement every minute or two, and sleep in between. Check that your phone sees it.
  3. Measure before you trust the maths. Run it from the coin cell and measure the sleep current with a multimeter on its µA range, in series with the cell. Then use the table above with your real number.

What catches people out

Your version is different?

Ask IotMentor with your own details: distance, power, budget, experience. It asks a few questions back, then gives you a plan like this one, free.

Ask IotMentor

Starts with: “Can a coin cell run a temperature sensor for a year?” Add your own details before you send it.

More guides