XIAO Soil Moisture Sensor review with Home Assistant

XIAO Soil Moisture Sensor review
Seeed Studio sent us a review sample of the XIAO Soil Moisture Sensor powered by the XIAO ESP32C6 wireless module and running on a single AA battery. Designed for ultra-low power consumption, it’s supposed to offer long-lasting operation with dynamic adjustment of monitoring intervals. It’s preloaded with ESPHome firmware and is fully compatible with Home Assistant. It’s ideal for indoor plants monitoring, but it can’t be used outdoors since the 3D printed enclosure is not weatherproof.

In this review, we’ll start with an unboxing, do a quick teardown, and test it with Home Assistant to receive a notification on our smartphone when the soil is dry.

XIAO Soil Moisture Sensor specifications

  • Wireless module – XIAO ESP32C6
    • Wireless MCU – Espressif Systems ESP32-C6
      • CPU
        • 32-bit RISC-V core up to 160 MHz
        • Low-power RISC-V core up to 20 MHz
      • Memory – 512 KB SRAM, 16KB low-power SRAM
      • Storage – 320 KB ROM, 4MB flash
      • Wireless – 2.4 GHz WiFi 6 (note: the ESP32-C6 also supports Bluetooth 5.0 LE/Mesh and 802.15.4 for Zigbee 3.0, Thread, and Matter, but those are not listed in the specs of the soil sensor)
    • USB –  USB Type-C for programming (requires opening the case, not used in this review)
  • Misc
    • Button for detection status and calibration process
    • RGB LED – Green: normal, Yellow: almost dry, Red: dry (only active when the user presses the button)
  • Power Supply – AA battery (not provided)
  • Case –  Black 3D printed case
  • Certifications – HSCODE 9025800090, USHSCODE 9025801000, UPC, EUHSCODE 9013101000, COO (China)

Unboxing

The package only contains the XIAO Soil Moisture Sensor with its 3D-printed black enclosure. On the left side of the photo below, we’ll find the RGB LED, and on the left side, the sensor probe, which is a PCB designed to be inserted into the soil for measuring moisture. One side of the probe features a depth scale (0–80 mm) to help insert the sensor at the appropriate depth for different plant root systems, while the other side has decorative patterns and the words “XIAO / SOIL” on the silkscreen.

XIAO Soil Moisture Sensor unboxing 2

The button can be found on the top of the 3D printed case. It allows the user to instantly trigger a soil moisture measurement and see the status with the RGB LED.

XIAO Soil Moisture Sensor button
We opened the case with a plastic prying tool. This provides access to the AA battery holder.

XIAO Soil Moisture Sensor AA battery
We can take the main PCB out of the enclosure after removing four screws. This reveals the XIAO ESP32-C6 modules soldered on the other side, along with a 2.4 GHz WiFi 6 antenna attached to the IPEX connector of the module.

XIAO Soil Moisture Sensor ESP32 C6

First try of the  XIAO Soil Moisture Sensor

The first step is to insert an AA battery. The XIAO Soil Moisture Sensor is pre-calibrated and ready-to-use, so we can just try it immediately. Just insert it into the soil, and press the button to get a reading of the three supported moisture levels.

single AA battery

  • Normal – No need to water the plant. Green LED.Normal LED Green
  • Almost dry – Time to think about watering the plant. Yellow LED.Almost Dry LED yellow
  • Dry – Time to water the plant. Red LEDXIAO Soil Moisture Sensor Dry LED red

When connected to Home Assistant, the firmware will report the status at specific times depending on the humidity level:

  • Normal: measurement once every 8 hours
  • Almost Dry: measurement once every hour
  • Dry: measurement every 15 minutes

This is done to extend the battery life. That also means watering your plant regularly before it gets to the dry level will help extend the battery life…

Review of the XIAO Soil Moisture Sensor with Home Assistant

We’ll use the same Home Assistant server (a Raspberry Pi 4) as in our review of the reTerminal E1001 and E1002 ePaper displays.

Home Assistant Raspberry Pi 4 1

Now connect to the “XIAO-Soil-Moisture-Monitor” SSD with your computer or smartphone.

wifi SSID XIAO Soil Moisture Sensor Monitor
Access http://192.168.4.1 in a web browser to connect the sensor to your local WiFi access point by selecting the SSID and entering the password.

Connection wifi networks

Now, go to the Home Assistant web interface and add the device in Settings -> Devices & Services -> Integrations -> ESPHome -> add device.

add device XIAO Soil Moisture Home Assistant
The XIAO “Solid Moisture Monitor” should now show up in the Home Assistant Dashboard, displaying both the “Battery measurement” and the “Soil Moisture Status” entities.
XIAO Soil Moisture Sensor Home Assistant.dashboard

XIAO Soil Moisture Sensor Dry
The detected battery level is rather low, probably because we used a rechargeable AA battery.

Next, we will create an Automation to send a notification to your smartphone when the soil is dry—every day at 5 PM. We’ll start by installing the Home Assistant Companion app on our smartphone and enabling notifications. We’ll need to find the phone’s name. To do so, go back to the Home Assistant web interface in Settings > Devices & Services > Mobile App. In our case, it is “STK-L22”

Home Assistant mobile name 1
We can now create a new automation by going to Settings -> Automations & Scenes -> Create Automation -> Create new automation -> Start with an empty automation.
Create new automation
Now click “Add trigger”, select Entity -> State + -> Entity: Soil Moisture Status, and set the To: field to Dry, and save.

automation Notifications Dry
We want to send a notification to our smartphone when the soil is dry, every day at 5:15 PM. To do this, add another trigger with Add trigger → Time, set the time to 5:15 PM, and save.
automation time Notifications mobile
Click on Then do -> Edit in YAML.

automation Notifications mobile

Add the following code:


and save. You’ll get a notification daily at 5:15 pm whenever the XIAO soil moisture status is “Dry”.

Home Assistant Notifications Soil Alert
After we water the plant…
Soil Moisture Status Normal Moisture 0
… we can check the status in Home Assistant, and it will report “Normal Moisture”, and somehow 0% for the battery, even though the sensor is still working normally…CSoil Moisture Status Normal Moisture

Conclusion

Based on our testing, Seeed Studio’s XIAO Soil Moisture Sensor works as advertised. When inserting the sensor into the soil and pressing the button for an instant measurement, the LED clearly displays the status (dry/moderate/wet), allowing immediate checking of soil moisture levels. However, one hardware drawback I noticed is that the button is quite stiff and hard to press.

It comes pre-loaded with ESPHome firmware and integrates with Home Assistant out of the box. The system reads soil moisture values accurately and displays them in the Home Assistant Dashboard. We could also set up an automation to receive a notification when the soil is dry. We have some concerns about battery life since it’s based on ESP32-C6, although it stays in deep sleep for eight hours at a time when the plant is watered regularly, helping to extend the battery life. Be prepared to recharge or change the battery every few months.

The XIAO Soil Moisture Sensor can be purchased on Seeed Studio for $9.90 or AliExpress for $11.29.

CNXSoft: This article is a translation of the review on CNX Software Thailand by Suthinee Kerdkaew.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
10 Comments
oldest
newest
Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC