Rainfall Meter Based on Elasticity

Introduction: Rainfall Meter Based on Elasticity

In order to see the images more clearly download the added file 'Instructable'.

This instructable shows how to make a rainfall meter based on elasticity of rubber bands. In the picture you can see the end result. If water falls down into the plastic bowl, one of the sides kept up by rubber bands, this side will drop down further than the side kept up by the rope, when the weight of the bowl increases with the amount of water. The angle of the wooden plate has a relation with the amount of water in the bowl and is measured with an accelerometer. The results can be published online automatically, so there is no human error here. However it is nescesary to empty the meter manually.

When making the setup yourself, calibrate it again to obtain the correct values for the amount of rainfall.



· A plastic cylindrical bowl size: diameter 11.6 cm, height 10.0 cm

· A wooden square plate (15X15X1 cm)

· 8 small screws

· 2 nails

· 2 small rings which stay behind the screws

· Duct tape

· 8 rubber bands

· 2 thin but strong enough ropes

· A laboratory stand

· Clamps for the laboratory stand

· Extension ring for the laboratory stand

· (Optional : cubic plastic cup, with 1 open sides)


· Grove – 3-Axis Digital Accelerometer (±1.5g)

· Micro-USB cable

· Base Shield with an I2C port

· Particle Photon

· Grove cable

Tools needed

· Drill

· Hammer

Step 1 preparing the laboratory stand

Put the laboratory stand on a stable ground surface. Place the extension circle on the highest point of the stand and tighten it with the clamps. Now attach the rubber bands to the extension circle by pulling one rubber band through inner circle of the extension ring and pull it through its own loop, and tighten it by pulling a little on it. Now you put the rubber band through the loop of the previous rubber band and then through its own loop. Repeat this until you have a strand of 4 rubber bands. Now do the same with the other 4 rubber bands on a different point on the iron circle. (different knots for the rubber bands will also suffice)

Step 2 preparing the wooden plate

Drill a screw with a ring on it into the side of the plate close to the corner, but not so close the screw won’t stay, about 1.5 cm from the corner worked in our wooden plate.(The green circles in figure 1 and 2) Do the same on the opposite side, so the screws are pointing towards each other. Now attach the ropes to the separate rings. Don’t put the screw to tight, for the rings will act as low friction hinge.

Draw a circle, with the same diameter as the cylindrical bowl on the top of the wooden plate as far away from the screws as possible. Now hit two nails into the wood on the circle at approximately 0.5 cm from the edge (the red circles in figure 1).

Now turn the wooden plate around and drill two screws into the corners where the rubber bands will be held in location (the red circles in figure 2). Attach the sensor and the board of the photon to the wooden plate with screws. For the locations of the screws see the figures.

Step 3 Putting everything together

Put the cylindrical bowl on top of the wooden plate, in such a way that it is stuck behind the screws. Now attach it tighter by using duct tape. Attach the rubber bands to the screws at the bottom of the plate. Keep the plate horizontally while attaching the ropes to the rings on the other side. Now attach the ropes to the iron cylinder while checking the sensor on whether you are still keeping the plate steady. For getting the sensor and photon working look at the instructable on blackboard.

Step 4 connecting the photon

First of all, create an account on particle.io and ifttt.com and download the particle application on your phone. Connect your Photon through USB cable to your laptop. To set up the Particle Photon, go to this link and follow the steps.

Connect the Accelerometer to the Photon through the I2C port, as shown in figure 3.

Connect the Photon to your computer (or laptop). Open build.particle.io and press the Devices button (shaped like a target scope). Select your photon as the device. The breathing cyan dot means your Photon is currently online.

Step 5 Creating the App

Click on the two arrows <> icon and press Create New App (still on build.particle.io). Above the code cell, click on the + sign, you should now see three tabs with .ino, .ccp and .h. Copy the MMA7660.ccp and MMA7660.h code on this site and paste it onto the corresponding tab in Particle Build, except for the .ino file. For the .ino tab, copy the code in figure 4.

Call the tabs Accelerometer, MMA7660 and MMA7660 respectively. Save and verify the code with the buttons at the top left. Everything works? Great! Flash the code onto the photon by clicking on the lightning bolt. The Photon should flash magenta, it means that it is updating. Wait until the photon breathes cyan again. Now it should work.

Next, you want to publish your measurements on the internet. Go to ifttt.com and login. Click on your name and create a new applet. Click on THIS, type Particle and click on the Particle logo. Then click on New event published. Call your event name “Precipitation”. You can leave the Event contents empty. Next step is to select your device from the dropdown menu at Device ID. Click on “Create Trigger”. On THAT you select Google Drive and you select add row to spreadsheet. Finally, Create Action! In your google drive you see measurements coming in online.

Step 6 calibrating the rainfall meter

The value 15656.87 in the code will be different for every set up, therefore it needs to be calibrated.

The following formula can be used to directly establish a relation between the amount of rainfall and the dislocation in the x direction. It is derived from Hooke’s formula. The stiffness C needs to be determined by calibrating the instrument, the location where L is the length of the wooden plate. (3/2)^-1 is the gravity point of the cylinder filled with water is located. It’s at 2/3* L from the hinges, if your bowl is placed further away from or closer to the hinges you should change this value.

When you have some values for P and x, C can be determined by taking the average of the separate ones.

X is the output value of the accelerometer, P can be determined by keeping track of the volume of water you add to the cylindrical bowl. Using the following formula. V is the volume of water in litre and D is the diameter of the cylinder in meter.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Arduino Contest 2016

Participated in the
Arduino Contest 2016

Be the First to Share


    • Backyard Contest

      Backyard Contest
    • Silly Hats Speed Challenge

      Silly Hats Speed Challenge
    • Arduino Contest 2020

      Arduino Contest 2020



    3 years ago

    Great information! Congratulations on your first instructable!