arthurdent510
New member
So I've slowly been working on my arduino based reef controller. I finally have phase 1 in production, so I thought I'd share what I've been working on 
Right now it is based on a basic Arduino Uno, no internet connectivity, yet. I have 2 solid state relays controlling my heaters, and I'm planning on grabbing a third to control my fans (right now the fans are just left on all the time, as the tank is usually too warm, not too cold. That may change in a month or so, but hopefully by then I'll have my other relay.)
So for relays, I'm using these - http://www.amazon.com/gp/product/B004HZN628/ref=oh_details_o00_s00_i00?ie=UTF8&psc=1. As a warning from the comments, it appears that it's common to get knock offs that fail right away... The pair that I ordered came from an American vendor (most of the vendors ship directly from China), so I'm not sure if that played a part, but both of the relays I got work fine and I've had no heat issues while running. They're rated up to 25 amps, so they should be more then enough to handle the heaters.
The display is just a generic 16x2 lcd, stuffed into a case that I got from Adafruit. (http://www.adafruit.com/products/271 and http://www.adafruit.com/products/181). Power is from a 1.5 amp, 9v power supply from RadioShack.
I'm currently only running a temp probe... I'd like to eventually get a ph and salinity probe, but those are down the road. The temp probe I'm using I got from Adafruit as well. I'm using the high temp version of this (http://www.adafruit.com/products/381) only because it was repurposed from another project that I never got to
The only gotcha was that by default it spits readings back in Celsius, but a simple conversion to Fahrenheit in code fixed that. As a note, the arduino does it's math ordering strange.... the formula to convert c to f is f = c*(9/5)+32, and it was always coming back really low when I used that. I couldn't figure it out, till I used f = (c*1.8)+32. Strange... but it works now /shrug
So the heaters are set to turn on at 2 different points... at 78 the first (and smaller) of the 2 heaters turn on, and at 77.5 both heaters are running. The relays themselves have some indicator led's to show that they're running, but I'm also spitting some text out to the display to indicate what's going on. When I get fans triggered through code, I'll probably have them set for over 78.5.
As for the fans, I'm using 2 12v dc computer case fans, one on each side, both blowing air into the tank. It actually is working better then I expected... This weekend I'll probably test out having one fan blow in and one suck out to see if it works any better, but for now it's good. The big test will come next summer I guess... I'll use an a/c relay to control power to the power supply. I've tossed around the idea of using a dc relay in case I end up running anything else off that dc power supply, but for right now using another ac solid state relay will work fine.
To connect the relays and probes back to the box, I'm running the control lines over some phone and network cable. The temp probe requires 3 wires, so it got the rj11 and phone cord, and the relays are running over the cat5/rj45 cable. The cat5 gives me more then enough wires for running the 2 relays I have now, but gives me plenty of room for expansion so far.
So my plans of things to come, mostly in order that I think I'll get to them:
- Adding fan control
- Adding wifi capabilities with logging to my website so I can both watch my tank's levels remotely and get some stats on fan/heater efficiency and such
- tie into my led controller
- Adding more sensors
-- Moving my ato to be controlled by code, possibly using a pump where I can keep track of how much water I'm adding
-- PH probe
-- Salinity probe
-- ?
I don't have the code with me right now, but I'll add in a link to it later in case anyone wants to look at my hacked together code
And please ignore my rats nest of cords and cables behind my tank... That's this weekends project to clean all of that up...
Now onto pictures! And yes, the lcd display is upside down... I'm not sure why it's doing that, it was right side up when I tested off the board. Guessing I have the data pins wired backwards or something...
And I'd love to hear feedback! In all, between the arduino, ssr's, and various bits and pieces, I'd say I have right around $100 in to it, if you don't count all the wire, soldering iron, and other necessary tools that I already had on hand..
Everything mocked up on a breadboard
The relays all wired up outside of the box
And everything in the box with the rj45 plug hanging out
The display, although upside down...
And the bottom with my cords hanging out! I do have a bottom plate, I just need to cut holes to allow my wires coming out still
and for good measure, a full tank shot
Right now it is based on a basic Arduino Uno, no internet connectivity, yet. I have 2 solid state relays controlling my heaters, and I'm planning on grabbing a third to control my fans (right now the fans are just left on all the time, as the tank is usually too warm, not too cold. That may change in a month or so, but hopefully by then I'll have my other relay.)
So for relays, I'm using these - http://www.amazon.com/gp/product/B004HZN628/ref=oh_details_o00_s00_i00?ie=UTF8&psc=1. As a warning from the comments, it appears that it's common to get knock offs that fail right away... The pair that I ordered came from an American vendor (most of the vendors ship directly from China), so I'm not sure if that played a part, but both of the relays I got work fine and I've had no heat issues while running. They're rated up to 25 amps, so they should be more then enough to handle the heaters.
The display is just a generic 16x2 lcd, stuffed into a case that I got from Adafruit. (http://www.adafruit.com/products/271 and http://www.adafruit.com/products/181). Power is from a 1.5 amp, 9v power supply from RadioShack.
I'm currently only running a temp probe... I'd like to eventually get a ph and salinity probe, but those are down the road. The temp probe I'm using I got from Adafruit as well. I'm using the high temp version of this (http://www.adafruit.com/products/381) only because it was repurposed from another project that I never got to
So the heaters are set to turn on at 2 different points... at 78 the first (and smaller) of the 2 heaters turn on, and at 77.5 both heaters are running. The relays themselves have some indicator led's to show that they're running, but I'm also spitting some text out to the display to indicate what's going on. When I get fans triggered through code, I'll probably have them set for over 78.5.
As for the fans, I'm using 2 12v dc computer case fans, one on each side, both blowing air into the tank. It actually is working better then I expected... This weekend I'll probably test out having one fan blow in and one suck out to see if it works any better, but for now it's good. The big test will come next summer I guess... I'll use an a/c relay to control power to the power supply. I've tossed around the idea of using a dc relay in case I end up running anything else off that dc power supply, but for right now using another ac solid state relay will work fine.
To connect the relays and probes back to the box, I'm running the control lines over some phone and network cable. The temp probe requires 3 wires, so it got the rj11 and phone cord, and the relays are running over the cat5/rj45 cable. The cat5 gives me more then enough wires for running the 2 relays I have now, but gives me plenty of room for expansion so far.
So my plans of things to come, mostly in order that I think I'll get to them:
- Adding fan control
- Adding wifi capabilities with logging to my website so I can both watch my tank's levels remotely and get some stats on fan/heater efficiency and such
- tie into my led controller
- Adding more sensors
-- Moving my ato to be controlled by code, possibly using a pump where I can keep track of how much water I'm adding
-- PH probe
-- Salinity probe
-- ?
I don't have the code with me right now, but I'll add in a link to it later in case anyone wants to look at my hacked together code
Now onto pictures! And yes, the lcd display is upside down... I'm not sure why it's doing that, it was right side up when I tested off the board. Guessing I have the data pins wired backwards or something...
And I'd love to hear feedback! In all, between the arduino, ssr's, and various bits and pieces, I'd say I have right around $100 in to it, if you don't count all the wire, soldering iron, and other necessary tools that I already had on hand..
Everything mocked up on a breadboard
The relays all wired up outside of the box
And everything in the box with the rj45 plug hanging out
The display, although upside down...
And the bottom with my cords hanging out! I do have a bottom plate, I just need to cut holes to allow my wires coming out still
and for good measure, a full tank shot