DIY Netatmo replacement - cheap enough to have 20 stations for price of one.

Nov 20, 2015

I have a netatmo. They're fabulous. They're expensive.

I want to monitor the temperature and humidity in every room, shed, porch, and the 4 directions that the wind slams into our house.

That would be about 20 locations. At NZ$150 per indoor module (and netatmo only supports 2 modules per base unit so i'd need more base units) that's not going to happen on my budget.

So what can I do instead?

The expensive part of a netatmo is the CO2 sensor. Just buying the cheapest sensor of allieexpress is about NZ$60. And that's probably a very low quality sensor. Let's drop that from the specs.

A well calibrated accurate temperature & humidity sensor is between $10 and $20 each - let's reduce the accuracy. Is knowing it's 18 to 19C enough? It'll do for my budget.

I bought 20x DHT11 for NZ$1.20 each from I could get the DHT22 for about twice that and inhindsight i'd recommend them instead. DHT22 have much better accuracy.


I bought 20x Arduino UNOs for NZ$6 each, also from I got the ones with microusb cables because they're a little easier to find. I also got some short cheap microusb cables.


I bought 20x 433MHz transmitters. THESE ARE VERY NOISY. I also bought a few recievers.


I bought Uno prototype board. I bought the cheapest. Turns out these were for a old edition of the uno board, but that means pulling out a couple pins so it would fit.

Then I soldered the sensors onto the prototype boards - and plugged those in.


After assembling about 10 of these sensor+transmitter units, and programming them up with different "station" names, I placed them around the house.

I made up a receiver unit. This is a 433MHz receiver, with a tuned wire aerial sticking up. It listens for the sentences from the sensors, and repeats this out the serial port. A raspberry pi then hears this (in a python script listening to the serial port) and sends to openhab over rest (i'll blog that later). I have plans to either recieve the messages on a raspberry pi, or get an arduino/otherboard connected to the lan/wifi to do this directly.

TODO: Put code on github. Coming soon. I have some up on my github, but it's early attempts and not the ones i got working. Will push good code soon as i remember.

Now here's something important. The 433MHZ is noisy, and if you're adding to the noise, you should really do so in a considerate way. This means sending a message maybe every 30 minutes, not every 10 seconds.

sensor and transmitter

This all ends up in openhab for each room.
openhab sensors

Brenda Wallace

Brenda does many things. Lately it's mostly typing softwares, and soldering gadgets.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.