Intro


ZigMo is a 4 channel Zigbee soil moisture meter. The project pursues 2 goals:

  • Hardware: Attempt some very basic electric engineering and build a Zigbee device based on a custom PCB.
  • Software: Write a custom firmware for the device that would make the Zigbee thing work.

Description


The concept is pretty simple. It is a Zigbee end device with 4 capacitive wire connected moisture sensors that you could stick into 4 nearby flower pots and monitor moisture levels in all of them with a single device.

This is what it looks like in Home Assistant: 

The device is based on a popular CC2530 module that can be bought off Aliexpress for about $3. Custom PCB part handles battery power, routes connections to individual moisture sensors, provides debug connectors and implements user interface - a LED and a button.

Build notes


PCB:


The PCB was designed in KiCad and then ordered from JLCPCB. All parts are common and can be ordered from your favorite parts supplier.

Note: I know nothing about electric engineering and have no experience with PCB design. I just watched some video on Youtube on how to do it.

Firmware:


The firmware is based on Zstack 3.0.2. It simply queries the moisture sensors and measures battery voltage every 5 minutes.

ZStack SDK is available for free from Texas Instruments. It contains several examples and even a guide on how to branch your own project off one of those examples (Z-Stack 3.0 Sample Application User's Guide.pdf). The most challenging part IMO is getting the IDE/Compiler. ZStack 3.0.2 applications should be built using IAR studio for 8051 processors version 10.20. This IDE is not free, however a free trial is available. You may find other ways of getting it if you search hard enough.

See also