We’re starting a farm. In a place with a 100 day growing season. This means season extension is the name of the game. The best way to get a drop on the growing season is starting seeds indoors so when the weather is nice you have a mature plant to go into the ground.
I love hot peppers and with a 100 day growing season, they’ll never get the time they need to take off without some help.
Amazon sells a few, but they’re limited and expensive for what they do. For now we have a VIVOSUN seed mat thermostat. Not bad, but unable to expand, and lacking the featureset I’m after. If I wanted more zones, lighting controls, etc. I would have to buy so many more little devices at twenty or thirty bucks a pop.
Forget that. I have an unused Raspberry Pi and am willing to make some magic happen on my own.
Desired Featureset
What I want out of this thing is:
- Easily expandable to multiple “zones” in the future
- Minimum two “zones” to begin
- Control heat mat temperature in each zone
- Control lighting duration in each zone
- Record temperatures and let me review them historically
- Ambient: seed start shed
- Ambient: outside
- Soil temperature per zone
- Fan control (on / off)
- Controllable from a physical device interface
If you aren’t into growing plants, I’ll explain some of the above.
For plants to start germinating they need:
- specific soil temperatures
- a specific amount of light each day
- air currents to keep their stems strong
Hardware
- Raspberry Pi B+ - The brains of the operation.
- DS18B20 Temperature Sensors - Four probes for two zones + interior / exterior temps.
- Hydrofarm MT10009 48-by-20-Inch Seedling Heat Mat - Two mats, one per zone. Each mat will hold 4 seed start trays.
- Adafruit Blue&White 16x2 LCD+Keypad Kit for Raspberry Pi
Interface: Hardware
As you can see it supports up, down, left, right, select, and contrast. Just short of the Konami code.
I’m planning to support two zones to start, with test modes for everything (on / off now) and on device time and temperature control for all the options. I’ll also need a silicone cover for the interface and screen. Or at least something that can shake off a little water if that happens.
Interface: Software
The Internet of Things can keep its grubby hands off my controller.
I don’t want to be able to change anything from this device other than reboot it. Its only security will be if you are on its own wireless network. All weather and farm devices will be on their own segregated network.
I need:
- A graph of all temperatures for a user selected period of time (1 day / month / quarter / year).
- The ability to reboot cleanly (instead of pulling the power).
- The ability to save and persist all temperature data and settings changes.
- The ability to download CSVs with temperature histories for as long as the device has them saved.
For now I’m thinking Chart.js and some Python.
Conclusion
That’s what I’ve got for now. Expect to see updates to these requirements as I move forward and start building this thing.