-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
102 changed files
with
1,637 additions
and
622 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file was deleted.
Oops, something went wrong.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Large diffs are not rendered by default.
Oops, something went wrong.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# App | ||
|
||
<p float="left"> | ||
<img src="../Images/app_main.jpg" width="200" /> | ||
<img src="../Images/app_analytics1.jpg" width="200" /> | ||
<img src="../Images/app_analytics2.jpg" width="200" /> | ||
</p> | ||
|
||
- The app shows current state of the relays, sensors and allows recording manual inputs on the main page | ||
- The analytics page shows the history of the relays, sensors and manual inputs for the duration of 24 hours. | ||
- Click and holding on the graph reads the actual value at that time. | ||
|
||
## Recording pH and total dissolved solids (TDS) | ||
|
||
1. Click on the pH or TDS card > This will open up a dialog. | ||
2. Measure the pH or TDS and add into the dialog and then click save. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Circuit design | ||
|
||
The Easy EDA project file (*.zip) and schematics are included in the [Circuit](../Circuit) directory. | ||
|
||
1. Circuit was designed in Easy EDA and got manufactured from [JLCPcb](https://jlcpcb.com/) | ||
2. Parts were purchased and soldered by hand, the BOM for which is in [BOM](../BOM/) | ||
3. The switch for misters was not used but simply the terminals were selected for normally open position of the relay. | ||
4. The ESP32 is mounted on 2 single row 0.1" female pin headers (makes it easy to replace the ESP32 if its damaged). | ||
5. Connectors were crimped for power, temperature sensor and LDR and then connected to the circuit. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Electronics enclosure design | ||
|
||
## Requirements | ||
|
||
- Takeaway container (comes with an easy access lid ;) ) | ||
- Covid test, test tube for the LDR casing (great for diffusing light) | ||
|
||
## Steps | ||
|
||
1. Holes were drilled for power input, temperature sensor input, LDR input, light relay outputs and mister outputs. | ||
2. Connectors were crimped onto the wires, routed through the enclosure and connected to the PCB. | ||
3. The mister outputs from the PCB are connected to a 5.5 x 2.5mm male barrel jacks. These plug into the mister female barrel jack sockets. | ||
|
||
<img src="../Images/pcb_enclosure.jpg" alt="pcb enclosure" width="800"/> | ||
|
||
<img src="../Images/ldr_mount.jpg" alt="ldr mount" width="800"/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# Lamp design | ||
|
||
## Requirements | ||
|
||
- A brick for the base | ||
- Piece of waste pipe from a plumbing job which had an elbow joint | ||
- Clothes hanger | ||
- Zip ties | ||
|
||
## Steps | ||
|
||
1. The height of the pipe was measured such that its atleast the maximum height of the crop when harvesting with some tolerance for light and a fold at the base of the pipe. | ||
2. The about 20cm of pipe was heated to soften it and inserted into the brick with a fold that helps stabilising the lamp. The pipe was held vertical till hardened. | ||
|
||
<img src="../Images/diagrams/lamp_design.png" alt="lamp design" width="800"/> | ||
|
||
3. The overhead pipe was measured to hold the 3 units of lamp and holes (of hanger wire dia) were drilled using a soldering iron (makes them smooth tbh). | ||
|
||
<img src="../Images/pipe_holes.jpg" alt="pipe holes" width="800"/> | ||
|
||
4. A hanger was cut and reshaped to make mounts for the lights as below. | ||
|
||
<img src="../Images/hanger.jpg" alt="hanger" width="800"/> | ||
|
||
<img src="../Images/hanger_cuts.jpg" alt="hanger cuts" width="800"/> | ||
|
||
5. The hanger mounts were then placed into the holes. | ||
|
||
<img src="../Images/pipe_hanger_fitting.jpg" alt="pipe hanger fitting" width="800"/> | ||
|
||
6. The grow lamp was dismantled and rewired to match required lengths and to fit a power plug at the end. | ||
|
||
<img src="../Images/dismantled_light.jpg" alt="dismantled light" width="800"/> | ||
|
||
The wiring for relay is shown below. The only other change was to install longer wires and the | ||
converter was placed near the pipe joint for easy access. | ||
|
||
<img src="../Images/diagrams/light_rewiring.png" alt="light rewiring" width="800"/> | ||
|
||
7. The light units are then mounted as shown below using zip ties to the hanger mounts. The wire is then routed through a third hole into the pipe. | ||
|
||
<img src="../Images/light_mount.jpg" alt="light mount" width="800"/> | ||
|
||
8. Finally join the elbow and mount the overhead pipe to the vertical lamp stand. | ||
|
||
<img src="../Images/lamp_design.jpg" alt="lamp design" width="800"/> | ||
|
||
<img src="../Images/grow_lights.jpg" alt="grow lights" width="800"/> | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Installation | ||
|
||
## Setting up the esp32 controller | ||
|
||
### Setting up secrets | ||
|
||
* Syncing timer with NTC will require WiFi credentials which can be set up following the instructions below. | ||
* Firebase logging will also require firebase credentials. Which can be set up using [this](https://randomnerdtutorials.com/esp32-data-logging-firebase-realtime-database/) article from Random Nerd tutorials. | ||
* Add a `secrets.h` file in `Software/esp32_firmware/include` and fill in the details. | ||
|
||
```cpp | ||
#ifndef _SECRETS_H_ | ||
#define _SECRETS_H_ | ||
|
||
#define WIFI_SSID "" | ||
#define WIFI_PASSWORD "" | ||
#define FIREBASE_TOKEN "" | ||
#define FIREBASE_USER_EMAIL "" | ||
#define FIREBASE_USER_PASSWORD "" | ||
#define FIREBASE_URL "" | ||
|
||
#endif | ||
``` | ||
|
||
### Install | ||
|
||
* **Build the project in Platform.io:** | ||
Currently the `main.cpp`` file is selected in platformio.ini (commented out in the build_src_filter) | ||
* **Upload to ESP32:** | ||
Upload by clicking the upload button while press and holding the boot button on ESP32. | ||
|
||
#### Test modules individually | ||
|
||
Uncomment the `-<main.cpp>` line and comment out the test cpps for each module, one at a time. Then do the steps in install | ||
|
||
## Phone | ||
|
||
* Follow [this](https://firebase.google.com/docs/flutter/setup?platform=android) to register the android app. Switch to IOS if you have to set this up on IOS device. | ||
|
||
>****NOTE**** This project has been only tested with an android app and I'm (MRo47) a noob at flutter or in general app development. So contributions are welcome here. | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# LDR Calibration | ||
|
||
The potentiometer on the PCB needs to be adjusted based on the LDR resistance. The aim is to get the LDR to have maximum swing in voltage or to center its potential. | ||
|
||
## Steps | ||
|
||
1. Connect the LDR and read analog voltage from the ESP32 by running [test_ldr.cpp](../Software/esp32_firmware/src/test_ldr.cpp) (comment out test_ldr.cpp from platformio.ini and uncomment main.cpp) | ||
2. Adjust the potentiometer such that | ||
1. This analog voltage must not go under zero for maximum darkness (just block the ldr with you finger or a piece of tape). | ||
2. The value should not go above maximum analog voltage (saturation) when maximum light is incident on the LDR (maybe direct sun shining on the LDR). | ||
3. Now set a certain brightness based on ambient light conditions under which voltage value the lights should come on and set this value as threshold voltage (ldr_thresh_v) in [Software/esp32_firmware/include/utility.h](../Software/esp32_firmware/include/utility.h) |
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Preparing nutrient solution | ||
|
||
## Requirements | ||
|
||
- [Masterblend 4-18-38](<https://hydroponicseuro.com/product/masterblend-4-18-38-hydroponic-fertilizer-set-2/?attribute_weight=1.5+kg>) which comes with Magnesium sulphate and Calcium Nitrate. | ||
- [Potassium carbonate](https://www.ebay.co.uk/itm/224519112465?var=523793464566) | ||
- Distilled water, rainwater or water under ppm of 200 should be used to make the nutrient solution | ||
|
||
## Steps | ||
|
||
1. Masterblend 4-18-38 was used as the nutrient solution and purchased from [here](https://hydroponicseuro.com/product/masterblend-4-18-38-hydroponic-fertilizer-set-2/?attribute_weight=1.5+kg) | ||
2. The reservoir itself was calibrated for volume with markings in increments of 5L till 30L. | ||
3. The solution was prepared for 30L and 5L was stored for topping up later. | ||
4. Harvested rainwater with PPM reading of ~30ppm was used to prepare the solution. | ||
5. For mixing ratios check [here](https://hydroponicseuro.com/mixing-instructions/) | ||
6. The 3 compounds were measured with a precision scale (atleast upto 0.1g) and mixed one after the other. | ||
7. pH up solution was required to keep the pH around 5.5-6.0 for optimal nutrient uptake which was made using a solution of 10g [99% potassium carbonate](https://www.ebay.co.uk/itm/224519112465?var=523793464566) in 100ml distilled water. | ||
8. pH solution was added drop by drop, stirred and pH measured using the pH meter till the ph was set to optimal levels. | ||
|
||
>****NOTE**:** Each compound must be completely dissolved before the next one is added and they should be added in the order Masterblend > Magnesium sulphate > Calcium nitrate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Part images | ||
|
||
These are for reference in case some of the items go out of stock at the time of purchase. | ||
|
||
<img src="../Images/us_mister.jpg" alt="misters" width="300"/> | ||
|
||
Ultrasonic mister | ||
|
||
<img src="../Images/ec_n_ph_meter.jpg" alt="ec and ph meter" width="300"/> | ||
|
||
EC and ph meters to manually read solution properties. | ||
|
||
<img src="../Images/grow_lamp_original.jpg" alt="grow_lamp" width="300"/> | ||
|
||
Original grow lamp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Reservoir design | ||
|
||
## Requirements | ||
|
||
- [Storage box (food safe plastic)](https://www.wilko.com/en-uk/wilko-45l-modular-storage-box-with-lid/p/0449324) | ||
- [Net pots]() | ||
- Misters | ||
- Mister floats | ||
- Weights for misters | ||
|
||
## Steps | ||
|
||
1. 8 holes were cut from the lid such that they are well spread across the top. | ||
2. The holes were cut using a soldering iron (with a sharp tip) as I don't have a drill. This was fairly easy too at 300 degree celsius and smoothens the edges, the flaws on the edges were also hidden by the lips of the netpots. | ||
|
||
<img src="../Images/pot.jpg" alt="pot" width="800"/> | ||
|
||
3. The reservoir was then calibrated for volume as this helped making the correct amount of nutrient mix without requiring another large vessel. | ||
|
||
<img src="../Images/reservoir_calib.jpg" alt="reservoir calib" width="800"/> | ||
|
||
4. Mister floats were made using polystyrene pieces I had lying around from packaging. and netpots. I stole the idea from an [ebay product](https://www.ebay.co.uk/itm/324444872905?mkcid=16&mkevt=1&mkrid=711-127632-2357-0&ssspo=x7EEvAxJT_K&sssrc=2047675&ssuid=Eep4KVD9SkS&widget_ver=artemis&media=COPY) seen below. | ||
|
||
<img src="../Images/mister_float.jpg" alt="mister float" width="800"/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Seedling start | ||
|
||
## Requirements | ||
|
||
- [Rockwool grow cubes](https://www.ebay.co.uk/itm/233722426889). | ||
- Tray (2 takeaway containers do the job) | ||
- [Nutrient solution](nutrient_solution.md). | ||
|
||
## Steps | ||
|
||
1. Seedlings were started in 25mm rockwool cubes purchased from [here](https://www.ebay.co.uk/itm/233722426889) | ||
2. A seed was planted in each cube and the cubes were soaked in nutrient solution. | ||
3. The cubes were then placed in a transparent container near a sunny window (can be placed under grow lights). | ||
4. After the first true leaves sprout the seedlings are ready to be transferred to the net pots and placed on the grow chamber. | ||
|
||
<img src="../Images/grow_tray.jpg" alt="grow tray" width="800"/> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.