Upcycling an Old Project into a Greenhouse Irrigation SystemFollow article
One of the most ambitious projects I ever submitted to the DesignSpark forum remains to be my entry into the Leak-Killer Design Challenge back in 2018. The project prominently featured the Pycom development environment which demonstrated its proficiency at IoT and home automation applications many times over in the months I spent developing the system.
Despite the success of the project, no further developments have been made since its completion which now presents an excellent opportunity to explore this powerful platform further by designing something new. As the old system focused on domestic water management, I thought it would be an excellent idea to upcycle its functionality into an irrigation system for a domestic greenhouse.
See the original article here: Leak-Killer Challenge
This project aims to modify the original hardware detailed in the previous article, with the key components to the current development cycle featured in the list below.
- Pycom SiPy development board
- Pycom Pymakr expansion board
- 16x2 LCD breakout board
- MCP23S17 I/O expander
- RTC breakout board
- L7805CV 5v voltage regulator
- Mains adaptor 12v
- Solenoid 12v
- TK30E06N1 N-channel MOSFET
- 6mm hose irrigation kit
The first step in the design process was to reevaluate the requirements of the water management subsystem by navigating the plethora of different metric and imperial plumbing standards needed to transfer water from a standard garden hose, through a 12v solenoid to the irrigation kit. Fortunately, the original fittings and pipework could be reassembled to enable the solenoid to manage the flow of water to the greenhouse without any additional parts. New pipework assembly controlling water flow through many different plumbing standards.
Once the interfacing pipe was complete, the irrigation kit could be assembled in the greenhouse with a choice of sprinklers and misters that convert domestic water pressure into water jets and atomised water vapour respectively. For the current system, misting nozzles were chosen to suspend above the plant table, to enable cooling as well as watering of the plants underneath. Misting nozzles activated by the solenoid.
The next step in the project was to update the old code to reflect any functional and hardware changes in the design. For this stage in development, the system only needed access to the LCD and RTC driver code files required to show the solenoid status and timings on the LCD screen.
The main code loop used a simple state machine implementation to switch the water on and off at the designated I/O pin, which was buffered up to 12v to drive the solenoid. These states were controlled by a countdown function that would monitor the elapsed time in seconds and switch states when the count reached zero. Each state has an assigned countdown period so the duty cycle can be set by the user. New system displaying the current time, solenoid status, and delay countdown.
The project used the Pycom SiPy development board as its main controller which was programmed in micropython. Ordinarily, I would try to avoid the use of scripting languages due to the lack of comprehensive debugging, but the Pycom micropython implementation made the process extremely easy and I am quite keen to use it again in the future.
The code can be found here: GitHub Repository
Printing brackets and threaded blanks
The final step of the build was to modify the plastic enclosure to accommodate the hardware’s updated functionality and to protect it from the greenhouse’s humid microclimate. As some of the external components had been removed for this build, there was no longer a need for one of the enclosure's cable glands and as I did not have any blanking components to hand, I decided to print my own.M12 threaded blank modelled in DesignSpark Mechanical and successfully 3D printed.
The original cable gland used an M12 thread with a rubber gasket to keep the moisture out of the enclosure. I decided to emulate this by modelling an M12 threaded blank in DesignSpark Mechanical and attempting to 3D print the part by exporting it to an STL file in the highest available resolution.3D printed blank and original gasket successfully replacing the old cable gland.
The print was extremely successful and I managed to use the original nut and the grommet from the old cable gland to seal the hole in the enclosure while it was not in use. Enclosure mounting bracket modelled in DesignSpark Mechanical.
Having completed this I could then design and model the mounting bracket that would allow the enclosure to be fitted to the main structure of the greenhouse. To do this, I took the enclosure’s dimensions and designed a hook that would allow it to be mounted neatly. This also made it easy to read and understand the current status of the system using the LCD screen. Enclosure fully working and ergonomically mounted inside the greenhouse.
This article has demonstrated the practical application of upcycling with specific respect to unused electronic hardware and old maker projects. It is important to understand the positive impact that general recycling mentalities can have in our throw-away society and how keeping items in circulation for longer can be kind to our planet and our wallets.
This article has also explored the simplicity of home automation projects through the construction of an automated irrigation system for a domestic greenhouse and has hopefully sparked some inspiration regarding both home automation and contemporary horticulture, two very engaging and growing topic areas.