Problem statement:
As a home-owner/renter I need to control multiple heating systems with room-by-room thermostats that I can move around for optimum measurements.
Solution statement:
Hardware (ESP12F with Si7021 sensor) and software (Arduino) implementation of a WiFi MQTT temperature/humidity sensor with battery voltage monitoring and 9+ months rechargeable battery life. Designed for integration with Home Assistant.
See the product website for a summary.
- An ESP8266 implementation like ESP-01, ESP-12F or NodeMCU
- A
DHT22 orSi7021 sensor - An MQTT server like Mosquitto
- 2.4GHz WiFi network with the ability to assign static IP addresses
- Arduino IDE for flashing
Tested on:
- ESP-01 lacks easy GPIO16 access for deep sleep
- ESP-12F current preferred module
- NodeMCU has power-hungry onboard components
Tested with:
- DHT22 inefficient and low precision
- Si7021 current preferred sensor
Tested with:
- 2xAA batteries fine but unsustainable
- Generic JST Li-Ion battery current preferred battery
Tested with:
- MCP1700 current preferred regulator
- TPS62203 high frequency switching too fiddly to implement stably
End goal is to print the smallest PCB + battery package and 3D print a case for discrete deployment.
Goal is to make the device last as long as possible on batteries.
Current best energy usage is using the Si7021 sensor, measured using a currentRanger.
Startup: 0.0789mAh
This includes initial connection to WiFi, sensor reading, publication, writing to RTC memory.
Reading (no change): 0.0012mAh
This shows the initial reading of RTC memory, sensor measurement, sleep and wake up to publish result.
Reading (change): 0.0285mAh
This shows the initial reading of RTC memory, sensor measurement, sleep and wake up to publish result.
Energy estimates
- Worst case (a reading every 10 minutes):
4.75mAh/day
this should last ~9 months on a 1200mAh battery. - Better case (heuristically 50 readings a day):
2.19mAh/day
this should last over a year on a 1200mAh battery.
- Many thanks to Andy Bennett for all the support and assistance throughout the projet
- Thanks to the OpenEnergyMonitor Project for the tip on Si7021 sensor and low power inspirations.
- Thanks to the LowPowerLab team for making the CurrentRanger and low power inspirations.