A low-power ZigBee sensor integrated with HomeAssistant for monitoring temperature, humidity, and CO2.
- High accuracy temperature and humidity measurements (Sensirion SHTC3)
- High accuracy CO2 measurement (Sensirion SCD40) - optional board
- Low power consumption and long battery life
- Hardware: nRF52840 chip, low-current linear regulator, battery monitor with on/off capability
- Software: Zigbee sleepy end device
- Measured: 3uA average over 1 minute (without CO2). 3mA average over 1 minute (with CO2 low-power mode)
- Can be powered with 3V to 6V (JST connector), e.g. 350mAh li-poly.
- Small footprint (3,5cm x 3cm )
- Tested with Home Assistant and SkyConnect
The PCB was designed with KiCad 7 and manufactured/assembled with JLCPCB. All relevant files can be found in the repo
This project uses a west workspace (manifest in west.yml) and a local Makefile wrapper.
From the project directory:
west init -l .
cd ..
west updateThis initializes a west workspace in the parent directory and fetches all required modules
(including modules/sensirion_drivers for SCD4X).
cd <project-dir>
make buildDefault output:
build_west/merged.hexbuild_west/schneggi-sensor/zephyr/zephyr.elf
make testmake flashmake build BUILD_DIR=build_debug
make build CONF_FILE=prj_production.conf
make flash SNR=<your_jlink_serial>After updating west.yml:
make west-update- The PCB design was inspired by Getting Started With nRF52 MCU in a PCB
- The repos zigbee-plant-sensor and b-parasite are a great start
- The Zyphr driver for SCD40
- The nRF Sniffer with https://www.wireshark.org is a helpful tool to debug Zigbee communication
- The ZigBee specification 22 1.0 and ZigBee Cluster Library R8




