If you’re looking to dip your toes into the world of Zigbee development, this project is for you. In this tutorial, we’ll guide you through building a wireless temperature and humidity sensor using the Omnimo nRF52840 dev board paired with the Temp&Hum 24 Click (HDC3021 Sensor). The sensor data will be broadcast over Zigbee and integrated into Home Assistant using the ZHA (Zigbee Home Automation) integration.
What You’ll NeedOmnimo nRF52840 Dev BoardA compact, powerful development board based on the Nordic Semiconductor nRF52840 SoC, featuring Bluetooth Low Energy (BLE) and Zigbee capabilities.
TEMP&HUM 24 CLICKA MikroElektronika Click board equipped with the HDC3021 sensor, capable of measuring temperature and humidity with high accuracy.
Segger J-Link Programmer or another way to program nRF52840 chip
Software ToolsnRF5 SDK for Thread and Zigbee v4.2.0The official Nordic SDK that provides the tools and libraries needed to develop Zigbee applications.
Segger Embedded Studio for ARM (V7.32a)The IDE used for compiling and flashing the firmware.
Githttps://github.com/OmarEMbed/Omnimo-nRF52840-zigbee-temperature-humidity-sensor
Home Assistant with the ZHA integration enabled
Step 1: Set Up Your Development EnvironmentDownload the SDKHead over to Nordic’s website and download the nRF5 SDK for Thread and Zigbee v4.2.0. Extract it to a directory of your choice.
Install Segger Embedded StudioDownload and install Segger Embedded Studio for ARM (V7.32a) from the official website.
Clone the Project RepositoryNavigate to the examples/zigbee/experimental
folder in the extracted SDK directory and clone this project repository https://github.com/OmarEMbed/Omnimo-nRF52840-zigbee-temperature-humidity-sensor into it.
The HDC3021 sensor on the Temp&Hum 24 Click measures temperature and humidity. The code interfaces with the sensor via TWI to retrieve these readings.
Broadcast Data Over ZigbeeUsing the nRF52840’s Zigbee stack, the sensor data is packaged and transmitted wirelessly to a Zigbee coordinator (e.g., your Home Assistant setup with ZHA).
Step 3: Compile and Flash the FirmwareOpen the ProjectLaunch Segger Embedded Studio and open the.emProject file located in project directory cloned from https://github.com/OmarEMbed/Omnimo-nRF52840-zigbee-temperature-humidity-sensor
Build the ProjectClick the Build button to compile the code. Ensure there are no errors during compilation.
Flash the FirmwareConnect your Omnimo nRF52840 board to your computer using a Segger J-Link programmer.
Step 4: Integrate with Home AssistantEnable ZHA IntegrationIf you haven’t already, enable the Zigbee Home Automation (ZHA) integration in Home Assistant. Follow the official ZHA setup guide if needed.
Pair the Sensor- Power the Omnimo nRF52840 board using USB Type-C or Battery
- Put your Zigbee coordinator into pairing mode.
- Reset the Omnimo nRF52840 board to initiate pairing.
- Once paired, the sensor should appear in Home Assistant under the Devices section.
Check the Temperature and Humidity entities created by the sensor. You should see real-time readings from the TEMP&HUM 24 CLICK sensor.
eAFAQ

Comments
Please log in or sign up to comment.