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:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

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

10 Replies to “XIAO Soil Moisture Sensor review with Home Assistant”

  1. Nice. But instead of the annoying notification, proceed with activating some automated device which water the plants for the necessary time, please. Thanks.

    1. That’s totally up to you Caio, we have esphome powered sprinklers all around so would be straight forward to setup. How does your setup looks like?

    1. Hello Al Sneed,
      can you explain what exactly can corrode? Due to the lack of Cathode and Anode and the usage of captive measurement I see no physical reason for an early failure.
      Any way thanks for post and I hope you are able to accurate your worries in the future!

    1. I see an advantage in skipping ZigBee and use WiFi instead. No hub needed and present WiFi infrastructure can be used. Also with the default measurement interval of 8 hours a battery lifetime of half a year or more can be expected

      1. I’ve coded both Wi-Fi and Zigbee apps on the C6 and measured power consumption. A Wi-Fi session to deliver a few sensor values using MQTT used as much as 10x the power of Zigbee. The fastest I’ve been able to deliver data by Wi-Fi is about 2.8 seconds. Zigbee can deliver the same data in about 600 mS
        Most Home Assistant systems already use Zigbee, or a USB Zigbee controller can be added. NO additional hub is required.

        When the moisture level drops, this implementation ups the report frequency to as often as every 15 minutes.

        I actually created and used my own soil moisture sensor using the very good, but expensive, VH400 probe from Vegetronix for years using an ESP32-S2/Wi-Fi/MQTT. I used the VH400 because it is sealed, has a long cable, and I can bury it at root level in my lawn.

        When the C6 w/ Zigbee came out, I switched to Zigbee and never looked back. I’ve created other C6/Zigbee sensors as well. I get much better battery life

        1. 2.8 seconds sounds very excessive, probably with DHCP and WPA encryption? If you work on it, you can get it lower than 1 second! Most HA systems actually don’t use zigbee according officiam?m
          stats (https://analytics.home-assistant.io/integrations/) and ZigBee does not work without dedicated device (controller/hub) which in most circuim stances is a single point of failure

          1. Go ahead and use battery-powered Wi-Fi devices if you insist.There’s a reason there are very few battery-powered Wi-Fi devices for use with home automation systems and there are at least 5000 Bluetooth, Zigbee, and Z-Wave devices: lower power consumption. I have 60+ trouble-free battery-powered Bluetooth, Zigbee, and Z-Wave devices. Some have been running for three years+ without battery replacement.

            I developed some DIY sensors because nothing on the market met my needs. Originally they were ESP32-S2/Wi-Fi. When the ESP32-C6 came out and Espressif released Zigbee libraries for the C6, I converted all to Zigbee and never looked back. The C6 is not as power efficient as dedicated Zigbee SOCs used in commercial devices, but better than using Wi-Fi. And, I dont have to give up encryption to eek out power savings

Leave a Reply

Your email address will not be published. Required fields are marked *

Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC
Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC