My Project is about hydroponics
I have been very enthusiastic about hydroponics for a long time. Before joining San3a, I built my own hydroponic system, which you can see in the picture, (this is my balcony) Now, as my graduation project, I wanted to take it to the next level!
Imagine growing your own food right in your balcony—fresh, chemical-free, and sustainable!
It is not just about plants; it actually meets five Sustainable Development Goals (SDGs):
No Poverty (SDG 1) – Zero Hunger (SDG 2) - Good Health and Well-being (SDG 3) - Affordable and Clean Energy (SDG 7) -Sustainable Cities and Communities (SDG 11)
That’s why I love this project so much! It’s an amazing feeling to eat something you planted yourself—just walking onto your balcony and grabbing some fresh lettuce! 🥬 Once you try this feeling, you won’t stop loving it! It isn’t just about growing plants; it’s about freedom, sustainability, and real connection to your food!
For My project, My plan was to make two parts:
A monitoring unit part, which works as the heart of the Hydro Tower. I called it HydroHeart.
I had a problem with the system I made earlier; which was tracking my lovely plant statues. What does it need? is the medium good for it? is it cold? Hot? it has enough nitrations? It was so hard to track all of that, so here came my idea, "Hydroheart" is here to solve this problem; that I'm facing, and I'm sure a lot of people who do hydroponics faces it too!
This is the tower itself, and as for this project I decided to make a module of the tower, I call it "HydroWeb".
Image your tower are just simple modules that you can put together as a michano!
It will make them easy to carry and handle, easy to store, and more importantly, it uses the space well! you have 6 plants wholes per module. if the tower has 6 modules, then baaam, you have 36 plant in a very small space.
Designing the Monitoring Unit:
I started designing the monitoring unit first. I knew what I need to monitor and the sensors I have that I received. the target from this device to be just as remote control size and fit all components inside, display data for the user.
Fusion is the main 3D/2D design software used. It's amazing and accurate in creating very specific and true dimensional models for fabrication!
I downloaded a 3d version of all the sensors I have and I will use, along with Arduino uno and all the electrical components I will need.
I got all models from grapccad.
Then I started placing them in fusion. to get the models in fusion first i needed to upload them into fusion, then I imported them into the project I created earlier.
I started placing them in all possible directions and ways, that was the first test:
Horrible of course as you see xD My goal was to make it very easy to hold in one hand, small and compact. after many tries and errors, I finally reached the desgin you see on the left and right, for me it was good and optimal.
in designing process, I drawed my sketches over the electrical component, took all my measurements from it,
I used project a lot, It made it very easy to draw the other parts sketches from each other, I extrude, then I make another sketch and project on that extrude.
Also I made sure each and every part in a separate component, that helped me a lot in organizing myself and making the project smooth and easy.
All sketches were defined, to not to mess up the measurements, I used mirror a lot too, it made things a lot more easy.
for the wholes, I draw holes places over the electronics and I extruded it out from the monitor unit. this way I made places for the screws and nuts.
I used T slots a lot too, to make wood parts come stick together. for all 4 sides. for the upper side I used 2 brackets, to make it easy to open the cover anytime.
Designing it was challenging, but at the same time I enjoyed it, thanks to the skills I got over san3a diploma ;) it made it nice and easy,
Designing the Tower module:
Even if this tower design looks simple from the first glance, but I wasn't easy at all. It took me sometime to figure out how I'm going to design it, the diminutions, and how to mount it!
As my tower at home, I wanted to use a 19 liter container as a base container for the water.
this is the optimal size for a hydroponic container, so I took all my measurements based on that.
I wanted my design to be reusable after the project, now if you have a 19 liter container you can just recycle it and print your tower on the go!
The idea is in this mounting unit on the left side, the measurement of it will get to the bottle whole just right, and then will be fixed with screws to the mounting unit.
I had a lot of issues because of the 3d printing quota, I repeated the design multi times to make sure to fit with the resource I have.
The way I designed this was easy too! I used the polygon tool to draw a hexagonal shape that has 6 lines, the, I extruded it.
After that, I got a tube, and aligned it will with one fac∈ of the 6 ones, and then I used circular pattern tool in fusion to make 6 other tube in the same place, then I extruded them out from the main body.
Same method is used for the "Masfaa" that I couldn't print due to insufficient quota so I made it laser cutting
I made "Tips" for it on top, to ensure it has something to rest on, and the amazing thing is, I made tips too to mount another unit on top of this one! so If you want to put a lot of unites on top of each other you can just simply attach them in an easy way and fit them together.
Softwares used:
I used LaserWork is to prepare files for the laser cutting machine. It’s a straightforward where we import the outline or vector we want to cut and specify a few settings:
- Cut: Defines the areas to be cut out and removed from the wood sheet.
- Speedcut: Used when creating an outline.
- Scan: Applied to achieve a burning effect or engraving on the wood.
I used Cura to prepare the STL file for printing. It lets me adjust everything about how my print will turn out, like the resolution, infill, support, adhesion, and all the other settings that affect the print quality.
Tools I used:
Malky ML149
3m wood sheets
PRUSA i3 MK2
PLA Filament (1.75mm)
Fabrication Process:
Laser cutting
Once I was done with my HydroHeart Design, I used the export for laser cutting extension in fusion to export the dxf files for laser work.
I experimented something new this time which was I modified the laser kerf to be 0.165 mm instead of .15. every time I used laser cutting so far I used that value except this time; the result was: when I assembled the plywood together is was much more easy to make it come together.
I was worried it might be a little lose, but it was the best. I guess I will use this value again!
I imported all the dxf files to the laser work, and aligned everything together at the right top part of canvas, I made sure all parts are very close to each other to save materials, I feel so bad when I see a lot of material get wasted.. that's not good.
Then in laser work I made all the lines as cut, colored them as black, and I used the font tool to write the word HydroHeart, that gave it a nice touch of being a big brand ;D, I made sure that name isn't reserved as a domain, so I can buy that domain anytime I want if I decided.
3D Printing
Once I finished the tower design, I exported it as an STL File, and then I imported it to Cura, modified some parameters and made sure they are printed in the best orientation.
I had a problem before that which was designing all of the 2 units as one, because I just have 80 printing gm left in my quota, but putting them all together took a lot of support, so I modified the design to make them two parts.
My hydroponic monitoring unit electronic circuit is the heart that reads the data from multiple sensors to help the user monitor the hydroponic system . Along with automatic control of a water pump every amount of minutes, and alert if the water level goes low.
5v adaptor
Buzzer
relay module
Arduino Uno
Lots of wires
metal push button
AVO For testing and troubleshooting
LCD display
LEDs
Crocodile Clips
ultra mini breadboard
NTC 3950
mini pump
9v adaptor
LDR Module
Water Level Sensor
Thinker cad for designing the circuit
Arduino IDE
Input components:
DHT11 – To measure air humidity and temperature.
RTD10K – To measure water temperature.
LDR Sensor – To detect ambient light levels.
Water Level Sensor – To measure the water level in the botttle.
Push Button – To cycle throught displayed data and wake the LCD from sleep mode.
Action components:
LCD Display – To show sensor readigs and system status.
Relay Module – To control the water pump, turning it ON and OFF based on timing logic.
LED Indicators – Green for pump ON, red for pump OFF, yellow for cycling through data.
Buzzer – Beeps on startup and alerts every 10 minutes if water level is too low.
Circuit components:
Arduino UNO – The brain controlling all operations.
Breadboard – For easy wiring and connections.
9V Power Supply – To power the sensors and aurdino.
5V Power Supply – To power the pump.
Lots of wires – For connections.
I'm using 2 adaptors for my monitoring unit.
9V adaptor to power the Arduino,
and 5V adaptor to power the pump through a relay;.
Feature list:
Humidity Sensor: Measures air humidity, air temperature, and Heat Index
Water Temp Sensor: Reads water temperature.
Light Sensor: Detects light and determines day/night.
Water Level Sensor: Monitors water level.
Pump Control: Automatically toggles relay every X minutes with a timer.
LCD Display: Shows data, cycles through readings,
Sleeping: The device goes to sleep after 60 sec of inactivity, turn off the lCD backlight, and all the LED, because it was meant to be on always, this way it saves power.
Button Control: Cycles display, wakes up LCD, and changes LED state.
Buzzer Alerts: Beeps at startup and every 10 min if water level < 400, and welcome the user.
LED Indicators: Show system status, cycle with button press, and light with pump state.
Coding:
My way of working was testing each sensor alone, getting the correct reading from it.
I started by including all the libraries I need to use for order to call certain functions for the device to work and function.
Then I defined all the required pins, just as I connected them on the board, I made sure to use clear names to make work easy along the project.
I then declared some variables that I'm going to use along the project, for the buzzer, relay, sleeping time, and buttons.
After that in void setup ,I stated what bins are input and what's output, sensors was input and others was output.
I incited important functions like DHT to start the DHT sensor, Serial monitor, LCD.
The I wrote a welcoming message on the LCD along with buzzer sound and cool LED welcoming lights.
At the Loop() I read the data first from the sensors and I store them
I used tester code to discover how each and every sensor work, especially the new sensors that was the first time dealing with them.
NTC temperature sensor was challenging as I needed to wire it with a divider circuit, and it needed to be a 10k resistor, and I didn't have one,I kept looking for it in the inventory.
Also it was challenging because if I wire it in a wrong was I would get a - readings, and non realistic reading, but I managed to get it wired correctly.
For the lcd I used 3 main functions, which they are lcd.set cursr - to set where the typing will happen, lcd.clear, to clear what's on the lcd, lcd.Print to print on the lcd. It was very straightforward.
With the lcd you have to initialize it first before using it, using lcd.init, also you got an option to turn on back light and not.
I used the millies function to count the time for a lot of things in the code, I have it for the sleeping state, and for the relay.
So If the user didn't press the button for 1 minute the lcd and led will go to sleep by turning off. The relay and sensors will still work to take care of the plant.
Also the relay is getting controlled by a timer, so it turns on for X minutes we specify in a variable, and turns off for another x amount we specify, the realy is connected to external 5v power source to power the pump and turn it on.
For the button cycleing between data, I found an amazing function called switch case, it basically switch between cases, so case 1 if button is == high once then twice, and so on, all of that was in an if condition to check if the device isn't sleeping.
At the end I made sure to use serial print to be able to troubleshoot and check if all readings are correct.
Disclaimer: I used AI in some advanced Feature I couldn't do myself, I added more features than what was required, like the sleeping time, it was too advanced for me, However I understand each and every step and I studied it back and reused it.
Minimum Feature and complete Feature was done by my pare hands.
When assembling my project I had a problem of it being small, so I had to fabricate it one more time with some bigger dimensions, I wanted it to combat and small, easy to carry.
Also I didn't put brackets at the beginning, I didn't make holes for it, And I used a driller to drill some holes. But it ended out making the wood looking bad, and I make a place for it in the coming version.
There was a problem in assembling, which was the 3d objects I downloaded from grapcad was not matching the real size, so I had to go back and forth to modify the design and screw placement to end up with my final output, that I'm truly loving it!
Here is the final video for the test. Note that it will be replaced when The 3D tower module gets printed.
I was very confused about power management, then I asked my instructor Hala, and she helped me with ease suggesting I can use 2 adaptors, one for the Arduino and one for the pump.
That helped me solve my inter problems, I couldn't finish the project with just one adaptor and I don't have a step down converter.
Also I was stuck at the logic of the coding I spend a lot of time googling and looking for examples.
I would work on adding more sensors to the monitor device, as there are very important sensors for hydroponics but it's not included because they are expensive.
I wish I had these sensors and incorporated them with my device, like PH sensor, EC sensor, TDS (Total Dissolved Solids) sensors.
It would be awesome to incorporate them, but they are expensive unfortunately .
Also I would work on a vertical hydroponic system that can be hanged over the balcony wall.