Controller

The heart of the aquarium operation is the controller, and by that, I mean the Arduino Mega and all the circuitry for sensing the state of the aquarium and performing the functions needed to automate maintenance.  This video provides a short tour of everything in my controller. 



Fortunately, I haven't had any significant problems with circuitry since I put this together, but I would recommend, in hindsight, using a larger project box if you have the space (see the Project Box page), which allows for a neater wiring configuration.  However, this does have a drawback of using more space in the cabinet, and also uses more wiring increasing cost.


The wiring is too much to follow in the photo, and certainly in the video tour, but keep in mind this controller, like most Arduino projects, is a series of simple circuits that are tied together with software.  When learning how to build for the Arduino I highly recommend always thinking in terms of a single circuit, vs looking at someone's finished project which may consist of many circuits.  In this project the circuits correspond to the labels on the project box connectors: LCDs, Reverse Osmosis Floats (i.e. top of tank floats), Sump Floats, Skimmer Floats, and Temperature Sensors.  

If you want to do a project like this you want to do one circuit at a time, and refer to the numerous tutorials available:

General Tutorials
Specific Tutorials Used in this Project
Below shows the initial placement of the Arduino Mega and breadboard for wiring up circuits for the automated fisher feeder, power panel, and led status lights.  You can see I fed the USB input for the Arduino to the outside of the project box with an extension cord so it is easy to plug in when I need to update the controller software.  Also fed to the outside of the box is the power input to the board and a connector for the temperature sensors.


You can pick up extension cables and connectors like these and other bits'n pieces from eBay and AliExpress.  Items shipped from China are a great deal, but sometimes it takes a long time to receive them. 

💡Lesson Learned: Look for shipping from China called ePacket which tends to arrive in about half the time of standard shipping from China ~2 weeks vs 4+ weeks.

In the photo below you can see the green Real Time Clock (RTC) module with a battery on the right side of the box.  There are many forms of this module to choose from, but they are all intended to do one thing - keep time.  This means when the Arduino is powered off and back on this module can supply the Arduino with the current time, as previously set by a simple program.  Most Arduino board varieties, like the Arduino Mega used in this project, do not come with an onboard RTC, so you'll need one of these to keep time for lighting, feeding, and other schedules for your automated tank.  Modules like these are easy to wire.  Check out the simple guide on adafruit.


Some of the ports on the side of the box wired up with the controller are shown below.


The Easy Driver used with the fish feeder is the red board you can see at the bottom of the photo.


Below shows A LOT of wiring to ports on the sides of the controller so that sensors and controls can be easily connected to the box.  You will also see the line of TIP 120 transistors on the right side of this photo used to send adequate switching voltage to the SSR in the power strips.


The following is a short video showing the Arduino controller getting updated from my laptop.