Skip to content

New project: Arduinoponics

So I started a new personal project in the past week or so. I built a very crude hydroponics setup using old Gatorade bottles and a Ford windshield washer pump to push nutrient-water through the system from a 2L Coke bottle as the “reservoir”. Ghetto. As. Hell. You can check out pics of it here: http://www.flickr.com/photos/nemik/sets/72157622608195083/

So I thought it would be cool to automatically control all this via the Arduino. I built a simple little circuit to control the pump so it runs for a few seconds every 10 minutes. However this could be expanded further so that the entire hydroponics setup can be automated via a computer that talks serially to the Arduino.

The Firmata (http://firmata.org/) firmware is designed to let a host computer talk to the Arduino in this way. So I modified it a little to for the project. It can use the Firmata functions of reading analog pins to get sensor readings but I wanted to have critical functionality like the turning on/off of the pump at specific intervals to be under the Arduino’s control. Just in case the host computer crashes or a connection is lost somehow, that a critical part of the plant’s needs such as water does not break as well.

The project is hosted here http://github.com/nemik/arduinoponics and licensed freely under and MIT license.

There is still a lot of work to do here. I should post schematics for my setup first I suppose. So I’ll do that once I find a decent software in Mac or Linux that can draw schematics, never done this before.
Also, I need to write host-software for the setup. I have a FON2100 Linux modem running the OpenWRT firmware and it has the Lua language on it. I’ve never used it before but it doesn’t seem too hard. I’m thinking to maybe write a Firmata implementation for Lua (probably based on the existing Java one used in Processing). I already got it talking serial to the Arduino so it might not be too bad. Or I could just use an old laptop and then maybe modify some existing Firmata host software rather than have to make the Lua one; I’ll have to see. The Fon router is just attractive now because it comes in such a small size and runs off 5V so it could share the power for the Arduino. Provided the 12V adapter I’m using for the pump and 7805 regulator to the Arduino can handle all this…it’s only rated for 1A. I may have to get a larger one.

Anyway, let me know what you think. I would love suggestions for this.

2 Comments

  1. Peter wrote:

    Hi Nemik. Great project. ALthough I had done some automation before, I got in to Arduino because of an interest in hydroponics too. As of yet, it is still very much a project in the proof-of-concept stage. I have been struggling with the pH and EC measurements and sensors (don’t want to fork out a gadzillion for semi-pro lab stuff). As for the weakest point in the setup : I personally would not power the Arduino and pump from the same supply. STill, you could use an old ATX power supply and the connector sold by Sparkfun. Plenty of juice and voltage options. Also, I will run the whole setup from the Arduino, with only serial output to the PC. A PC is just too much of a weak point. Best of luck !

    Thursday, December 3, 2009 at 6:11 am | Permalink
  2. nemik wrote:

    Peter,

    Very nice. I would also love some EC and pH meters, there are some good tutorials on the circuitry : http://blea.ch/wiki/index.php/PH_Meter http://damien.douxchamps.net/elec/ph_meter/ http://www.66pacific.com/ph/simplest_ph.aspx
    But my setup is so amateurish that I’m sure there are many more things the plants need (like lights) before I need to start measuring and tweaking pH balance.

    Right now the Arduino on the same supply as the pump is working fine, the adapter is up to the task. An old ATX PSU though is a good idea and probably will be next, when I merge the 5v supply of the Fonera router which it talks to and gives wireless control.

    I run the pump timings from the Arduino but plan to do lights and maybe some other things from the router/computer; it has thus far been very stable (running OpenWRT 8.09.1 Kamikaze). Main thing that prevents me from doing all the automation from the Arduino is the bad accuracy I get for time, and my unwillingness to add an actual real-time-clock IC to the Arduino.

    Wednesday, December 9, 2009 at 11:36 pm | Permalink

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*