Arduino + 433.92mhz rx + Oregon Scientific Weather

I'm hoping somebody can get me started in the right direction for this project. My goal is to replace the Base Unit (RX) of an Oregon Scientific WMR100 weather station with an Arduino. The Arduino would use a 433.92mhz RX to receive the signals from the O.S weather sensors and pass them to a PC for processing.

Here are a few things I know: The O.S Weather Station (WMR100) sensors uses 433.92mhz. The OS 3.0 protocol is semi documented on the 'interwebs'. There are existing products that already do this (FXCOM receiver) People have done the same with an Arduino and other Weather Satiations. (The new book 'Pratical Arduino' does this with a La Crosse station)

Things I could use help with: I could use some examples of hooking up a 433.92mhz module to the arduino (Im a software guy.. hardware isn't my thing) Are there any sketch samples that dump the raw RX data to serial? Basically I could use a push in the right direction

Any help would be appreciated!


I'm building a weather station using arduino 2009 see:

I just bought a Oregon Scientific WMR100 that was on special. I was interested in the format of the data sent from the remote sensors. I chased some information down that may be of interest.

The RFXCOM Receivers are at:

It says it can read

Oregon-THGR810 Inside Temp-Hygro Oregon-WTRG800 Anemometer + Temp-Hygro Oregon-PCR800 Rain Gauge Oregon-UVN800 UV sensor

using the Oregon Scientific 3.0 protocol - whatever that is.

A lot of other Oregon Sensors can be received too but only the packet format of the listed sensors is made available in the

documentation delivered with the receiver.

Others are also having problems:

The RFXCOM receiver supports the OS 1.0, 2.1 and 3.0 protocols and is able to receive all sensors using this protocol. The

packet format and the checksum calculation is available for a number of sensors.

It says to see the RFXCOM Oregon protocol documentation.

The best I can find is at:

The main problem in developing this program was that the protocol used by the weather station is undocumented.

This is a his look at the packet structure for the wmr928:

Maybe the wmr100 is similar.

However the way I read it,if you buy the RFXCOM receiver it should have the programs to give you the serial data from the sensors via the USB port.

Since i already have the WMR100 i don’t want to spend $100+ on the RFXCOM receiver. There are plenty of code samples floating around the ‘net’ that show how to decode the USB data sent from the WRM100 base station (I run a custom win32 server that captures that data now).

There are a few AVR projects that decode the Oregon Scientific V2.0 protocol…

The 3.0 protocol should’t be that hard.

I don’t know enough about the arduino (yet) to know how to capture the packets with a 433.92mhz RX.

Looking at those sites it seems as though you now have enough hardware information.

Here in Aussi we have easy access to the Radiometrix rx modules.

Once you have your rx module, the data out should connect straight to an arduino input pin - if you make the VCC's the same. You then poll that pin and collect your "1's and "0's.

The hard work will be to figure out what they mean!

When you get it working I hope you will post your results. I would like to build one myself.

Well.. I've done it! (ok.. maybe I'm only 90% done).. but I can now decode the following Oregon Scientific V3.0 sensors using the 'Weather Station Receiver' shield from the Practical Arduino book.

THGN 801 - Temperature / Humidity PCR800 - Rain Gauge WGR800 - Wind Sensor (speed / direction) UVN800 - Ultra-violet Index Sensor

(those are the only ones I own :P)

The last step I have is to figure out the checksum (thread asking for help is here:

For the entire group of ~5 people in the world who care about this I'll post a link to my website with the documented protocol and a link to the code once its cleaned up.

A big thanks to everybody I borrowed/stole knowledge and code from ;D


Good work

I think you might be suprised how many people are following your work. Only a tiny percentage post replies.

I cant help with your CRC.

I'm looking forward to seeing the results of your work.

I want to use my PCR800 - Rain Gauge for my remote outdoor location.

Glad to hear you got this working!

I've just started trying to decode the data from some Oregon Scientific sensors so if you could post a link to your source that would be a great help...

I also just got Practical Arduino, and am hoping to use it (for a Sanguino, actually) to get data from the Oregon Scientific modules. Looking forward to seeing your code!


I just received my Receiver shield, could you give a link where I can load your code about oregon decoding signals ? I would like to get data from my temp/humidity sensor oregon !