With an Arduino Nano at its heart, this DIN rail mountable control box can monitor and help maintain the environment required for your fish to thrive. With sensors to monitor pH levels and temperature, and relays to control heaters, lights and pumps this little box can work to keep conditions within preset thresholds.
The device can output data and alerts via serial over the USB port or i2c giving huge options to expand the system; I have mine connected to Python webserver running on a Raspberry Pi to give a user friendly Web based interface to monitor and control the tank.
Multiple Aquariumatic V1 units can be connected to the raspberry Pi via i2c to allow Multi-Aquarium control all from the same Web interface!
Step 1: Collect Your Parts
DIN rail enclosure
Nano's screw terminal shield
16x2 lcd screen module
4 channel relay board
pH sensor board and probe
Solid core wire/ male/female headered wires (depending on how you want to wire everything up)
Stereo jack and socket
I will provide some links to the parts I selected for these. They can be found on EBay for dirt cheap in most cases!
Step 2: Cut the Case
Cut the holes in the enclosure for the Screen, the BNC connector for the pH sensor, the jack socket for the temperature sensor,, the potentiometer for setting screen brightness and any holes to stop the relays and Arduino USB port being obscured.
Depending on the DIN rail case you have chosen to house your components in you may need to adjust the hole locations to suit your needs.
Once I have some links to the case I've used I will draw up a template to follow.
Step 3: Mount Relays & Nano
The relay board and the Arduino nano screw terminal shield fit nicely alongside each other in the Base of the enclosure.
Once you're happy with their position use a dollop of hot glue to hold these beasties in place.
NOTE: Depending on your enclosure and it may be better to pre-wire the components before sticking them in place; it can be quite tricky to fit the wires into the screw terminals with the relay board in the way.
Step 4: Mount PH Sensor Board
With the hole for the BNC Connector cut or drilled its a case of fitting the connector through the hole and using some glue to hold into place. As with the other parts it may be best to attach your wiring to the board before placement.
Step 5: Mount LCD Screen
As with the other parts fit the screen into it's pre-cut hole and secure with an adhesive of your choice.
I am hoping to one day design a series of brackets to hold the components in place in the case without the need to glue them in.
It'll be much neater and make for a much cleaner build.
Step 6: Mount Jack for Temperature Sensor
Unscrew the jack, slot it through the hole and screw back together. Nice and easy!
Step 7: Wiring
Wiring diagram to follow!
Step 8: Programming
The code I have used is under constant development as I keep working on this project.
My code is available on my GitHub.
Once I have a stable version for this unit in it's current configuration I shall add here.
Step 9: Install and Enjoy!
Attach your freshly built and programmed unit to a DIN Rail of your choice.
I'd recommend mounting it close to your tank to make connections easy and to keep your cable runs short.
CAREFULLY wire up your power sources. When we put together our prototype we used an old PSU power supply (12v 4A) to provide 12v power to our Arduino and relays alongside the mains supply for the relays. For demo purposes we mounted some sockets to a display unit to plug our heater, pump and lights into and witred the relays to these sockets. This meant we didn't have to alter our Aquarium's devices in any way.
If you're interested in this please drop me a message - I'll gladly provide info and help where I can!
I'm also documenting further development on a new version of this device over on Hackaday.io - check it out!