Fish Pee and Sunshine


Greg Vialle Wednesday 10 of February, 2016
I've been playing with instrumentation/automation for some months now.

Here's where I think it would be useful in my current situation:

  • Systematic quantification of experimental data.
  • Checking vital signs in the aquaponics water: pH, temperature, dissolved oxygen (DO), ammonia. Tracking water level in the sump, and in each of my grow beds is also a critical function as it evaporates quickly here, and bell siphons go out of whack easily. Running pumps dry is not a good thing.
  • Automating grow lights, to provide consistent light cycles.  Timers can generally do this, but can't be changed remotely.
  • Automating heaters.There are temperature controllers readily available, but it would be difficult to control the temperature according to DO levels for instance.
  • Fish feeding. Again, there are timer based fish feeders, that can go a week or so, that I am currently using to allow myself to go on vacations, but without the capability to remotely turn off when for instance ammonia levels spike.
  • Motion sensing to turn grow lights off in the presence of children.  My wife is concerned about the UV spectrum of the grow lights damaging their eyes.
  • Controlling temperature/heat lamps on the outdoor quail.
  • Monitoring water levels for the quail.  I've had 2 or three instances this winter where they ran out of water for a day or so because of frozen hoses in the circulating system I've set up for them. Quail stop laying for days if they are without water for even a few hours.
  • Automated feeders for quail and rabbits


Here's where I am:


Grove system

Based on some of the instructables  reviewed I settled on an Intel Galileo board with a Grove cape and sensors.  The Grove system is modular and fairly extensive but lacks a good way to measure DO and ammonia.  A pH sensor exists but is not really designed for continuous measurement. The temperature sensors are all (AFAIK) for air measurement, The light sensor is broad spectrum. The Galileo itself is not as well supported as I'd like, and it turned out the CO2 sensor I bought does not work with Galileo. These are the sensors/controllers I ended up using:

  • Water sensor
  • Moisture sensor
  • Light sensor
  • UV sensor
  • MQ9 gas sensor
  • Motion sensor
  • Relay
  • LCD (to locally display measurement data)
  • Button (to control which measurements are displayed)

I wrote programs in both Python and in Javascript (node.js), to read and send data to a web server (viewable at https://celss.net/sensor/display.php).  The javascript has since stopped working, and I suspect buffering issues in the request commands. I am looking to reinvoke my Python program and move it over to a Raspberry Pi platform at some point as I expect it to be more stable there, and I much prefer Python as a programming language.  I also considered using a spare Beagle Bone Black board, but the Grove cape for it is very limited in IO.

Top: OsmoBot
Bottom: Galileo with Grove Sensors



Paul Holowko was kind enough to let me test out one of his beta units. I was very impressed with the water level sensing, once I had it hooked up correctly.  The unit I tested did not have DO/pH sensing capabilities, but his newer models do, using a superior optical method that does not need chemicals to run. The ((http://OsmoBot.com|OsmoBot)) light meter senses red, green and blue spectrums separately, so you can measure which part of the spectrum needs supplementation (generally on the red end I expect) to achieve ideal PPF. The ((http://OsmoBot.com|OsmoBot)) requires some setup with wifi, but then posts measurement data to OsmoBot.net, which shows up nicely on most devices including my android phone.

I did have some problems with the ((http://OsmoBot.com|OsmoBot)) reconnecting after dropped internet connect (due to crummy cable service, and possibly a router that took it upon itself to update firmware in that timeframe). Discussing with Paul, it sounds like he has largely solved this problem with updates to firmware on the OsmoBot.  The main thing the ((http://OsmoBot.com|OsmoBot)) didn't provide that I wanted for my situation was expansion and customization. 



A good DO measuring system by itself costs a few hundred dollars, so the OsmoBot system is a pretty good deal at the $600 price point. I spent about $200 on Grove sensor kits and a Galileo board, and arrived at different capabilities with some overlap of the OsmoBot system. I also spent a lot of hours programming which while it's not my day job, I do have some experience with. My wife, who is a professionally consulting programmer spent a few hours helping me troubleshoot problems also. Considering her going rate for consulting, the cost of my custom system would no doubt far exceed the cost of an OsmoBot.  All that considered, I learned a great deal about the IoT world in this venture, and will probably continue playing with my custom system at the hobbyist level, at least until I can get my oldest son trained to take over instrumentation so I can go back to focusing on system design.