3.1 What You Need
The main component required to make this project work is something called a flex sensor. The buoyancy of rising water levels will bend the sensor. As the sensor bends one way or the other, current values will increase or decrease accordingly. The sensor’s position can be read with a simple Arduino program and can be powered via either the Arduino’s 3.3 or 5.0 volt pins.

Figure 2. Water Level Notifier parts
Here’s the complete list (refer to the photo in Figure 2, Water Level Notifier parts):
-
An Arduino Uno
-
An Ethernet shield[20]
-
A flex sensor[21]
-
A 10k ohm resistor[22]
-
A 1-inch fishing bobber
-
Three wires (power, ground, and analog pin 0) trimmed to desired length
-
A 9-volt power supply to power the Arduino and Ethernet shield once untethered from the USB cable
-
A pole or wood plank to attach and hang the flex resistor from
-
A web server running PHP 4.3 or higher (not pictured)
You will also need a standard A-B USB cable (not pictured) to connect the Arduino to the computer and an Ethernet cable (also not pictured) to connect the Ethernet shield to your network.
We will be reusing the Arduino and Ethernet shield again in several other projects, so—not including the cost of these two items—the remaining hardware expenses should be under twenty dollars. Considering the peace of mind and the ease with which you can build further ideas upon this concept, this is money well spent.