For over a year now the living room node and La Crosse Gateway has been sitting atop a plastic bin next to my patio slider in a mess of wires. This is when you know you have too many projects lying around the house. So this summer I decided to design a PCB with a nodeMCU that will replace both projects and mount atop of a power brick. I went with the nodeMCU since there is power nearby, ease of connecting directly to the MQTT broker, and I can broadcast more often without the power limitations of a battery. This project frees up two RFM12B boards so that they can be used for the other window and the front door.
Living room slider node and La Crosse gateway |
- 2x female headers (so the nodeMCU is removable)
- DHT11 sensor for humidity/temperature
- LDR for light level
- 2pin header for reed switch attached to slider door
- 100uf cap for RC circuit to add delay when closing a door or window (internal pullup)
- Connections for 433Mhz radio for the La Crosse outdoor temperature sensor
- Breakout of the rest of the GPIO’s for future expansion
NodeSensor blank PCB |
It took awhile to populate the PCB since I wanted to order proper 15pin female headers but they are nearly impossible to purchase here in the States. So I bought a bunch and put them in the FriedCircuits shop. After a weekend of porting the code it’s up and running. It was just a matter of merging the two projects code replacing the Jeenode library with the esp8266 library and adding MQTT publishing. After a few weeks of putting it into action I added the ArduinoOTA library for the nodeMCU. Very convenient to push code to it on the fly. I will have to add this to all my esp8266/nodeMCU projects.
Fully populated nodeSensor |
There is one issue where it will stop receiving and publishing the La Crosse sensor data. I will have to investigate what is going on. A reset fixes it until it stops again. The other sensor data gets published no problem. It’s the same code I used previously that also had issues but slightly different. It would get stuck receiving the La Crosse data. The LED would continuously blink which only happens in the La Crosse function.