Aquaduino is an extensible open source control system framework for fish tanks or other related environments. Aquaduino is published under the GPLv3 and is written in C++. It is currently developed on a DFRduino Mega 2560 with DFRduino Ethernet Shield. It currently supports the control of power outlets using relay modules, temperature readings by using a Dallas DS18S20, automatic refill by using a level sensor with closing contact and a simple webinterface to manage the control of the power outlets. The strength of Aquaduino is its extensibility which allows developers to simply support further sensors, actors or controllers related to their special needs.
The framework provided by Aquaduino uses a slightly modified version of Webduino. To provide a seamless integration of actors like relays into controlling elements the Aquaduino webinterface automatically generates a configuration webinterface to assign the available actors to the controlling elements of Aquaduino. Thus the actors can easily be enabled, disabled or assigned at runtime to the different control elements.
Actuator/Controller/Sensor Framework
Networking
Template Parser Framework
Configuration Management
Aquaduino runs on the Arduino Mega 2560 and requires an Ethernetshield. The following picture shows the general hardware setup for the external components. In my case the relays to control the power outlets are realized by 6 4-channel relay breakouts from iTeadstudio, but it is also simply possible to build own relay setups as depicted below using for example an ULN2803 driver. The level sensor is a LS02-1A66-PP-500W from Meder Electronic. Its doing a great job for the small amount of money. The DS18S20 can be integrated in a small aluminium tube and then be sealed with silicon. This makes it a great low cost submersible temperature sensor.