TODO Find a nice ASCII plant to grow on this page :)
PlantPulse
My final project has been inspired by my Mum, and my own struggle with keeping house plants alive. The project manages the watering of a garden plot, each of the nodes can manage a zone of plants or a couple of pot plants. The hub then waters plants with a range of pumps and/or solenoids. These water controlling outputs could be used to refil a reservoir through a tap, or route water to the plants that need it most.
Who will use it?
The main use case would be small at home gardeners or even farmers with a full field of crops. My Mum also requested I make something like this for her plants in the back garden.
Current progress - 29/04
- I have verified ESP-NOW working between nodes
- The camera has been verified to work on the ESP32-S3 Pro
- Circuits have been verified and breadboarded - Input Devices and Sensors with Microcontrollers | Zero to Maker Workshop
- Enclosures drawn in CAD
Integration issues
- Touching the Xiao antenna made it transmit consistently? Funny RF stuff ¯_(ツ)_/¯
- My Ender 3 was being really annoying and wasnt printing - I got a bambulab a1 mini :D
- Zinc coated bolts started rusting after a little bit, got some stainless screws
- the enclosure got water in it, moved bolts outside of the seal
System Diagram
flowchart LR
lipo[LiPo Battery]
pwr_tim[Nano Power Timer]
MCU_Node[Xiao ESP32-S3]
soil[Soil Moisture Sensor]
i2c[I2C Sensor - Atmo, UV, etc]
MCU_Hub[UM ESP32-S3 Pro]
lvl[Water Level Sensor]
subgraph Node
lipo --> pwr_tim --> MCU_Node
MCU_Node -->|Analog| soil
MCU_Node -->|4 Wires, I2C| i2c
end
subgraph Hub
Wall_Plug(Wall Plug) --> MCU_Hub
MCU_Hub -->|PWM| MOSFET -->|Uses 5V from wall| Pump
MCU_Hub -->|SPI| Camera
MCU_Hub -->|Digital| lvl
end
subgraph Dashboard
mqtt[AdafruitIO - MQTT]
end
Node -->|ESP-NOW| Hub
Hub -->|WiFi| Dashboard
Gantt
gantt
title Project Gantt Chart
dateFormat DD-MM
section Nodes
Design Enclosures: 29-04, 4d
Verify Enclosures: after des1, 1d
Design Software: 05-05, 5d
Verify Software: after des3, 5d
Verify Hardware: after des2, 3d
section Hub
Design Software for Hub: 05-05, 5d
Verify Software/Hardware Hub: after des2, 8d
ESP-NOW and WiFi: after des5, 3d
Send Photo via MQTT: after des6, 3d
section System
Misc Integration Hell: after des7, 10d
Test at Home: 2024-05-17, 3d
Complete Diorama: after des6, 3d
Project Due: milestone, m1, 05-06, 2d
TODO:
Nodes
- [ ] Enclosures - Design - Laser cut window and print gasket (1hr human, 3 hours machine)
- [ ] Enclosures - Verify - Test fit of all components (1hr human)
- [ ] Software - Design - Organise functions, build into classes (5hrs human)
- [ ] Software - Verify - Test multiple nodes (1hr human)
- [ ] Hardware - Verify - Assemble PCB, soak test (see how long battery lasts) (2hr human, waiting time (3days?))
Hub
- [ ] Software - Design - Build dict to control watering of plants (2hr human)
- [ ] Software/hardware - Verify - Connect multiple pumps and nodes (2hr human, 1 hours machine)
- [ ] Software - Design - ESP-NOW and WiFi working at the same time (3hr human)
- [ ] Software - Design - Send photo via MQTT (1hr human)
System
- [ ] Test at home :D (1hr human, 3 hours machine)
- [ ] Complete diorama (3hr human)
Deliverables
- Create your own integrated design
Custom PCBs and code will be created for both the node and hub.
- Demonstrate 2D & 3D modelling capabilities applied to your own designs
The enclosure for the node will be modelled in Onshape, a 3D modelling tool, and stickers made in Illustrator, a 2D vector based drawing suite.
- Select and apply appropriate additive and subtractive techniques
The enclosure for the node will include a 3D printed shell and a laser cut window.
- Demonstrate competence in design, fabrication and programming of your own fabbed microcontroller PCB, including an input & output
Custom PCB's will be designed for the node. Respective software for the Node and Hub. Input: The node will have I2C sensors (PiicoDev Atmospheric, UV sensor) and an analog soil moisture sensor. The Hub will include an camera (SPI) Output: The hub will control motors through PWM'd MOSFETs, and a WS2812 8x8 Matrix
- Demonstrate competence in system integration
Through implementing the above systems I hope this demonstates competence :D
List of parts (BOM)
Node
- Makerverse Nano power Timer - $6.20 (Power)
- 1100mAh LiPo - $15.35 (Power)
- Soil Moisture Sensor - $3.05 (Input)
- PiicoDev Atmospheric Sensor BME280 - $18.75 (Input)
- Seeed Studio XIAO ESP32S3 - $16.85 (Microcontroller)
Hub
- Raspberry Pi 4 Power Supply (Official) - USB-C 5.1V 15.3W (White) - $16.45 (Power)
- Unexpected Maker ProS3 ESP32-S3 Dev board - $41.01 (Microcontroller)
- Mini Submersible Pump DC 3V-5V - $3.25 (Output)
- MOSFET Power Switch Module - $2.85 (Output)
- GlowBit Matrix - 8x8 - $23.80 (Output)
- ArduCam Mega 3MP Camera - $43.75 (Input)
- Non-contact Capacitive Liquid Level Sensor - $20.03 (Input)