This year for Makerfaire we were ambitious. With the project budget and time contraints given for a group of 2, our group of 3 (me, Sam Ruggerio, and Phillip Augustynowicz) struggled to keep our project small enough. But, at the end of the day, it worked out.
We ended up with the largest project by volume at the Makerfaire, and for good reason - it's a greenhouse. We settled on a 3ft x 3ft x 5.5ft design, with a pyramid shaped roof to prevent water from pooling. We did end up going over budget, so we kept our frame simple - a treated plywood base and PVC piping.
But what about electronics? Well, that's where $240 of our $150 budget went. The high cost comes with a reason - we wanted a lot of functionality. So what can this greenhouse do?
- See how much water your plants need based on soil moisture
- Individually water each plant with the perfect amount of water
- Maintain airflow, and monitor and stabilize temperature and humidity
- Monitor water level and use less water when we're running out
- Run with no external power (solar panel and battery)
- Be configured from a touchscreen interface
- Roughly track time of day and external weather using a light sensor
The greenhouse is entirely self-sustaining, apart from planting and harvesting the greenhouse is able to intelligently manage everything else. When plants are ready to be harvested, they can be individually removed because we place each plant in it's own 1ft x 1ft box.
But if you remove a plant from the greenhouse, how will it know not to water the now empty part of the greenhouse? Well, you have 2 options - first, I made the soil sensors hot-pluggable, so the system will automatically refrain from watering a plant that's sensor is disconnected. Alternatively, you could simply tap the touchscreen, go to settings, and disable that individual plant. The OS lets you customize everything, from safe temperature ranges to fan speeds to the type of plant (as different plants need different amounts of water). The screen also has a status bar to show the current water and battery level. Going to the statistics page reveals the temperature, humidity, fan information, plant status, and more. The system can be stopped at any time - you are still in control. A full overview video of the OS is coming soon.
Battery
Above you can see just some of the wiring up close - it was a mess, and by far the most complex Arduino project I've ever done. The complete code for the OS can be found on my git repo.
We decided to 3D print as much as possible for this project. In fact all of the PVC connectors in this project are 3D printed, as nobody sells pyramid-topper connectors and it's also a lot cheaper to print everything ourselves.
45 degree pyramid connectors
In order to mount the PVC to the base, we had to use a special 3D printed adapter piece. Our first attempt which was based on a design found online failed because they weren't strong enough, so I went and designed a custom, high-strength base mount.
Original design (breaks under stress) Upgraded design
The old design was cylindrical and thin, and the cylinder cracked down the middle providing no support. The cone-shaped design here let us mount the PVC securely. The screw hole placements are a bit odd in order to be 100% backwards compatible with our existing mounting solution, so it was a drop in replacement for the old mounts.
We also 3d printed a mount for the pump, which you can see in the top-down shot above. To make the screen a little nicer, I also designed a little cover for it that conveniently also hides the terrible soldering job i did for the 20 pin connector.
Parts list:
Arduino Mega 2560 | Main microcontroller |
12W Solar Panel | Main power source |
DHT22 Sensor | Temperature and humidity sensor |
Photo Transistor | Light sensor for time and weather approximations |
Adafruit 2.8" TFT touch screen w/ microsd | Display info, control the system, store data, main interface |
Big Red Button | Emergency stop (too much water?) |
Adafruit 6600 mAh Li-Ion Battery | Power source when there is no sun |
Adafruit Powerboost 1000C | Battery voltage regulator & charger |
Plastic Solenoid x4 | Water output control |
3A Step-Up Voltage Booster 5V --> 12V | Higher voltage source for solenoids and fans |
4 Channel Mechanical Relay | Controls solenoids |
Peristaltic water pump | Pumps water from the storage container to the solenoids. |
Adafruit Soil Moisture Sensor x4 | Detect soil moisture of each plant |
PVC piping, plastic drop cloth, plywood | The roof and walls of the greenhouse |