Multi-room home temperature monitoring, simplest communication method?


I am new to these forums and relatively new to Arduino (have been playing around with blinking LEDs, a toy car that stops according to a distance sensor, etc.)

I would like to build a system that monitors the temperature in 3-4 rooms indoors in my house, as well as outdoors.

The plan in my head right now is to have "satellite" Arduinos, or perhaps stripped-down Arduino-like microcontroller devices, each bearing an LM35 temperature sensor or something similar, transmitting temperature information wirelessly every 1-10 minutes to some kind of central or "base station" Arduino, which then can display all 4-5 temperatures on a screen.

Future projects could involve dumping the temperature vs. time data to a file for later analysis, or turn the data somehow into a Web page.

The tricky part of this for me is choosing how to communicate the data from the "satellites" to the "base station".

There are a lot of sample projects out there but some are a few years old, and with lots of devices and libraries out there, I'm unsure about what the best implementation is today (late 2014).

I would ideally want a wireless solution that is fairly inexpensive, relatively easy to code for and can handle the multiple inputs.

Your help is greatly appreciated!

Add RS485 transceiver at each location, let them talk serial to each other, or slaves to master.

Or go wireless.

^ Thanks, I should have clarified that I want the system to be wireless. I just edited the post to reflect that.

There seem to be small RF communications options out there, but I don't know how they compare in terms of ease of use, cost, and ability to handle multiple information sources (i.e. from the four or five different locations I plan to monitor).

You can have 6 NRF24L01 2.4GHz wireless modules communicating together, however your problem will be getting this working. See this thread and this one.

Many of the inexpensive remote temperature sensors operate on 433 MHz and their transmissions have been decoded. I would buy several sensors and build one receiver/Arduino setup to receive and record the transmissions. Before you buy, do some research to see which ones have been decoded. Most, if not all, Oregon Scientific sensors, plus some from Acurite and La Crosse have been decoded. See

Example sensors (you can buy them individually rather than together with base station):

Hey all,

I needed the same multi-room thermometer and wanted to make it cost efficient so I used the approach with 433Mhz reciever/transmitter pairs and Arduino Nanos.

The full description of the project is available on my blog. It is designed to work with multiple remote sensors and also can be very easily extended to use commercial remote control outlets to even control the heating. I hope you enjoy it! :)

ChilliTronix: You can have 6 NRF24L01 2.4GHz wireless modules communicating together, however your problem will be getting this working.

I don't see any need to create a Mesh network if each of the slaves can communicate directly with the master. Just have the master ask each slave for data one at a time. All the slaves will hear the data but the only slave to reply will be the one whose ID number matches the ID in the request. The ID can just be a const value created when the program is compiled.


You could use attiny84's with RMF12B transceivers as your sensor nodes, you can run them off battery for years. I already have 8 such sensors and arduino yun as the receiver saving the transmissions to sdcard and then up to thinkspeak to monitor on a web site.

The attiny84 has more than enough pins for a transceiver and a couple sensors for each sensor node. The RFM12B transceivers are very realiable, and my sensor nodes are able to transmit over 60m thru walls.

Thanks @rxpc. I must study that combination further.


The ESP8266 modules are inexpensive, but it seems they still need some firmware tweaking to get them easier to use with an arduino. A number of videos on youtube.