So one of my last projects was adding a weather vane to my Arduino weather station.

This Lazy Old Geek decided to add a rain gauge to it even though we don’t get much rain in the high desert. Most digital rain gauges are based on something called a tipping bucket. Here is a good diagram complements of:

There are actually a lot of rain gauges for sale. Amazon.com has some tipping buckets for around $20. But I’m a Geek where’s the challenge in that, so I decided to build my own.

Step 1: Parts List

Parts List:

USB Freeduino (Arduino-clone) $22.50
Adafruit Data logging shield $19.50

SD Card $ 6

Aluminum NoTrespassing Sign $ 2
2 Ethernet Couplers                       $1.40 (ebay.com)

1 empty Cashew nut plastic jar
1 Funnel (5.5" diameter)                 dollar store
1 ¾” pipe strap                                  $ 0.59
2 #8 nylon washers                          $ 0.17 @
1 small magnet (10 for $1 at Harbor Freight)
Honeywell SS461C Hall Effect IC $1.86 Digikey

Prices US dollars March 2011

Useful Tools:

Drill/drill press
Rotary tool (Dremel/clone)
Syringe ($0.99)

Any USB Arduino should work but it is easier to wire it up to an Arduino shield so the clone would have to be shield compatible. There are some good deals on ebay for Arduino Duemilanove 2009 for about $18.
The syringe is actually a cattle syringe for veterinarian use. I am a vet, close enough. Actually, this worked pretty good for calibrating my rain gauge.


Amazing job , your recomended my project thanks
<p>It looks to me like you do not need the funnel as the down side is always draining up the the point where the weight of the water in the filling side tips the balance. </p>
<p>You could certainly try it but I don't think it would work. If the rain was falling evenly, pretty soon the buckets would be balanced and not tip either way. Practically speaking it's not going to be balanced but it would not be measuring the actual rain. One of the functions of the funnel is to direct all of the rain into the upper bucket. </p><p>LOG</p>
<p>Hi LOG: Having thought about it, I think you can throw the funnel away. The only time it would make a difference to a reading is when the rainfall over the left collector was different from that over the right collector. That should never be the case provided both collectors are out in the open.</p>
Wow! Amazing job, this an absolutely fantastic tutorial, as you can probably tell from the views. I'm sure you're thrilled. Views and likes are higher than ever! Especially on this wonderful DIY! Nice job
<p>Thanks, I appreciate it.</p><p>LOG</p>
<p>hello msuzukki777 . do you have whatsapp? i'want ask u something about your rain gauge .</p>
I do not have whatsapp.<br><br>LOG
<p>ok thanks. i want ask u something about rain gauge calibration because i do this project for my final year project . did the volume of bucket is fix with 5ml for rain gauge ? thanks .</p>
<p>The volume of the bucket is not fixed at 5ml. What I did was take the syringe filled with water and started dripping water into the bucket When it tipped, then I subtracted the amount left in the syringe from the full amount. It was just a coincidence that it came out to 5ml. I think adjusting the two screws had a slight affect on the volume also.</p><p>LOG</p>
<p>okay thanks for your information . by the way , can i replace the calibration screw with proximity sensor ? i want replace it because i think if the bucket tap the sensor , it will send the data to visual basic , can ?</p>
<p>Good idea. I think that should work.</p><p>LOG</p>
<p>@msuzuki777. sir , did you know how to communicate between hardware and software ? example , i want to communicate the sensor with visual basic but i have a problem . </p>
<p>What I do with this weather station is leave the Arduino attached to the computer. I used to be good at VB programming but the newer versions are harder (and I'm older). Basically, you have to add a serial port object(?) and connect it to the com port # that the Arduino is on. Then you have to parse the data string from the Arduino into the various variables.</p><p>Hope that helps.</p><p>LOG</p>
<p>in what way do the calibration screws -when raising- increase the amount of water needed to tip the bucket??<br>I would guess that the amount of water to tip a bucket is the same, the screw just determines how far the bucket (on that same side) will tip</p>
<p>Well, I'm not really sure but I think the screws change the tilt of the buckets. When water is added to the bucket, if the tilt is pretty small, the water will extend farther from the center and weight will tip the bucket sooner. It's the teeter-totter effect where the force is dependent on the weight and where along the buckets it is distributed. </p><p>LOG</p>
<p>perhaps. i was thinking along those lines too but i cant really picture it, you may and up with a bucket see saw that hardly can move anymore. Guess i have to build one and see :-)</p>
<p>If I have a different diameter for my collecting funnel, can i still use these formula to calculate the amount of rainfall?</p>
<p>Sorry I missed this comment. Yes, you can use the same formula by just changing the Radius value. (Radius is 1/2 diameter)</p><p>LOG</p>
<p>Hi sir, what kind of output has the ss461c?</p>
<p>It is a digital output. When it sees one polarity (N?) of the magnet it goes high. It stays high until it sees the opposite polarity (S?). Since I'm using 5Vdc, it is either 0V or 5V.</p><p>LOG</p>
<p>Do anybody know how to do the GUI in MATLAB or can you please help or teach me how to do it in VB? Need help! :( Thank you!</p>
Sorry,<br><br>Learning VB Express is pretty hard. I've been programming VB for probably 20 years and still have trouble. There are some tutorials but I doubt if they would help. E.g.,<br>http://msdn.microsoft.com/en-us/library/dd492171.aspx<br><br>I think you can do it if MATLAB but I don't have any experience with it.<br><br>LOG
<p>Really excited with this project.</p><p>Anyway, i'm going to integrate this system with a server. it was located miles away from the place where i place this system. So how can i do that?</p><p>Is it possible to send the read data using GSM modem and log it every 10 minutes?</p><p>Or maybe is there another way to do that?</p><p>thank you</p>
<p>I don't know how you could transmit/receive over several miles. You're probably right about using a GSM module but I have no experience for doing that. </p><p>You will also have to have a power source at the weather station.</p><p>LOG</p>
<p>Nice project ! I'm going to use this project for school :)</p>
<p>this is great inspiration .. i have been duin it as a part of my final year project..</p><p>can u please post or send me the new code u use...</p><p>thank you..........</p>
<p>Sorry, I don't have any newer code that will work with this setup.</p><p>LOG</p>
<p>That mountain in the background looks very familar. Might that be somewhere near the Coachella Valley in California?</p>
<p>No, it's in Colorado.</p><p>LOG</p>
<p>5mm seems like quite a large step - it must be quite common in a lot of areas to just get 1-5mm, and then have a sunny day. Since your remaining moisture is sitting in a metal cup in a greenhouse, I imagine a lot of it would evaporate in that situation, and you'd get a bias against low rainfall days. I imagine you could go a *lot* smaller without many problems cropping up.</p>
<p>I'm not sure where you got 5mm. I know I talked about 5mL as my bucket volume. But rain is measured in length(height) like inches or mm. The way I calculated it is that the volume of water hitting the bucket is the diameter of the funnel times the height of water. </p><p>As shown in step 8, the 5mL bucketful translates to 0.0128 inches of rain which is about 0.325 mm.</p><p>This is plenty accurate for me. </p><p>But you are correct that the accuracy could be increased with a smaller bucket size or what I would do would be to increase the funnel diameter.</p><p>LOG</p>
<p>Hello!</p><p>Your design is great, nice work! I'm working on a similar project but I'm a little strapped for time so I am trying to avoid ordering parts. Right now I'm working on the rain station and I'm wondering if you think that the SS345PT/SS445P is a suitable replacement for the SS361? the 361s are designed to respond to alternating North and South poles while the 345/445 responds to a single pole. I don't think I should have to change your design at all.. Any ideas?<br>I was also considering using a Hall Effect Sensor, but I'm not sure.<br>Much appreciated,<br>-V</p>
<p>My concern is that I don't think the SS345PT/SS445P are latching sensors. My sketch is designed to look for a high state than count only when it sees a low state. I believe these sensors only transition when the magnet is near but then returns to it's inactive state. </p><p>If my sketch was able to catch every toggle, then I suspect the count would be doubled actually. If it missed some toggles than the rain count would be less than actual.</p><p>LOG</p>
<p>A quick question. In all three parts, a few of the same parts. Did you purchase three sets of these, or are you listing them for people who only want to make the one part?</p>
<p>The parts lists are confusing if you read all of my Weather Station Instructables. Some, mainly the Arduino and data shield are duplicated. Only one of each is needed.</p><p>By the way, I'm still using my weather station but replaced the data logging shield with a custom PCB and eliminated the SD card as I never used it that much.</p><p>LOG</p>
we only making in our project just for rain.....
are there any additional codes f we use ethernet shield or SD shield??because we're not using a data shield....
Mr. msuzuki,can i know f you have using a software in this project and may i know what is it??thank you sir...
Yes, the Arduino sketch is in a zip file Step 8. The Arduino talks to a PC with USB. The PC is running a VBExpress program which is in a zip file Step 9. <br> <br>LOG
Hi I have been inspired by your weather station enough to embark on a project of my own, however I am an hobby para-glider and have removed some elements such as the rain gauge and wind chill in favour of elements such as Air pressure and humidity which I have done successfully. I would be very pleased if you could provide the VB source code so I could make customizations. P.s would be pleased to provide photos of my weather station attempt, regards John
Great. I'm trying to figure out how to attach a file. So there should be a weatherstation.zip attached.<br><br>What did you use for an air pressure sensor?<br><br>Hope this helps. I am using VBExpress2010.<br><br>L.O.G.
mr. lazy old geek... we did your project as our inspiration to our project(THESIS project actually), but we use EW-512 hall effect ic (since yours is not available in our country) and we directly connect it to our pic16f877a we have our own program but we have not tested it. in your own view, do you think it will work? and one more thing we don't have shield, but we have our data transceiver for our wireless transmission...does the hall effect still effective in our project since we directly connect it to our pic without your shield?
As far as I can tell, the EW-512 will work okay. You will still need a pullup resistor. And it should work fine connecting it directly to the PIC. In this Instructable, I used the shield as it has a Real Time Clock and the SD data storage. But in my current weather station, I don't use a shield. <br> <br>I like your plan of using wireless transmission. Hope it works for you. <br> <br>LOG
thank you very much sir! <br>so, where should i put the pull up resistor, in the red wire of the EW-512? <br>thank you sir!
I do not have any EW-512s so am not familiar with them. I looked at a several datasheets. One of them said a pullup was required but a couple of others said you don't. So you probably won't need one but I don't know for sure without more information on the particular EW-512 that you have. I guess I would try it without a pullup and see if it works. <br> <br>LOG
can we still apply the circuit diagram even without using shield? if it's not applicable, what changes do we have to make?
Yes, modify sketch. See other comments. <br> <br>LOG
can we connect the sensors directly to the arduino, instead of the shield since we won't be using it?
Yes <br> <br>LOG

About This Instructable


260 favorites


Bio: Lazy Old Geek
More by msuzuki777: ESP8266 as Arduino Part 2 EasyIoT Simplified ArduinoUSB3.3
Add instructable to: