This entry describes a water level sensor which has a long battery life, uses cheap and readily available components. Users can easily read out the actual water level and state of the battery over a web interface.

Technical implementation:

The main components of the sensor are a low-power microcontroller and a low-power radio transceiver. For the microcontroller a MSP430G2553 from Texas Instruments is used. It has a standby current of only 0.5µA typically. The used 2.4GHz radio transmitter nRF24L01 from Nordic Semiconductor has a standby current of 0.9µA typically. So the standby current of the sensor would be 1.4µA. For the sensing element a simple two core cable is wound around a pipe. Between the two cores a capacity could be measured. This capacity will change if the cable is submerged into the water and therefore the capacity could indicate the water level. The microcontroller charge the capacitor over a series resistor of 100kΩ for 46µs and then measure the voltage with its build-in 10 bit ADC. This voltage is dependent on the capacitance and therefore also indicates the water level. The equation for the voltage across the water level sensor is V(t) = VCC*(1-exp(-t/(R*C))). Because of the short measurement time of 46µs the power consumption for one measurement will be low. The maximum used electric charge for one measurement would be (VCC/R)*46µs = 1.38nAs (for VCC=3V) and could therefore be neglected. During transmissions the radio transmitter will consume 12mA for 3ms. If only every minute a new value is transmitted the average consumption would be 1.4µA + 12mA * 3ms/60s = 2µA. The sensor is supplied with a CR2032 coin cell battery. The battery life time would be over 10 years if the battery has a capacity of 200mAh!

For receiving of the sensor data a RaspberryPi is used. It is connected to a nRF24L01 radio transceiver module over SPI. Furthermore the RaspberryPi uses Node-Red for hosting a user interface web page.

BOM cost for one sensor unit:
1 x MSP430G2553IPW20R 0.95€
1 x nRF24L01P-R 1.46€
1 x Capacitive water sensor (= 5m twin core cable) 0.50€
= 2.91€ total*

BOM cost for the receiving unit:
1 x Raspberry Pi Zero - Version 1.3 4.46€
1 x nRF24L01P-R 1.46€
= 5.92€ total*

*Passive components like resistors and capacitors are not included. However their contribution to the total price could be neglected.


This sensor could be used for every water level measurements. Because of the capacitive measurement no electrical part has to be in contact with water and the sensor could be build according to IP68 (waterproof), Especially for rainwater collection it can help to reduce the water consumption by monitoring the water level of cisterns. Users would adjust their water consumption according to the available rainwater. I think this idea should win because it is cheap to produce, easy to use, have a long battery life and could be used in many different applications. Furthermore a working prototype have already been built as a proof-of-concept.


Voting is closed!