TomTheWicked
New member
Okay, so here it goes. I'm almost done building my 40B stand and then I'll be moving on to the DIY reef controller. I'm doing this thread as a build documentary, and also returning the favor since almost everything I've learned about this project, and this hobby, I've learned from threads like this. I'm hoping that some day, someone will be wanting to do their own controller and be able to learn something from my project.
One thing I've noticed is that this hobby is filled with a lot of different people, with a lot of different backgrounds. Some engineers, some custodians, some teachers, some business[wo]man. What's my point? Well, the truly great thing is that ANYONE can do something like this. I don't have a background in electrical engineering, or software development, or structural engineering or anything of the sort (although I do have a Computer Science (degree that I've never used). I put my hands on an Arduino for the first time last night (even though I've owned it for 9-months) and I'm finally ready to give this a shot.
So, what's the purpose of doing your own controller? You get to make it however you want, of course! Here's what I've got so far.
(1) Arduino Mega 2560
(1) 3.2" TFT Touch-screen LCD (probably not going to use, but have it on hand)
(2) 20 x 4 LCD Display Modules
(2) SainSmart 8-channel 5v relay modules
(4) Digital push-button switches
(4) Micro-roller limit switches
(4) Joystick breakout modules
(4) regular float switches
(3) 80mm 4-pin CPU Fans
(2) Waterproof Digital Temp Sensor
(1) RTC I2C DS1307 AT24C32 Real Time Clock Module
(1) Air pressure switch (Don't remember the Part#. I'll look it up later)
Various resistors, LED's, breadboard, transistors, project boxes, etc.
This is what I've bought so far -- not necessarily the quantities of what I'm going to use for the project. Here's my thoughts on how I'm going to use some of these components:
I would like to use the joystick controls (think the Playstation controller type) to control the menu's being displayed on the LCD Modules. One display will be the menu while the other will display current tank info (temp, time, lights, warnings, etc).
I'd like to have a push-button (rather than scrolling through the menu's) mounted on the canopy for a "feed mode" that turns down the circulation pump. I also want an "emergency stop" button that will shut off the return pump and skimmer in the event of an emergency.
The LED's will be controlled on 7 individual channels (10,000K white, 7,500K white, Royal Blue, Cyan, Red, Actinic, and UV). This gives me plenty of flexibility controlling the colors in the tank -- probably a little too much. There's two major adjustments I want; individual channel intensity, and overall intensity. The channel intensity sets per channel. The overall intensity set over all channels. Self explanatory but work with me here.
The circulation pump I'm using will be the Jebao WP25 (I'm not going to discuss your/my opinions on this pump on this forum) since it uses a PWM channel to control its flow. This should allow me to program my own modes (Wave 1, Wave 2, Wave 3, Wave Crest, etc) directly from the Arduino and not have to use the included control box. It will also allow me to turn the pump down/off during "feed mode" for feeding time. I'm also toying with the idea of having a servo-operated door on the canopy that opens with you hit the "feed button" for no other reason than because I can.
I'll also have a temperature sensor mounted in the hood that will control a pair of 80mm CPU fans. Since their 4-pin fans, I plan on having them run constantly, but increasing their speed (and cooling) if the heat in the hood increases.
In the cabinet I'll have a water temperature sensor that will control a redundant set of heaters and a cooling fan. Which heating/cooling device operates will depend on the input of the temperature sensor, obviously.
Since the bottom 6" of my cabinet is sealed and would fill with water during an overflow event, I'm going to install a redundant set of float switches that will shut off the return pumps and skimmer in the event of an actual overflow. Because, safety. And insurance.
Of course, I'll have a refugium light that will be controlled by a timer/clock/schedule on the Arduino so that it can come on at night and turn off during the day. This light will also automatically turn on when I remove the front cover from the cabinet area. Again, just because I want it to, no other reason.
I'm also going to put a float switch in the skimmer collection cup so that I can display a message on the LCD's when it's full or needs attention.
So, you've stuck with me this long? Thank you. Just to clarify, a few things were implied in the previous paragraphs.
1.) Everything that requires power will be plugged into outlets that will be controlled by the Arduino. This gives me full on/off control over everything in/on/under the tank.
2.) There's obviously some parts that I'll need that I haven't purchase or even thougt of yet.
In my opinion, and from my research, there's really nothing in this project that will be overly complicated. Truthfully, I think the hardest hurdle to overcome will be the LED programming. But there's plenty of DIY information out there that I'm sure I'll be able to get everything accomplished that I want to.
So that's it. My project in a big nutshell. I would appreciate feedback by anyone.
P.S. Sorry for my poor English, I'm American.
One thing I've noticed is that this hobby is filled with a lot of different people, with a lot of different backgrounds. Some engineers, some custodians, some teachers, some business[wo]man. What's my point? Well, the truly great thing is that ANYONE can do something like this. I don't have a background in electrical engineering, or software development, or structural engineering or anything of the sort (although I do have a Computer Science (degree that I've never used). I put my hands on an Arduino for the first time last night (even though I've owned it for 9-months) and I'm finally ready to give this a shot.
So, what's the purpose of doing your own controller? You get to make it however you want, of course! Here's what I've got so far.
(1) Arduino Mega 2560
(1) 3.2" TFT Touch-screen LCD (probably not going to use, but have it on hand)
(2) 20 x 4 LCD Display Modules
(2) SainSmart 8-channel 5v relay modules
(4) Digital push-button switches
(4) Micro-roller limit switches
(4) Joystick breakout modules
(4) regular float switches
(3) 80mm 4-pin CPU Fans
(2) Waterproof Digital Temp Sensor
(1) RTC I2C DS1307 AT24C32 Real Time Clock Module
(1) Air pressure switch (Don't remember the Part#. I'll look it up later)
Various resistors, LED's, breadboard, transistors, project boxes, etc.
This is what I've bought so far -- not necessarily the quantities of what I'm going to use for the project. Here's my thoughts on how I'm going to use some of these components:
I would like to use the joystick controls (think the Playstation controller type) to control the menu's being displayed on the LCD Modules. One display will be the menu while the other will display current tank info (temp, time, lights, warnings, etc).
I'd like to have a push-button (rather than scrolling through the menu's) mounted on the canopy for a "feed mode" that turns down the circulation pump. I also want an "emergency stop" button that will shut off the return pump and skimmer in the event of an emergency.
The LED's will be controlled on 7 individual channels (10,000K white, 7,500K white, Royal Blue, Cyan, Red, Actinic, and UV). This gives me plenty of flexibility controlling the colors in the tank -- probably a little too much. There's two major adjustments I want; individual channel intensity, and overall intensity. The channel intensity sets per channel. The overall intensity set over all channels. Self explanatory but work with me here.
The circulation pump I'm using will be the Jebao WP25 (I'm not going to discuss your/my opinions on this pump on this forum) since it uses a PWM channel to control its flow. This should allow me to program my own modes (Wave 1, Wave 2, Wave 3, Wave Crest, etc) directly from the Arduino and not have to use the included control box. It will also allow me to turn the pump down/off during "feed mode" for feeding time. I'm also toying with the idea of having a servo-operated door on the canopy that opens with you hit the "feed button" for no other reason than because I can.
I'll also have a temperature sensor mounted in the hood that will control a pair of 80mm CPU fans. Since their 4-pin fans, I plan on having them run constantly, but increasing their speed (and cooling) if the heat in the hood increases.
In the cabinet I'll have a water temperature sensor that will control a redundant set of heaters and a cooling fan. Which heating/cooling device operates will depend on the input of the temperature sensor, obviously.
Since the bottom 6" of my cabinet is sealed and would fill with water during an overflow event, I'm going to install a redundant set of float switches that will shut off the return pumps and skimmer in the event of an actual overflow. Because, safety. And insurance.
Of course, I'll have a refugium light that will be controlled by a timer/clock/schedule on the Arduino so that it can come on at night and turn off during the day. This light will also automatically turn on when I remove the front cover from the cabinet area. Again, just because I want it to, no other reason.
I'm also going to put a float switch in the skimmer collection cup so that I can display a message on the LCD's when it's full or needs attention.
So, you've stuck with me this long? Thank you. Just to clarify, a few things were implied in the previous paragraphs.
1.) Everything that requires power will be plugged into outlets that will be controlled by the Arduino. This gives me full on/off control over everything in/on/under the tank.
2.) There's obviously some parts that I'll need that I haven't purchase or even thougt of yet.
In my opinion, and from my research, there's really nothing in this project that will be overly complicated. Truthfully, I think the hardest hurdle to overcome will be the LED programming. But there's plenty of DIY information out there that I'm sure I'll be able to get everything accomplished that I want to.
So that's it. My project in a big nutshell. I would appreciate feedback by anyone.
P.S. Sorry for my poor English, I'm American.