This is a full distribution of the Plant133 plant-watering device. This device can monitor and water up to 4 plants at a time. This repository hosts the firmware, PCBA design, and OpenSCAD code for the all components.
A writeup about this project is at "Plant1337: "Water 4 plants."
Please see the instructions for how to setup a Plant133 device if you are lucky enough to have one.
This project is built using my C++ framework for ESP devices.
The web interface for the project uses the Svelte framework, and was partially generated by Claude (Anthropic). Claude said it was OK to include the code in this MIT-licensed project. The web interface integration is performed using svelteesp32.
The full KiCAD project for the printed circuit board is in the KiCAD subdirectory. KiCAD is a cross platform, open source electronics design system.
Several components for the Plant133 device are printed with a 3D printer. These are designed as 3D geometry descriptions in OpenSCAD. The code for these are in the scad subdirectory.
OpenSCAD code for the project box housing the PCBA is in the scad/box/ subdirectory. It requires the library at https://github.com/chl33/ProjectBox.
Code for a plate which allows you to hang the EBox on the side of a water reservoir is in scad/ebox_hook. This is screwed to the bottom part of the EBox.
Inside the water reservoir, an insert holds a float for detecting the water level and 1-4 aquarium pumps for watering the plants. The code for this insert is in scad/reservoir_insert.
A cap for the moisture sensor can hold the end of the watering tube in place in the plant's pot, for when the watering spike is not used.
The end of the watering tube can be inserted into a 3D-printed spike with holes in it, which can be inserted into the soil in the plant pot to spread water through the pot.
The spike is printed in two halves which can be epoxied together.