Skip to content

mich-j/ESP32_hydroponics

Repository files navigation

ESP32_hydroponics: IoT hydroponics setup with telemetry

System designed for easy crop cultivation at home, especially herbs and fast-growing small plants like lettuce. Three channels, with continous flow of a nutrient solution, are available, allowing for up to 12 seedlings to be grown at the same time.

schematic

ESP32 Devkit module was used to process data from sensors and publish messages with telemetry via MQTT.

Code was written using Arduino Framework for ESP32, in Visual Studio Code with Platformio extension.

Features

  • Air temperature and humidity measurement
  • Built as a Nutrient Film Technique (NFT) system
  • Remote control via MQTT protocol
  • Dashboard with gauges and charts
  • PWM LED control
  • Low water level alert
  • Fan for controlling humidity and supplying oxygen
  • OLED screen for easy operation control

administrator's dashboard Dashboard for system's administrator

Communication

Raspberry Pi 3B+ hosts Thingsboard server, which allows to store sensors' output in a database and display a dashboard with charts and gauges, accessible within local network. User can turn on/off water pump and fan. Moreover, LED intensity can be controlled with a dimmer. Raspberry also works as a MQTT broker and a gateway for communication with Thingsboard.

communication schema

Used software:

Used libraries:

Built prototype

Prototype tests

Prototype during tests

driver

Controller based on ESP32

More

Documentation (in Polish)

To-do

  • Setting up MQTT broker on RPi
  • Setting up Thingsboard server and Gateway on RPi
  • Sending telemetry to Thingsboard server
  • RPC implementation - controlling GPIO and PWM from dashboard
  • Building and running actual prototype
  • Finish implementing OLED screen display
  • Add fully autonomous operation mode
  • Improve the construction

About

IoT hydroponics setup with telemetry

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages