A garden monitoring system built on Android Things and Android.

Current Features

  • Local familiar Android UI
  • Environmental Monitoring (Soil Moisture, Ambient, IR, LUX, Temperature & Humidity)
  • Logging
  • Graphing
  • Reporting
  • Journal
  • Web Frontend with custom reporting and data exports
  • Mobile app

Planned Features

  • Bluetooth LE sensors
  • Push notifications to mobile app
  • Email alerts
  • Eliminate the GrovePi by adding its functions to the custom PCB
  • Google Assistant
  • Amazon Alexa
  • Water valve control
  • Lighting control for indoor gardens
  • Camera for time lapse images

Hardware Requirements


Hardware Assembly

First assemble the LCD and RPi3. Next, follow the GrovePi setup guide and upgrade the firmware and test the GrovePi. Lastly plug the sensors into the appropriate ports. Soil Moisture Sensors use analog, Temperature and Humidity Pro uses digital and the Digital Light Sensor uses I2C.

Software Setup

Android Thing App

First step is to follow the Android Things setup guide for RPi3 to flash Android Things to your SDCard and set up your network.

Next follow the AndroidThings SDK setup guide to get the Development Environment ready. Once complete make sure you can connect to your RPi3 running AndroidThings with adb.

Next clone the GardenThing repo

git clone

Import the project into Android Studio, then build and run on your RPi3.

Once GardenThing is running you can now point your web browser to http://<yourIP>:8080/ and login with the default username/password of gardener/secret. Once logged in click the settings gear up in the top right hand corner. On the settings page change the password and configure your sensors. You should now be accumulating data and soon your graphs should fill.

Optional Mobile Android App

The optional Mobile app provides you essentially the same features as the local UI or web interface.

Clone the GardenThing Mobile repo

git clone

Import the project into Android Studio, then build and run on your Android device.

Set the IP and username/password of your GardenThing in the settings and you should be connected up.


androidplot Android Graphing API

bootstrap CSS

dygraphs Web Graphing API

GrovePi Java Libraries (Ported to Android Things)

nanohttpd Android Web Server API