Document created by Dien Hoa TRUONG on Dec 3, 2016Last modified by Oliver Beirne on Dec 7, 2016
Version 6Show Document
  • View in full screen mode

About This Project

Our goal is to develop an IoT solution for a green building concept. One of our first ideas for this concept is to introduce a way for users to interact with the green ecosystem. Our scope for this project focuses on Plant Life Monitoring and Maintenance.

This project is done in occurrence with the eSAME 2016 STM32NUCLEO IoT Contest.



GreenYourLife interface and setup




Project Info

Type : IoT monitoring and maintenance/control device

Progress : V1.0 completed for the eSAME 2016 contest. V2.0 is currently WIP.

Difficulty : Intermediate

License : Public domain, unless otherwise stated




The Team


Dien Hoa TRUONG 
  • Android Application for Bluetooth Low Energy connected and Send data to ThingSpeak Server using HTTP Post Request
  • Timelapse video using Raspberry Pi + Camera Module, send photo to Cloudinary 

Muhammad Haziq Kamarul Azman

  • Develop on STM32NUCLEO for BLE
  • Energy Efficiency Algorithm for Watering System


Equipments/Components Used


Hardware components
STM32NUCLEO L476RGSTM32NUCLEO L476RG1Runs on 3.3V. Serial link to computer is used for debugging.
IDB05A1 Bluetooth LE ExpansionIDB05A1 Bluetooth LE expansion board1Stacked using the Arduino-compatible headers.
IKS01A1 MEMS sensor expansion boardIKS01A1 MEMS sensor expansion board1Stacked using the Arduino-compatible headers.HTS221 sensor seems to give 0 reading when exposed to direct, strong sunlight.
Soil Moisture Sensor

Funduino Soil Moisture Sensor, hooked up to 5V at pin PB_1

1Runs on 3.3V. Sense terminal connected to AnalogIn at PB_1.

Relay, hooked up to 3.3V at pin PC_8 and controlled by a PWM pulse

1Runs on 3.3V. Switch terminql connected to PC_8 and is controlled by a PWM pulse.
DC pump

DC pump

1Runs on 6V battery arrays. Attached to relay on the always-open section.
Software Tools


mbed : Programming STM32NUCLEO

app inventor 2: Programming Android Application

RealTerm : Application debugging





GreenYourLife is an IoT solution that will allow you to perform the following:

  • Follow your Plant's well-being on your connected device (smartphone, laptop, etc)
  • Maintain your plant's well-being automatically

Plant Life Monitoring Concept

The system will collect the plant's environmental data include air temperature, air humidity, soil moisture then transfer them to your connected device. From your connected device which is Internet-connected, environmental data would be sent to a cloud server (ex: ThingSpeak) to store the progress of your plant life or to help you to be alerted in critical situation (too dry or too much water) by Twitter.


GreenYourLife Monitoring Concept


Process diagram of how data is collected and send to cloud


ThingSpeak Channel to store environmental data 

Twitter Alert

Twitter Alert in critical situation



We also developed a timelapse video of plant growth to provide a real visualization. A Rasperry Pi and Module Camera will take photo of the plant then send the image periodically to a cloud that accept (Cloudinary).


Plant Life Maintenance Concept

On-board sensors will obtain measurements of 3 main parameters on the plant surrounding:

  1. Air temperature
  2. Air humidity
  3. Soil moisture


Based on these values, the software then acts upon the water pump.


Control diagram using moisture data


Code Repository

  • BLE_GreenYourLife_STM32 - a mercurial repository | mbed
  • Source Code .aia of Android Application develop by App Inventor 2 is in attachment GreenYourLife_V1.aia . Follow the comments in Blocks to configure with your project (change BLE Service_UUID, characteristic_UUID, api_key Thingspeaks, api_key Twitter app of Thingspeak)
3 people found this helpful