Version 6

    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)