In this article is shown how to build your own wireless weather sensor compatible with Oregon weather station using compact attiny85 micro controller. You can buy spare Oregon sensor THGN123N for about $20 or you can build your own wireless sensor that implements Oregon protocol V2.1 for about $9 and have fun!

The main component of the sensor is an accurate temperature/humidity sensor that can report the weather condition with high precision (about 0.5 degree of centegrees). The si7021 sensor has shown perfect results, so I recommend this sensor one more time: it has great accuracy, small form-factor and low power consumption.

Also, we need mobile platform with low power requirements that can run on the batteries for a long time. The sensor firmware is small and can easily fit into attiny85 micro controller memory. The power consumption of the attiny85 running at 1MHz in sleep mode is about 4 micro Amps!

And the last, we need the software library for sending the signals using appropriate protocol. Happily, there is the software created by Domonique Pierre, emulated Oregon V2.1 protocol, that we can reuse.

Step 1: Component List

To build own weather sensor you need the following components:

  • attiny85 micro controller - $1.2 (in bundle of 10)
  • temperature/humidity sensor si7021 - $2.6
  • wireless transmitter 433 MHz - $0.6 (in bundle of 5 pairs transmitter/receiver)
  • two AA battery case pack - $1
  • small components - about $0.5
    • resister 10k
    • resister 3.3k - 2 pcs
<p>ciao, your project is a real dream but I've some lack for coding on attiny.</p><p>have you made some test on a sketch for the arduino one's board?</p><p>it will help me a lot .</p><p>thank's a lot anyway .</p>
<p>you can build similar project on arduino, like thus one: https://www.hackster.io/sfrwmaker/make-your-own-remote-temperature-humidity-sensor-464f63</p>
<p>Hi again</p><p>I have a big favor to ask. Can you please add the libraries that you used to compile this sketch with. I have tried several different versions of the following:</p><p>#include &lt;TinyWireM.h&gt;</p><p>#include &lt;USI_TWI_Master.h&gt;</p><p>#include &lt;SI7021.h&gt;</p><p>All without success.</p><p>Thanks in advance.</p>
<p>Have you fixed the .cpp file of the SI7021 library? You had to commented out the include of &lt;Wire.h&gt; library like this:</p><p>/*<br>Copyright 2014 Marcus Sorensen &lt;marcus@electron14.com&gt;<br><br>This program is licensed, please check with the copyright holder for terms<br><br>Updated: Jul 16, 2015: TomWS1: <br> eliminated Byte constants, <br> fixed 'sizeof' error in _command(), <br> added getTempAndRH() function to simplify calls for C &amp; RH only<br>*/<br>#include &quot;Arduino.h&quot;<br>#include &quot;SI7021.h&quot;<br><strong>//#include &lt;Wire.h&gt;</strong></p><p>Anyway, you can download the libraries using this link:</p><p><a href="https://www.dropbox.com/sh/0z9mb5u1f72nt9d/AADr45o9LK6ICb-EtkXnS0E3a?dl=0">https://www.dropbox.com/sh/0z9mb5u1f72nt9d/AADr45o...</a></p><p>Adruino IDE version used - 1.6.12 for windows. Attiny support was recently added to my IDE.</p>
<p>Thanks for your help. But after building the circuit, my weather station did not pick up the new sensor.</p><p>I later found out that my wireless protocol uses Oregon V3. But it was worth the build, as I never used the ATTiny85 before. Still learned a lot building the project.</p>
<p>Sorry for that. Domique Piere have realized some functions for Oregon protocol v3. It is a little bit more complicated than v.2 protocol, but you could implement it, if you have a time. </p>
<p>Thank you. Yes, I did NOT comment out the Wire.h in the cpp file.</p><p>I was able to compile and upload the file afterwards.</p>
<p>Very interesting. I have built an attint85 weatherstation (and wrote an instructable on it) but that was just with a whip up 'protocol' with Manchestercode. Your Oregon protocol makes it a lot more interesting and more universal. I'll see if I can implement your code on my hardware.<br>Other than that, yours looks great as well</p>
<p>Excellent project. I will definitely build one to add to my weather station. </p>
Nice project. You could use the 1.1v internal voltage reference of the attiny for battery monitoring. That way you get 2 pins free and don't need the voltage reference of 1.24v.
Thank you very much. I will investigate this capability. This would make the sensor much simpler.

About This Instructable



More by sfrwmaker:attiny85 wireless weather sensor 5 minutes Christmas neopixel led strip Weather monitor 
Add instructable to: