Skip to content

About

Controller for a hydroponic farm monitoring system: reads EC, pH, temperature and humidity on an ESP32 and publishes them over MQTT. Undergraduate thesis with Sofia Martins, published at Latinoware 2025.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

94 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hydroponics ESP32 Controller

This repository consists of an ESP32 application developed by Eduardo Freitas and Sofia Martins. It is a part of a larger project named "Integrated Hydroponics Farm System" composed by other applications. The Hydroponics ESP32 Controller's responsability is to act as the "brain" of an electronic circuit to monitor hydroponics farm conditions.

Integrated Hydroponics Farm System for Optimizing Agriculture Production

Hydroponic agriculture offers a modern solution to food chain challenges, enhancing resource efficiency and growth potential in urban environments. However, its success hinges on precise control of key parameters like EC, pH, temperature, and humidity. Inadequate or absent monitoring systems can lead to significant resource and production losses.

This project aims to develop accessible technology for continuous monitoring, enabling early issue detections and corrective actions, thereby boosting sustainability, efficiency, and scalability in modern agriculture.

Project Folder Structure

├── include
│   ├── components
│   │   ├── led
│   │   │   └── led_controller.h              #Defines the LedController class and it's methods
│   │   ├── network
│   │   │   ├── credentials.h                 #Defines variables used for authentication (declare variables in the credentails.cpp file)
│   │   │   └── wifi_manager.h                #Defines the WifiManager class
│   │   ├── web
│   │   │   ├── html_generator.h              #Defines the HTMLGenerator class and it's methods
│   │   │   └── web_server.h                  #Defines the ESPWebServer class and it's methods
│   └── utils
│   │   └── config.h                          #Defines global resources and configurations for this project
│   └── README.md                             #Instructions for include files
├── lib
│   ├── README.md                             #Instructions for lib files
├── src
│   ├── components
│   │   ├── led
│   │   │   └── led_controller.cpp            #Implements the logical operations to control LEDs
│   │   ├── network
│   │   │   ├── credentials.cpp               #Declares variables defined in the credentials header file
│   │   │   └── wifi_manager.cpp              #Implements the logical operations to connect to the internet via WiFI
│   │   ├── web
│   │   │   ├── html_generator.cpp            #Loads the HTML for the web server's front-end
│   │   │   └── web_server.cpp                #Implements the web server routes and handles HTTP requests
│   │   └── main.cpp                          #Handles the logical processing of the application
│   └── README.md                             #Instructions for src files
├── test
├── .gitignore
├── platformio.ini                            #Configures the project environment and dependencies
└── README.md                                 #General project information

The Circuit

Hydroponics ESP32 electronic circuit diagram

Authors

License

MIT

Support

This project is free and stays free. If it saved you time, you can support it on PayPal.

More of my work: eduardofrafre.com, with this project and other science work at lab.eduardofrafre.com.

About

Controller for a hydroponic farm monitoring system: reads EC, pH, temperature and humidity on an ESP32 and publishes them over MQTT. Undergraduate thesis with Sofia Martins, published at Latinoware 2025.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages