Mort and Mary Present: BLE Soil Moisture Sensor with the Ultra-Low Power Works

It took a year to take a mess of wires, hardware and WiFi dependency and turn it into a new solution to monitor plants and the environment anywhere without a WiFi password. This is BLE-IOP.

This is the story of the standalone, coin-cell-powered, BLE plant monitoring system.

The Internet of Plants

This project started out as an ESP8266-based plant monitoring system that measured soil moisture, humidity, air quality, temperature and time, that then pushed all that data up to My Device's Cayenne.

alt text

The system was cobbled, crowded and inefficient. It didn't make sense to add a WiFi-capable board to each plant to be able to move them around and away from each other. To monitor the plants from one ESP8266, additional hardware was needed to accommodate the extra IO.

alt text

Long wires were no good either.

alt text

The project was tabled until a wireless, standalone and streamlined solution could be worked on - basically an issue with time, money and fortitude.

School Project

Mort is currently attending CU Boulder and is slated to get his Masters in Embedded Systems this fall. He finished a course called "IoT Firmware Design," which focused on Bluetooth Low Energy. The Blue Gecko Bluetooth Kit for EFR32 was used in the class and has built-in sensors, a mobile app with app builder, and my favorite features - Simplicity Studio IDE and an energy profiler for milli to micro amp current monitoring.

The final project in the class was focused on a BLE software solution that included the BGXXX (two different SoCs) microcontrollers, a few sensors, and implementation of security features, MITM, energy optimization, persistent storage, etc. He proposed an adaptation of the original "Internet of Plants" project, which was accepted. Mort was able to quickly adapt software written on the dev board for the soil moisture sensor. We decided on using the BG13.

Working Prototype

We designed a BLE soil moisture sensor with the ultra-low-power bells and whistles needed to monitor plants (we had to scrap the air quality sensor since it is not low power). The data can be picked up using any smart device. We used both the mobile app that comes with the kit and also a Raspberry Pi to decode the data and push it all up to Cayenne. This project in currently in Rev 2, moving the SWD connector to the back and fixing what is going on with that jumper wire, but it works! Powering the module (no smoke) and witnessing the Bluetooth device pop-up on my cell phone was an immensely rewarding experience, especially since it was a first prototype and entirely home-brewed.

alt text

The necessary circuitry from the Blue Gecko module like the antenna, radio interface and power management were placed on the soil moisture sensor, along with the low-power sensors. We added an analog switch to turn off the sensors when not being read to extend the life of the battery. Of course we ordered protos from OSH Park; we hand-assembled the board using a stencil from OSH Stencils and used the desktop reflow oven T-962. We also used Nick Poole's Buzzard tool to get that adorable bear on the board.

The BLE soil moisture sensor

The BLE soil moisture sensor is powered by a single CR2032 coin cell - it will last over a year for this application. Note: I didn't solder those wires.

Programming the BG13 Bluetooth

Programming the BG13 Bluetooth + microcontroller using Jlink.

The energy profiler that comes with Simplicity Studio shows the current spike while the device is broadcasting

The energy profiler that comes with Simplicity Studio shows the current spike while the device is broadcasting. Average current is 22 uA.

Average current at 152 mA

The spike in current when the sensors are turned on to take readings from. Average current at 152 mA.

And that's it for now - we took a mess of wires and hardware and turned it into a wireless, independent, low-power plant monitoring system. It will be interesting to see where this product goes.