What it shows
Rain collected by a funnel fills one side of a tiny see-saw bucket; when it tips, a magnet passes a reed switch and the Arduino counts one tip. Knowing the volume per tip and the funnel area gives rainfall in millimetres on an LCD.
The science
Rainfall in mm is the depth of water that would stand on a flat area. The funnel collects rain from a known mouth area A and each tip empties a fixed volume V, so each tip equals V divided by A millimetres. The reed switch is two thin contacts in a glass tube that close in a magnetic field, giving a clean switch with no battery in the bucket. The Arduino reads it with INPUT_PULLUP and an interrupt, with a short debounce so one tip is not counted twice.
Materials
Cost: under Rs 500. Many items come from home or from waste; spare parts such as LEDs, motors and wire are in the store.
- An Arduino Uno or Nano clone and USB cable
- A reed switch and a small neodymium magnet
- A plastic funnel, a plastic bottle and a strip of plastic for the twin bucket
- A thin nail or wire for the pivot
- A 16x2 I2C LCD
- A 9 V battery and jumper wires
- A measuring syringe or cup for calibration
Safety
For this project: Keep the electronics in a sealed box under the funnel. Small magnets must be kept away from young children.
Never use mains electricity: power models with cells, batteries or a low-voltage adapter. Sharp and hot tools, flames and lab chemicals need an adult or your teacher beside you. Keep magnets, button cells and small parts away from young children, and wash your hands after making.
All the safety rulesStep by step
9 steps. Do them in order, and test each part before you go on to the next. Write what you notice in a notebook as you go.
Cut the bottle so the funnel sits in its top; measure the funnel mouth diameter to find its area.
Fold the plastic strip into a V with a wall in the middle to make two buckets, and push the pivot through the centre so it rocks.
Glue the magnet under one bucket and fix the reed switch on the bottle wall where the magnet passes on each tip.
Wire the reed switch between pin 2 and GND; use INPUT_PULLUP and attachInterrupt on FALLING.
In the interrupt, if more than 200 ms have passed since the last tip, add one to the count.
Calibrate: pour 1 ml at a time with the syringe and count how many ml make one tip, repeated five times.
Compute mm per tip from the volume and area and show total mm and tips on the LCD.
Add a reset button and a daily total line; test by sprinkling water from a shower head.
Compare your reading with a straight-sided jar left in the same shower, which also gives mm directly.
What you should see
The LCD counts tips and shows rainfall in mm; the figure matches a simple jar gauge to within about 10 percent.
Viva questions
A teacher or a judge will ask how it works. Try to answer each question before you open it, then compare.
1Why is rainfall measured in mm and not litres?
Depth is independent of the collector size, so readings from any gauge can be compared.
2What is debouncing?
Ignoring the rapid flicker a mechanical switch makes as it closes, so one event is counted once.
3Does the funnel size affect the mm reading?
No, as long as the area is used in the calculation; a larger funnel just gives more tips per mm.
4What error does a heavy downpour cause?
Water keeps flowing while the bucket is mid-tip, so a little is lost and the reading slightly under-counts.
Take it further
Add an ESP8266 and post the daily total to a free weather sharing site.
Change one thing, measure what happens, and add a table or chart of your readings: that is what turns a model into your own investigation.
