touchscreen indoor grow system

written by relyq

published on: 2023-03-18

a device with a touchscreen interface featuring automated temperature, watering, and humidity control.

electronics

embedded

this was my first serious software development project. i started the automated grow system just after getting out of highschool and by writing it i learned more about programming than i ever had before.

this project made me learn about concurrency & real time operating systems. i learned to work with unix timestamps and date & time data. i also had to learn about interfacing with screens and touch panels, and it was my first experience trying to understand GUI design and related things such as MVC. it made me research low level programming as i had to read library source code to fix faulty screens

it’s main features are:

source

img

dashboard with no program started
menu
settings
real-time clock setting
eeprom saved program slots

you can save the current program to one of the slots or load from the eeprom

factory reset

back to menu > zone 1 - four seasons & program control

settings for each season
touchscreen keypad
control screen
you can start the program on any of the four seasons

dashboard after starting a program - it shows the current season (1 to 4), the season settings, and the sensor readings (if the sensors were plugged in)

@relyq on discord!!!