A radio to MQTT bridge built with ESP8266 and NRF24L01+ modules


After having had continuous and numerous problems with end devices compatible with Home Assistant, I decided to create these devices from scratch, in order to have total control over them. I then created a radio to MQTT bridge that makes use of a NodeMCU (ESP8266) Wi-Fi module [NodeMCU - Wikipedia] with a NRF24L01 + module [https://www.sparkfun.com/datasheets/Components/SMD/nRF24L01Pluss_Preliminary_Product_Specification_v1_0.pdf]. I also created door sensors and vibrations sensors with a PIC16LF1829 chip + NRF24L01+ (used as radio transmitter).

Unfortunately the Microchip licenses do not allow me to publish the sensor project on the PicMicro with an open source license (such as MIT, GPL etc.); however I am happy to publish at least the bridge, which is universally compatible with any transmitter based on NRF24L01+. In addition, with a few code changes you can make the bridge work with another radio module (let me know if it might be useful to add changes to the code).

As you will experience, it is very easy to build this device. Just connect a NodeMCU to a NRF24L01+ module and install my firmware. There is no need for anything else. I would be happy if someone contributed to the project by creating very low consumption end devices with mcus (connected to NRF24L01 + modules) that are compatible with open source licenses. Any feedback is really welcome, and I hope this project grows and becomes more and more useful to the Home Assistant community.


Hi @paopre ,

An esp have wifi. NRF24L01 module is used for communicate wirelessly in the same range of Wifi.
I don’t really understand the build :wink:

Can you expose the use cases and give more details / examples ?


my project is necessary if you want to build battery-powered (—> low-power) end devices, such as door sensors, vibration sensors, etc.
You can’t build them on a Wi-Fi interface: you have to use a low power component such as a NRF24L01+ module. Then, the bridge I built is necessary to translate signals from radio to Wi-Fi (MQTT).

[end device (radio sender)] —> [radio to MQTT bridge (Wi-Fi)] —> Home Assistant

Thank you,

The communication are in one way or can be also sending something from MQTT towards end device ?
(I’m putting out of scope devices that are in deep sleep mode)

The communication is currently one way because I could not find useful or practical cases in which the other way is needed. However, this feature doesn’t require much additional code, so, If you know such cases, please tell me so I can evaluate if to expand the project. Thanks.

I’m thinking about a simple connectivity check.

You can already test it by sending a signal from the sensor to the bridge. No need to implement the communication in the other way…

1 Like

Hi, I want to send commands to open and close my chicken coop door. And it would be great if i also could receive the doorsensors value. And maybe also water level…

Hi, Are you still working on this actively? My use case is that I have a water tank few meters away and I want to read the water level using NRF24 module and feed the information to home assistant. Do you think that this new project can help achieve in same, if not would it be possible to extend the feature so that NRF24 can send the readings back to the bridge?