Built a simple hydroponics growing container with an ESP 8266. Code at https://github.com/cmdr2/farm
The seeds have been planted - 18 tomato seeds spread across 6 planters (aka plastic egg carton with a plastic wrap to build the humidity).
For the plumbing system, I've gone for a simple design. It has two tanks, stacked vertically over each other. A motor switches on at preset intervals, pumps the nutrient solution from the lower tank for a preset duration. A smaller hole (compared to the inlet pipe) in the upper tank (containing the plant roots) drains the water back to the lower tank. For fun, an emergency cut-off could've be built at the top of the upper tank (using a water-level sensor). But for now, that's not in scope.
So really, it's just an ESP 8266 sending an ON signal at preset intervals, and holding it ON for another preset interval. The rest is gravity and plumbing.
The circuit is just a modified version of what I had from a previous project, a TIP 122
transistor (with a diode) controlled by a GPIO pin on the ESP 8266, which will switch the motor on/off. For now, the motor and the ESP 8266 board have different power sources. A TIP 122
is not really necessary for this, but I'm not going for design elegance awards.
Later edit: Added a light sensor (LDR) to change the pumping frequency at night. And Amplitude analytics logging to ping a server each time it runs, so that I can check whether it's been running on time.