24. Water Level Sensor

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

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

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.

Step 2

Code as below:



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

24.7. Python Programming

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

Step 2


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


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

24.8. Relevant File

24.9. Technique File