Hacking an RF 433MHz device

I have a temperature and rain gauge in my garden that sends data back to a device in my house. I would like to this data to be sent to my PC. I hope I can use my arduino for this.

I've open up both the remote device and the receiver and I can see that it operates using a 433 Mhz transmitter / receiver.

My first thoughts are that I can connect the data pin from the receiver to a digital pin of my arduino and 'intercept' the data which can be read providing I have the right code with the right libraries.

Before I start I would really appreciate advice from the members of the forum on what to watch out for, likely problems, whether this will work or not...

Many thanks :slight_smile:

The transmissions of many different 433 MHz sensors have been decoded, and there is quite a bit of information available on the web. Some can even be found in the Arduino forum! Mr. Google will be happy to point you in the right direction. Of course you will need to know the manufacturer and model number of your device, if you want to check whether it has already been decoded.

Have a look at this thread:

I got it working, but lost interest a bit.. the WX station is now in storage...

And try googling the model number, many of them end up being similar to two of three basic designs, in my case a Fine Offset.


Thanks for the steer on this. It is a really great help.

I have a TFA Model KW-9015 Monsun wireless rain gauge. Unfortunately I can't find a post where it has been decoded before.


One easy place to start is to get a cheap 433 MHz receiver and connect it to power of the appropriate voltage, and use a 5K:1K resistive voltage divider to connect the data output of the receiver to the audio input of a PC or Mac.

Then use Audacity to record what you receive. There are lots of examples on how to proceed from there. See this page: Help decoding 433 mhz RF temperature and humidity sensor - Home Automation and Networked Objects - Arduino Forum

Again thanks

I also sent an e-mail to the manufacturers yesterday asking if they would tell me how to decode the signal. I received a polite no. Seems to me that making your communication protocols available to people is more of an opportunity than a threat.

Never mind.

Consider their polite "no" to be an interesting challenge (I do). Solve the puzzle and make the solution available to everyone!

Hi Matt,
Have a quick look at my two previous posts-
Opinions on intercepting 433MHz from Oregon Scientific WMR200 Weather Station - Device Hacking - Arduino Forum Oregon Scientific WMR86 Weather Station
Intercepting 433mHz Signals from Bios CE1177 Weather Station - Device Hacking - Arduino Forum Bios or Thermor Weather Station (now scrapped)

I had the Bios working for years, and bought one replacement after it clagged. When the last one clagged, I swapped over to Oregon Scientific and decoded it in a similar fashion way (using much information from similar URL references to those that are listed below). Most people seem to approach the problem by counting clock cycles during interrupts which leads to some fancy maths checking upper and lower limits. I have a simpler approach using delays to sample the waveform and see if it conforms to proper Manchester bit encoded data.

If you go down the path of using the analogue inputs of a computer as a cheap CRO (I did in both cases to sort out the initial detail in the waveforms, they had opposite polarity) it is very useful if you can use both channels and sample the 433Mhz with one channel and put out strobes from the Arduino on pin13 to check your timing etc. It can be quite an illuminating debug exercise.

Both posts have working programs, graphics etc. Good luck, it is very satisfying when you have cracked it. The Oregon took me 2 and half weeks (I won't admit to how long it took the Bios, my first, to do). Just buy a 433MHz receiver for a few dollars to put on the Arduino and keep the original receiver on the kitchen shelf. Tapping into the original receiver will not make the whole programming exercise any simpler. If is based on an Oregon, hopefully most of the hard work is done.

Cheers, Rob

PS This was my choice of interrupt timer versions: http://www.lostbyte.com/Arduino-OSV3/ brian@lostbyte.com