Skip to content

An Arduino project with an Android app to measure the soil moisture of your plants.

License

Notifications You must be signed in to change notification settings

reaper47/plant-sense

Repository files navigation

Plant Sense

Get it on F-Droid

An Arduino project with an Android app to measure the soil moisture of your plants.

Why? To know whether the plant is thirsty.

Features

  • Measures your plant's soil moisture, and ambient temperature/humidity.
  • Reports data to the Plant Sense app via Bluetooth.
  • The sensor saves energy by going into deep sleep between measurements.
  • A blue light on the device notifies the user when the latest measurements can be read.

Requirements

Hardware

Software

Installation

  1. Download the latest release and cd into it.
  2. Connect your soil moisture sensor to your computer and flash the firmware.
    On Linux: sudo esptool --chip esp32 --port "/dev/ttyUSB0" --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 ./bootloader_dio_40m.bin 0x8000 ./partitions.bin 0xe000 ./boot_app0.bin 0x10000 ./firmware.bin
  3. Disconnect the device from the computer.
  4. Slide the switch on the device to off, insert the 18650 lithium battery correctly, and slide the switch to on.
  5. Secure the device in soil.
  6. Install the Android app.

Usage

  1. Every five minutes, a bright, blue light will light up on the device to signal that data is ready to be read by the app.
  2. Tap the search icon in the lower right corner of the app to list the plants.
  3. Tap one of the plants in the list to see the readings.
  4. After 30s, the device will go back to deep sleep, and the blue light will dim.

Future Improvements

Name of the Plant

This firmware is intended to be used for one plant only because the name of the Bluetooth Device is Plant: Emerson, and the service and characteristic UUIDs are the same for everyone.

To change them, the user needs to:

  1. Clone the repository
  2. Open src/main.cpp
  3. Change the variables SERVICE_UUID, CHARACTERISTIC_UUID, and PLANT_NAME.
  4. Build the project with PlatformIO
  5. Flash the firmware

OR

Send an email to me with your desired name, and I will take care of it.

Aural Signal

Add an aural signal, i.e. a beeper, to the device for it to beep when data is ready to be consulted in the app.

License

GNU General Public License v3.0

About

An Arduino project with an Android app to measure the soil moisture of your plants.

Resources

License

Stars

Watchers

Forks

Packages

No packages published