Seed Starting Grow Box Using Arduino
--
I’m going to have to science the shit out of this — Mark Watney
If you’re into gardening or Arduino, this post is for you. I built an indoor, lighted grow box with parts from previous projects. I’ll be updating this post as the experiment proceeds.
Inspired by the potato growing story arc in the Martian movie, I’m leveling up this year and starting my seeds indoors in January. Usually, I’m a pretty lazy gardener and only get around to putting seeds in the ground in April. But the Bay Area climate is very forgiving so this mostly works for me. :)
I’m making an indoor lighted seed-starting grow box. I further decided to buy no new parts. I’ve already bought LEDs and Arduinos for other projects so this didn’t seem like a huge limitation.
The Box
I started with a shipping box as the grow box. I lined it with cooking aluminum foil to reflect light and keep the insides bright. The box wasn’t tall enough when closed, so I used it’s lid to increase the height. I used the packing paper within to fashion a lid, like the tarp on the MAV’s nose cone in the movie :). More foil on the lid to keep light and heat in. I’ll monitor if the loosely-fitting lid it going to let out too much heat, and glue it shut if it does.
The Lights
I’d bought a strip of addressable LEDs for another project so I reused them for this project. I hooked up an Arduino Pro Mini to control the LEDs. A simple program keeps the lights on for 12 hours and then turns them off for 12 hours and repeats.
Supplying Power
The most exciting part of this project was connecting the whole thing to the AC mains. I thought of playing it safe and buying rechargeable batteries and running the whole thing on batteries, but decided to keep up my pledge to not buy new parts (my rechargeables have all run down at the moment).
I used a phone charger to provide 5V at 1A (the LEDs take about 800 mA at 5V). I cut off one end of a printer USB cable and soldered a two-pin JST connector to power the circuit from the charger.
Software and Testing
I had “fun” dealing with default 16-bit integer data types of Arduino overflowing even for small values. For debuggability, I output status messages every second out the serial port. I learned the hard way that merely plugging in my FTDI breakout board (Jameco part 2152243) would reset the Arduino. The fix was to use jumper wires to connect only RXI, TXO, and GND pins of the breakout board, leaving DTR and CTS disconnected.
Here’s the box all connected up and testing the full 12 hour cycle. Good to see that not much light is leaking out of the box.
I’m curious how this all works out. Stay tuned.