6. Soil Moisture Sensor

6.1. Introduction

Soil Moisture Sensor aims to detect the amount of the moisture in its surrounding soil.


6.2. Characteristic

  • Designed in RJ11 connections, easy to plug.

6.3. Specification

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

6.4. Outlook


6.5. Quick to Start

Materials Required and Diagram

  • Connect the Soil moisture sensor to J1 port and the OLED module to IIC port in the Nezha expansion board as the picture shows.


6.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 value of the current soil moisture display on the OLED module.

6.7. Python Programming

Step 1

Download the package and unzip it: PlanetX_MicroPython

Go to Python editor


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

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

Step 2


from microbit import *
from enum import *
from soilhumidity import *

while True:
    soilhumidity = SOILHUMIDITY(J1)
    soilhumidity_value = int(soilhumidity.get_soilhumidity())


  • The value of the current soil moisture display on the micro:bit.

6.8. Relevant File

6.9. Technique File