SimACo is the SIMple Aquarium COntroller mainly created for freshwater aquariums. But all controller’s functions can be used also in marine aquarium. My main idea was to make a simple, easily controllable and cheap device which helps to make aquarium owner’s life easier. Controller is not overloaded with not very useful functions like camera to watch your aquarium fish in real time. SimACo best fits for the users which like DIY and have basic electrical and IT skills and know what the wire is:).
If you want to buy it, go here. In the picture below you can see all SimACo parts:
Now the second controller’s version is created; hardware equipment, software and firmware is completely finished and tested. I removed all bugs i could find. But new functions are constantly added. The heart of controller is Microchip PIC24F series microcontroller.
Now i will describe how controller can be useful for aquarium hobbyist like me.
Controller can do many repetitive aquarium maintenance jobs:
- Control LED lighting, including full dimming control.
- Turn off/on automatically high voltage devices, like water filter, air pump, CO2 valves, aquarium fluorescent or metal halide lights etc. There are 4 timers inbuilt which have 1 minute resolution.
- It can automatically fertilize aquarium with liquid fertilizers using peristaltic pumps. Four types of liquid fertilizers can be dosed. User selects dosing time and the days at which fertilizers will be dosed. Controller automatically counts fertilizers amount left in containers.
- Control the fan – designed to cool aquarium water in a hot summer days, fan speed can be adjusted automatically according to the aquarium temperature.
- Control the heater – heater can be turned off/on automatically according to the aquarium temperature.
- Aquarium water temperature can be measured with temperature sensor and displayed in 16×2 LCD or Windows/Android device screen. System can also function and without the sensor, but in this case heater control, automatic fan speed control and temperature measurement functions will not work.
- Auto top-off function: aquarium can be refilled with water automatically from the reservoir if aquarium water evaporates.
- Also there is inbuilt alarm system: you will know when water temperature is too high or too low or liquid fertilizers goes to the end. If alarm exists, buzzer will beep.
- All LED’s, devices, fan, dosing pumps, auto top-off channels are controlled separately, they all can be controlled automatically or manually.
- SimACo is controlled through WiFi – you can connect to your aquarium controller from any place in the world where is internet connection. For this you must have Windows computer or Android device with installed Angry Fish application (it’s free).
- All main controller settings are automatically saved to non-volatile memory so there is no need to restore manually every setting after battery replacement or blackout.
- Incorporated bootloader. Bootloader allows to update microcontroller’s program (firmware) through USB cable using Windows Angry Fish application.
SimACo main board has such channels (physical outputs to the controlled devices):
- Four channels for LED lighting control, named LED1-LED4;
- Four channels for 110V-230V devices control, named DEVICE1-DEVICE4;
- Four channels for peristaltic pumps control, named DOSING PUMP1-DOSING PUMP4;
- One channel for fan control, named FAN;
- One input for temperature sensor connection, named SENSOR;
- Two inputs for float sensors, named RESERVOIR SENSOR and AQUARIUM SENSOR;
- One channel for auto top-off water pump, named AUTO TOP-OFF PUMP.
SimACo has several fabric made boards: main board, buttons board (5 buttons keypad), MOSFET driver board for LED lighting and LDD drivers board for LED lighting. Main board is like motherboard in PC: all aquarium equipment is connected to it. Digital temperature sensor is based on Dallas semiconductor chip. LCD and buttons board connects to the main board with flat cables. Also there is a 3D printed front panel which is created to hold LCD module and buttons keypad.
|Main board v.2.0|
|Buttons board v.1.0 (keypad)|
|Mean Well LDD-XXXH driver board v.1.0 (for LED lighting)|
|Mean Well LDD-XXXH driver board is preapared to solder up to four LED drivers.|
|MOSFET driver board v.1.0 (for LED lighting)|
There are three ways to control SimACo:
- wireless WiFi connection. This type of control is most convenient. Using Windows computer or Android device with WiFi connection you can change SimACo controller settings, view your aquarium devices status. For this you will need to install Angry Fish application’s Windows or Android versions from the download section. You can connect to controller from your Windows/Android device directly (Android/Windows device — SimACo) but even better is to have a router. Through a router (Android/Windows device — router — SimACo) you can control your aquarium controller from anywhere.
- through a buttons keypad. With keypad you can control mostly used SimACo functions. Information is displayed in the simple 16×2 light crystal display. You can edit settings with pushbuttons scrolling through the menu and editing required parameter.
- USB cable. You will need USB cable and computer with Windows OS for controller’s firmware update. WiFi connection configuration also can be done using USB cable.
Here you can see Angry Fish application for Windows screenshots:
There are Angry Fish application for Android screenshots:
Controller has implemented “Fast Control” function: with one long press on buttons UP, DOWN, SELECT or ENTER in the 5 buttons keypad you can quickly activate selected action. These actions can be: showing desired menu on LCD or changing LED, DEVICE or FAN channels modes.
When power cable is removed, controller will keep counting time using internal 3V battery.
LED, Device and Fan channels are controlled using events. Every event has its own order number, channel type, start time, end time, starting brightness/speed, end brightness/speed. There are 50 events in total. For example LED lighting uses 10 events. Every event can have only one channel type but the same channel can be controlled with several events. For example LED1 channel can have 3 events assigned, LED2 -5, LED3 – 5 and LED4 – 2. So in this case 15 events will be used and 35 will remain unused – they can be configured to control other aquarium equipment.
Now about each function separately:
In nowadays more and more aquariums have LED lighting – lighting with light emitting diodes. LEDs help to reduce current consumption, this reduces your bills for electricity. But there are more useful aspects of LEDs. With diodes you can far better select the spectrum of light than with fluorescent, incandescent or metal halide lamps. Aquarium plants mostly needs blue and red light. So aquarium owner can mount in to the aquarium hood white, red and blue LEDs. White LEDs will be for the general aquarium appearance, blue and red LEDs will be useful for the plants. And here comes one more good property of LED lighting: they can be dimmed. It means that LED brightness can be adjusted from 0 to 100 percents. With dimming you can achieve practically unlimited lighting possibilities. You can reduce or increase each color’s brightness and that way achieve more different colors. SimACo for that purpose has four separate channels. So four chains of LEDs with different colors can be connected to SimACo. With SimACo in Manual mode you can adjust each color’s brightness whenever you want. Auto mode has even bigger possibilities: you can in small steps increase or decrease brightness of each color during selected interval of time. For example: you woke up at 7:45 o’clock in the morning. You want to make such regimes: sunrise imitation – full brightness eight hours – sunset imitation – moonlight imitation during night. You can set channel of red LEDs to reduce their brightness from 8 hour (100% brightness) to 18 hour (50%). So you set such time intervals (press to enlarge):
Table shows possible LED lighting configuration.
All LEDs must be connected to power supply through additional devices, called drivers. Driver is needed for two purposes: it supplies constant voltage/current to LEDs circuit and allows to dim LED lighting. Manufacturers make several types of drivers: without control, PWM controlled, DC voltage 0-10V controlled, controlled using resistance, controlled using triac and mixed type. SimACo generates 3.3V PWM signal for LEDs control, so driver must have inbuilt PWM control an accept 3.3V voltage level. SimACo has two LED driver boards: MOSFET driver board and Mean Well LDD drivers board. Each board has four channels.
- MOSFET driver board is designed to be used with LED strips or LED modules which requires constant voltage 12V or 24V power supply.
- LDD driver board has four Mean Well LDD-XXXX series drivers soldered in. Board must be used with LEDs which requires constant current power supply. This board mostly can be used with powerful LED (1-3W) strings, connected in series.
According to the manufacturer, LDD series drivers have such features:
DC/DC step-down converter
Wide input voltage: 9 ~ 56VDC
Wide output LED string voltage: 2 ~ 52VDC
High efficiency up to 97%
Built-in EMI filter, comply with EN5 5015 and FCC part 15 without additional input filter and capacitors
Built-in PWM and remote ON/OFF control
Protections: Short circuit / Over temperature
Cooling by free air convection
Low cost, high reliability
Suitable for driving illumination LED
3 years warranty
Fully encapsulated with IP67 level for pin and wire style
Non-potted, optional conformal coating for SMD style
MOSFET and LDD driver boards both connects directly to the main board. Also additional power supply is required to supply power to the LEDs. Power supply voltage and current must be selected according to the selected LED lighting type, voltage and consumed current. If you already have complete LED lighting system which is fed from the wall socket, then you can connect it to the any DEVICE1-DEVICE4 outlets. But then you will lose ability to control LED brightness using controller and you will only have the ability to switch your LEDs OFF or ON at the time, set by you.
Various aquarium devices
There are four channels for filters, pumps, lamps, heater, CO2 valve and other 120-230V devices control. All these channels have 3 modes: OFF, ON and AUTO. OFF and ON modes allows manually to turn devices of or on. AUTO mode allows to switch devices automatically at a time set by user. DEVICE channels also have their specialized functions. For example Channel DEVICE1 has additional OFF15 mode designed to control aquarium filter. DEVICE2 channel has additional FAN CONTROL mode to control aquarium water cooling with fan block. Channel DEVICE4 has additional HEATER CONTROL mode.
In the board DEVICES outputs connects to the various aquarium equipment through the mechanical relay contacts. The reason why electronic relay was not used is that electronic relay can not fully turn off device, and this can cause aquarium fluorescent lamps flickering, when they are in the OFF state.
Water pump (filter)
Channel DEVICE1 is designed for the water pump control. Selecting OFF15 mode SimACo disconnects the pump and then after 15 minutes pump will return to the previous state, wherever it was – OFF, ON or AUTO. This function is useful when you want to feed your fish because when you pour fish food in to the aquarium, pump can suck this food or pump’s water flow can toss food flakes all around.
Aquarium cooling fan block
Channel DEVICE2 is designed to control your aquarium 120-230V cooling fans. For this purpose you must set this channel to FAN CONTROL mode. SimACo controller constantly measures aquarium water temperature. If this temperature will rise to high, controller then will turn on the fans. When temperature will drop to the normal level, controller will disconnect fans automatically. Also you can turn off the fans for the desired time interval despite of your aquarium water temperature. This allows to prevent the noise going from the fans at sleep time.
DEVICE4 channel can control ordinary high voltage devices if mode is OFF ON or AUTO. But there is the fourth mode HEATER CONTROL designed to control aquarium heater. User sets desired aquarium water temperature, SimACo turns heater off/on according to the water temperature. Most aquarium heaters comes with integrated temperature regulator. But the cheap heater regulators frequently are quite inaccurate. This this the main reason why i decided to implement this function – with sensor you can have accurate temperature control. Also using temperature sensor you can avoid simultaneous heater and fan work when temperature approaches near to the temperature, set by user.
12V Fan and sensor
FAN channel is designed for aquarium cooling in hot summer days. Standard 12V two wires fan can be connected to SimaCo. SimACo generates 0-12V constant (non PWM) voltage in the FAN output, it means that the fan speed can be adjusted. SimACo has additional chip to control fan with constant voltage. There are two reasons for this: constant voltage 2 wires fans are cheaper than PWM controlled fans, besides fan controlled with PWM makes more noise. There are 4 FAN channel modes: OFF, ON, AUTO and SENSOR CONTROLLED. In the last function sensor speed is controlled fully automatically: SimACo measures water temperature and regulates fan speed if the temperature rises above preset limit. So the fan, temperature sensor and heater helps to keep fish tank temperature constant. Controller can run and without temperature sensor, but then the last mode can not be used. AUTO mode is still valid, user can set different fan speeds at the different time using events. For example, in the evening and morning when the sun is not very hot speed can be set 50% and from 12 to 16 hour speed can be set at 100%.
The user may want to reduce fan speed (the noise too) at night. So there is also function to reduce fan speed at night even in SENSOR CONTROLLED mode despite of that aquarium temperature is above preset limit.
PUMP1-PUMP4 channels are designed to drive up to four 12V peristaltic pumps. Peristaltic pumps are small pumps, specially made to dose various liquids precisely. They perfectly fits for the fertilizers dosing. There are wide selection of them in Ebay. For precise dosing i suggest to buy a pump with a low flow rate.
Pumps must be connected to SimACo outputs PUMP1-PUMP4; containers with fertilizers must be used. At the beginning pump flow rate (ml/min), required daily dose amount (ml), pump start time (hours) must be set. User also can set fertilizer amount left in container. SimACo knowing flow rate and required dose amount automatically calculates time which is needed to spin the pumps. So you do not need to calculate time period manually. Fertilizing starts at the specified time. First spins the first pump. When it stops, then the second pump starts to spin, then the third and the fourth pump is activated last. When fertilizing is done, SimACo again automatically calculates amount of fertilizers, left in each container. User can set the alarming limit, when fertilizers amount is low.
Here you can see video how the automatic dosing works:
Auto top-off module (ATO) – is automatic aquarium refill with water if aquarium water evaporated. Especially this occurs in the hot summer days when aquarium does not have the hood. In this case water must be refilled daily or at least weakly. This boring job can be automated with SimACo.
How it works? You must have separate reservoir from where reservoir pump will pump the water in to the aquarium. Two float sensors (switches) and one pump is used with ATO module. Aquarium sensor will track aquarium water level. Reservoir sensor will track reservoir water level and will prevent reservoir’s pump from running dry. Many pumps can run only fully immersed in water else pump can be overheated. Also user can set max. time value (0,5 min to 25 min) during which aquarium must be refilled. This is needed to protect your aquarium from large overfilling in case if aquarium sensor started to malfunction. ATO module will refill aquarium everyday at time set if all these conditions are met:
- Aquarium sensor is in the LOW position (needs to be refilled),
- Reservoir sensor is in the HIGH position (there are enough water),
- Aquarium refill time has not expired,
- ATO module is enabled.
If any of these conditions are not met pump will not run and will immediately stop if this occurs when pump is running. If aquarium sensor is in low position but the fill time limit has expired then controller will stop the pump. If everything goes OK pump will stop when aquarium sensor will rise.
There are several alarms, they alerts the user that something is going wrong. Alarms are:
aquarium temperature too low,
aquarium temperature to high,
temperature sensor fault,
fertilizers dose set is too low (dosing inaccuracy can occur, all four channels are monitored separately),
fertilizers amount left in container is low (all four channels monitored separately),
auto top-off: reservoir water level low,
auto top-off: maximum aquarium fill time expired (protection against aquarium overfill),
System fault – SimACo restarted (microcontroller program has stuck).
If any alarm is active, buzzer will sound. User can check for active alarms in controller LCD or in PC, connected to controller. Time, when buzzer will sound, can be selected as user wants. Also buzzer can be turned off permanently.
Here you can see a several pictures of the assembled and working SimACo controller:
you can write to me in comments; Skype contacts and my email address are at the bottom of this page.
This page will be continuously updated after every change to aquarium controller. I will be very grateful if you will write your opinion about this project in the comment section below.