As I mentioned in my last post I wanted to get the GLCD display that I built for my OpenEnergyMonitor system to transmit the reading from its internal temperature sensor so that the Nanode could upload it to the emoncms web interface. Once that was working it gave me the idea of building wireless temperature sensor modules for other areas of the house, the first of these is now complete and is sensing the outside temperature which is being displayed on the GLCD as well as being uploaded to emoncms by the Nanode. This has now allowed me to retire the old one wire temperature sensor system that I had connected to my MisterHouse server.
The board for the wireless temperature sensor module is basically the same as my minimal Arduino build with an RFM12B transceiver and a DS18B20 temperature sensor added. As it’s running directly from 2 x AA batteries no voltage regulation was added.
As I only have a 5V FTDI cable for programming and the RFM12B isn’t 5V tolerant I soldered it to a small carrier board so that it can be removed during programming, this also has the benefit of making the footprint for the main board smaller while still keeping things neat as the space under the RFM12B can be used for some of the links. The idea of soldering the RFM12B in this manner came from a picture that Andrew Lindsay posted on Twitter showing how he uses them with breadboard, simple but very effective.
Here is the stripboard layout for the main board and RFM12B carrier, note that I haven’t connected all the connections on the RFM12B, only those actually required to interface with the ATmega.
I’ve lifted most of the code for the temperature module from the emontx examples, just removing the CT sensor parts and as it implements several power saving measures (putting the ATmega to sleep and powering down the RFM12B in between readings) the battery life should hopefully be as good as or better than the 5 months that the OpenEnergyMonitor real world test got.
Displaying the readings
I’ve now got the emoncms web interface showing the temperature readings from the GLCDs sensor and the wireless temperature module as well as the power reading from the emontx, I’ve also installed the Multigraph extension which makes it easy to show all three on the one the graph:
Here is my home made emonGLCD displaying the reading from its own sensor (Room Temp) and the temperature received from the wireless module (Outside Temp). The slight contrast difference on a couple of lines is due to the camera catching the refresh, it doesn’t show in real life.
Here is the code I am currently using, it’s a bit rough and ready in places as I’m still experimenting but it works:
Wireless Temperature Sensor Module
emonGLCD with KS0108 display and temperature TX and RX
Nanode receiving multiple transmitters