Here is the General Diagram of the whole system.
Final Project summary page
What did you design?
My final project is an irrigation system controller. It allows me to schedule irrigation events by zone and time, and it also presents humidity and temperature. The PCB has extra pins for expansion.
There are a number of companies that sell irrigation controller systems.
On the Alibaba website, we can see many options with an almost infinite price range, as well as capabilities.
JOGIN FRANCIS made a really nice automatic valve for irrigation automation that could definitely add to my project, but for now, I will focus more on the interface and controller and use commercial valves.
João Milheiro also made an irrigation system. He is using it to control the environment of a mushroom growing kit.
I designed the PCB that has on its center an ESP32 and relays for the activation of various equipment like solenoid valves, a pump, and a sensor.
I also designed the waterproof enclosure as well as a gasket.
Finally, I designed the web interface to allow connectivity and operation of the system.
I did not design valves, sensors, actuators, or power supplies. These were commercially available items that were integrated into my final project.
To answer the questions above, I made a spreadsheet.
Materials and components | Purpose | Source | Links | Quantity | Unit Price | Total Cost |
---|---|---|---|---|---|---|
MDF Forescolor | for the enclosure | Fablab Stock | http://www.forescolor.com/product/ | 900mm2 | $0.000027/mm2 | $0.02 |
Silicone | for the gasket | Fablab stock | https://www.amazon.es/LETS-RESIN-silicona-relaci%C3%B3n-manualmente/dp/B07V5FFPWC/ref=sr_1_109?dchild=1&keywords=silicone+molde&qid=1601471159&sr=8-109 | 50g | $0.05/gram | $2.39 |
Epoxy resin | to further waterproof the interior of the enclosure and help with the light refraction of the LEDs | Fablab stock | https://www.amazon.es/gp/product/B07KQ6Q5CB/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1 | 50ml | $0.01/ml | $0.60 |
Total | $3.01 |
Electronics Board
Value | Package | Description | Source Links | Quantity | Unit Price | Total Cost |
---|---|---|---|---|---|---|
PCB blank | Proto Board Copper Clad FR1, Single Sided, 1 oz. 5.00" x 4.00" (127.0mm x 101.6mm) | https://www.digikey.com/product-detail/en/bantam-tools/MT1004/1932-1038-ND/8567212 | 1 | $2.44 | $2.44 | |
FTDI-SMD-HEADER | 1X06SMD | CONN HEADER R/A 6POS 2.54MM | https://www.digikey.com/product-detail/en/adam-tech/PH1RB-06-UA/2057-PH1RB-06-UA-ND/9830592 | 1 | $0.18 | $0.18 |
22-23-2021 | 22-23-2021 | CONN HEADER VERT 2POS 2.54MM | https://www.digikey.com/products/en?keywords=22-23-2021 | 1 | $0.17 | $0.17 |
header2x6 | 2X03 | CONN HEADER VERT 6POS 2.54MM | https://www.digikey.com/product-detail/en/samtec-inc/TSW-103-07-F-D/SAM10846-ND/2685876 | 2 | $0.48 | $0.96 |
SWITCH | SWITCH TACTILE SPST-NO 50MA 12V | SWITCH TACTILE SPST-NO 50MA 12V | https://www.digikey.com/product-detail/en/e-switch/TL3305BF260QG/EG5354CT-ND/5816199 | 2 | $0.20 | $0.40 |
0.1uF | C1206FAB | CAP CER 0.1UF 50V X7R 1206 | https://www.digikey.com/product-detail/en/kemet/C1206C104K5RAC7800/399-C1206C104K5RAC7800CT-ND/411524 | 2 | $0.11 | $0.22 |
100uF | C1206FAB | CAP CER 100UF 10V X5R 1206 | https://www.digikey.com/product-detail/en/tdk-corporation/C3216X5R1A107M160AC/445-6007-1-ND/2444048 | 1 | $1.49 | $1.49 |
15pf | C1206FAB | CAP CER 15PF 50V 1206 | https://www.digikey.com/product-detail/en/kemet/C1206C150K5GACTU/399-9314-1-ND/3522832 | 2 | $0.19 | $0.38 |
1nF | C1206FAB | CAP CER 1206 1NF 250V X7R 10% | https://www.digikey.com/product-detail/en/kemet/C1206C102KARECAUTO/399-17173-1-ND/8563714 | 1 | $0.27 | $0.27 |
ESP32-WROOM-32 (16MB) | ESP-WROOM-32 | WIFI MODULE 128MBITS SPI FLASH | https://www.digikey.com/product-detail/en/espressif-systems/ESP32-WROOM-32-16MB/1904-1020-2-ND/9381713 | 1 | $4.50 | $4.50 |
LED | LED1206 | Standard LEDs - SMD 1206 Blue | https://eu.mouser.com/productdetail/lumex/sml-lx1206usbc-tr?qs=UWUCXFQQ%252bdkNnUihARaICw== | 7 | $1.45 | $10.15 |
100ohm | R1206 | RES SMD 100 OHM 1% 1/4W 1206 | https://www.digikey.com/product-detail/en/panasonic-electronic-components/ERA-8AEB101V/P100BCCT-ND/3069515 | 5 | $0.57 | $2.85 |
10k | R1206 | RES SMD 10K OHM 1% 1/4W 1206 | https://www.digikey.com/product-detail/en/bourns-inc/CRT1206-BY-1002ELF/CRT1206-BY-1002ELFCT-ND/1775051 | 3 | $0.57 | $1.71 |
1.2Mohm | R1206 | RES SMD 1.2M OHM 1% 1/4W 1206 | https://www.digikey.com/product-detail/en/panasonic-electronic-components/ERJ-8GEYJ125V/P1-2MECT-ND/203263 | 1 | $0.10 | $0.10 |
1.5Mohm | R1206 | RES SMD 1.5M OHM 1% 1/4W 1206 | https://www.digikey.com/product-detail/en/rohm-semiconductor/KTR18EZPF1504/RHM1-5MAICT-ND/4071441 | 1 | $0.18 | $0.18 |
150ohm | R1206 | RES SMD 15 OHM 1% 1/4W 1206 | https://www.digikey.com/product-detail/en/yageo/RC1206JR-07150RL/311-150ERCT-ND/732170 | 2 | $0.10 | $0.20 |
1K | R1206 | RES SMD 1K OHM 1% 1/4W 1206 | https://www.digikey.com/product-detail/en/panasonic-electronic-components/ERA-8AEB102V/P1-0KBCCT-ND/3069520 | 4 | $0.57 | $2.28 |
220ohm | R1206 | RES SMD 220 OHM 1% 1/4W 1206 | https://www.digikey.com/product-detail/en/stackpole-electronics-inc/RMCF1206FT220R/RMCF1206FT220RCT-ND/2418647 | 4 | $0.10 | $0.40 |
SRD-05VDC-SL-C | RELAY_SRD-05VDC-SL-C | SRD-5VDC-SL-C 5 Pin PCB Type | https://www.banggood.com/Mini-5V-DC-Power-Relay-SRD-5VDC-SL-C-5-Pin-PCB-Type-p-930170.html?rmmds=buy&cur_warehouse=CN | 4 | $1.99 | $7.96 |
ACS712 | SO08 | SENSOR CURRENT HALL 20A AC/DC | https://www.digikey.com/product-detail/en/allegro-microsystems/ACS712ELCTR-20A-T/620-1190-2-ND/1284594 | 1 | $2.32 | $2.32 |
Diode | SOD123 | DIODE GEN PURP 100V 200MA SOD123 | https://www.digikey.com/product-detail/en/on-semiconductor/MMSD4148T1G/MMSD4148T1GOSCT-ND/1121611 | 4 | $0.13 | $0.52 |
EL817(S)(D)(TU)-V | SOIC254P1030X460-4N | OPTOISOLTR 5KV TRANSISTOR 4-DIP | https://www.digikey.com/product-detail/en/everlight-electronics-co-ltd/EL817/EL817-ND/2693260 | 4 | $0.18 | $0.72 |
BCX70SMD | SOT23 | TRANS NPN 45V 0.1A SOT23 | https://www.digikey.com/product-detail/en/nexperia-usa-inc/BCX70K-215/1727-4918-1-ND/2531422 | 4 | $0.19 | $0.76 |
MCP1700T-3302E/TT | SOT95P237X112-3N | IC REG LINEAR 3.3V 250MA SOT23-3 | https://www.digikey.com/product-detail/en/microchip-technology/MCP1700T-3302E-TT/MCP1700T3302ETTCT-ND/652677 | 1 | $0.37 | $0.37 |
TEMP-HUM-SENSOR-DHT11 | TEMP-HUM-SENSOR-DHT11 | SENSOR HUMID/TEMP 5V DTL 5% MOD | https://www.digikey.com/products/en/sensors-transducers/humidity-moisture-sensors/529?k=DHT11 | 1 | $5.00 | $5.00 |
Screw Clamp | W237-102 | WAGO SCREW CLAMP | https://www.aliexpress.com/item/33038876365.html?spm=a2g0o.productlist.0.0.668a28acJbQtwH&algo_pvid=1f4a38ed-b66c-47e9-9e25-39714f26a649&algo_expid=1f4a38ed-b66c-47e9-9e25-39714f26a649-5&btsid=0bb0623f16014685639395395e16d4&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_ | 4 | $0.10 | $0.40 |
ECS-.327-12.5-13X | XTAL_ECS-.327-12.5-13X | CRYSTAL 32.7680KHZ 12.5PF TH | https://www.digikey.com/products/en?keywords=ECS-.327-12.5-13X | 1 | $0.24 | $0.24 |
Total | $44.73 |
How to make a web interface that communicates smoothly with C++? I used an ArduinoJson library that serialized and deserialized the communication between the HTML, JavaScript, and C++.
How to set time and keep it from losing it with a power loss? That's still a challenge to be tackled as I am not completely happy with how the system keeps time. Right now, it relies heavily on the battery in case of power failure.
The firmware worked for 3 months so far, irrigating my plants. What I am not very happy with is that if the battery finishes because it is in a remote location, we need to bring a hotspot so it connects to the internet automatically to get the internet time.
I did not have time to to create a safety routine to check the pump amperage. The board has the components, but the software is not developed yet.
My objectives with my final project were to have an irrigation controller on my fabfarm and at the same time learn code and electronics.
Let's see my evaluation questions.
Yes
Yes
Yes
Yes
Yes
Yes and no, I don't believe a non technical person can install it but anyone can operate it.
Yes! It improved mine! We don't need to go water the plants like before having to open and close valves about 8 times a day.
Yes, I am much more confident programming in C++ now.
Yes, I feel like I can move on to many more projects in electronics.
Interface and Aplication Programing
Attribution-NonCommercial-ShareAlike.
license fileI would like to thank my local instructor Luis Carvão for all the tips and time dedicated to help me finish this project and the Fabacademy course
I also would like to thanks Jeff Knight my friend for the instructions on C++ during one day and a late night he spent helping me implementing the the arduinojson library into my project.
Jeff contributed also in the following commits in the firmware here: