We saw that the hackathon's theme was to "sow the seeds of the future generation of coders," and so we built a garden.
The enclosure was manufactured out of wood, for prototyping purposes but will likely be 3D printed later on for easier production. It has a square footprint to allow for lining up in rows and possibly stacked. It has room built in for future enhancements and upgrades. Our water pump mechanism is a gravity-fed, vacuum sealed design that is an unnecessarily complex design. We were limited by the hardware provided and a water pump, siphon, or solenoid would have eliminated the need for an upper housing attachment.
The enclosure also comes built in with a large sensor cluster that takes in input from the garden, and stores the data in the cloud for monitoring. Additionally, the sensors control a feedback system that can appropriately adjust properties of the garden to wanted values.
We used an Arduino to interface with the sensors, and a Dragonboard to interface with the Arduino and the internet. Some of the sensors used I2C, while the rest were just a voltage output, so we had to mix and match communication protocols with different devices. Then the Dragonboard receives data from the Arduino through serial USB, and finally send it to a host server.
Many obstacles arose when creating this, especially in software. None of us are experienced in Python nor web-based data storage, so it was a steep learning curve. We had lots of difficulty in finding a cloud storage that was suitable for use with the Dragonboard. Starting at Google Cloud, we jumped back and forth between BigTable and FireBase, not knowing how to effectively use either. The Dragonboard made things harder because it only came installed with Python 2.7. We had to resort to using ThingSpeak, which made coding for us much easier and shorter. For data communication between the Arduino and Dragonboard, we tried many methods from I2C, to UART, to exporting Arduino data as a .csv or .txt file. We eventually settled on simple USB, although we encountered even more difficulties in setting up the two to communicate.
Naturally, challenges in hardware came up, just as abundantly. We had difficulty in finding a way to pump the water into the plant, without putting any mounted electronics at risk, especially since there was no pump readily available. The servos that were given did not come with easily adaptable pieces, and we had to design, 3D print, and prototype an adapter between our servo and the bottle.
Despite all of our challenges, we're happy that we managed to have a rough prototype created. We all do not have much experience in creating projects like this, so we made many mistakes. Yet, we learned more from those mistakes and from the experience then we would have studying on our own, so we're all happy we participated.
Hopefully this type of "smart garden" can be made modular, easy to use and implement, and wide-spread. I'm sure with more time and resources, this idea can be made into something for consumer use, that would not only help the economy, but also promote environmentally friendly methods to grow backyard gardens effectively.