24. Water Level Sensor(EF05023)#

24.1. Introduction#

It is able to detect the water level with the on-board visible parallel wires.


24.2. Characteristic#

  • Designed in RJ11 connections, easy to plug.

24.3. Specification#

Item Parameter
SKU EF05023
Connection RJ11
Type of Connection Analog output
Working Voltage 3.3V

24.4. Outlook#


24.5. Quick to Start#

24.5.1. Materials Required and Diagram#

  • Connect the Water lever sensor to J1 port and the OLED to the IIC port in the Nezha expansion board as the picture shows.


24.6. MakeCode Programming#

24.6.1. Step 1#

Click “Advanced” in the MakeCode drawer to see more choices.


We need to add a package for programming, . Click “Extensions” in the bottom of the drawer and search with “PlanetX” in the dialogue box to download it.


Note: If you met a tip indicating that the codebase will be deleted due to incompatibility, you may continue as the tips say or build a new project in the menu.

24.6.2. Step 2#

24.6.3. Code as below:#


24.6.5. Result#

  • The current value of the water level displays on the OLED screen.

24.7. Python Programming#

24.7.1. Step 1#

Download the package and unzip it: PlanetX_MicroPython

Go to Python editor


We need to add enum.py and waterlevel.py for programming. Click “Load/Save” and then click “Show Files (1)” to see more choices, click “Add file” to add enum.py and waterlevel.py from the unzipped package of PlanetX_MicroPython.

../_images/05001_081.png ../_images/05001_091.png ../_images/05023_10.png

24.7.2. Step 2#

24.7.3. Reference#

from microbit import *
from enum import *
from waterlevel import *
waterlevel = WATERLEVEL(J1)
while True:

24.7.4. Result#

  • The current value of the water level displays on the micro:bit.

24.8. Relevant File#

24.9. Technique File#