SimACo – simple aquarium controller

SimACo controller logoSimACo 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, reliable and relatively cheap device which helps to make aquarium owner’s life easier. Buying separately all required fabric-made controllers for separate functions is expensive so this controller is cheaper alternative and it has all main functions required to control freshwater aquarium equipment. Controller is not overloaded with not very useful functions like camera to watch your aquarium fish in real time. This is semi-DIY controller because in order to assemble controller soldering is not needed: all boards are already soldered. You will only need to connect all parts using usual wires. More complex connection wires already comes with controller. SimACo best fits for the users which like DIY and have basic electrical and IT skills and know what the wire is:). Controller is powered from the mains, wide AC voltage is supported: 120-230V.

Controller can do many repetitive aquarium maintenance jobs:

Control LED lighting and LED radiator temperature. Four channels available so you can control four different colors LEDs manually or automatically. In manual control mode user can turn LEDs off or on; when LEDs are on, LED brightness for each channel can be set from 0% to 100%. In automatic control mode controller can change LED brightness uniformly through a selected period of time. This means you can simulate sunrise, sunset or moonlight effects when LEDs are uniformly dimmed for example from 0% to 100%. Also LED brightness can be set to stay constant through a selected period of time.
Controller has LED temperature sensor. This sensor can be attached to LED radiator. Sensor will measure radiator temperature. There is temperature alarm setting: when alarm limit will be reached controller will generate alarm. Also controller can activate LED radiator fan according to the measured temperature if radiator temperature becomes to high.
Controller generates 3.3V PWM signal. LEDs can not be connected directly to main board outputs: for this you can use additional Mean Well LDD-XXXH driver board or MOSFET driver board.
Go here for more info

Turn off/on automatically high voltage (120-230V AC) devices using timers. This includes devices like water filter, air pump, CO2 valves, aquarium fluorescent or metal halide lights etc. Eight channels available. Each channel has inbuilt separate timers which have 1 minute resolution. Timers allows to turn on/off aquarium devices several times per day. Also manual control available where you can turn on/off channels manually.
Go here for more info

Measure and control aquarium water temperature. Aquarium water temperature is measured using water temperature sensor. Controller will activate water heater or cooling fan block when water temperature drops down or rises. Thus controller will support constant aquarium temperature, set by user. User can set low and high water temperature alarm limits. Controller will generate alarms when these limits will be exceeded.
Go here for more info

Measure ambient temperature. Ambient temperature sensor will measure air temperature in your room where aquarium is placed.
Go here for more info

Measure water PH and control CO2 valve if you are using one. If carbonate hardness in aquarium is stable then controller can adjust CO2 level in in the water by measuring PH level and turning CO2 valve on or off. Thus controller will support constant water PH value, set by user. Also controller can shut down CO2 at night when plants do not need it. User can set low and high water PH alarm limits. Controller will generate alarms when these limits will be exceeded.
Go here for more info

Automatically fertilize aquarium with liquid fertilizers using peristaltic pumps. Four types of liquid fertilizers can be dosed. User selects dosing time, dosing amount in mililiters and days at which fertilizers will be dosed. Controller automatically calculates the time needed to keep pump activated. After dosing fertilizers amount left in containers is calculated. Each type of fertilizer can be dosed automatically up to 24 times per day. Also manual dosing available: select fertilizer type, dosing amount and press button “Start manual dosing” – fertilizer will be dosed immediately. When fertilizer amount in container will be low, controller will generate alarm – user will know that it is time to refill containers.
Go here for more info

Automatic top-off function (ATO): aquarium can be refilled with fresh water automatically from the reservoir if aquarium water evaporates.
Automatic water change (AWC): change your aquarium water automatically. AWC function includes automatic water draining and water fill operations. Water is drained to wastewater reservoir. Next aquarium is filled with fresh water from the freshwater reservoir (the same reservoir is used for ATO) or from saltwater reservoir. So freshwater and saltwater aquariums are supported.
User can set controller to disconnect some aquarium equipment while AWC is active. For example this can be filters, heater, water pumps and other equipment which can not work at low water level.

Both ATO and AWC functions have Manual and Automatic modes. In Manual mode ATO/ AWC operations can be executed immediately. In Auto mode ATO operation will be executed every day at a time set by user. In Auto mode AWC operation will be executed at selected intervals and time set by user. User can select 1-30 days interval for AWC.

Minimum required equipment for both ATO and AWC functions:

  • Two 120V-230V AC pumps for freshwater aquariums (draining pump for AWC, fill pump for ATO and AWC) or three 120V-230V AC pumps for saltwater aquariums (fill pump for ATO, fill pump for AWC and draining pump for AWC);
  • Aquarium high level sensor. Is used to detect that aquarium is filled for ATO and AWC functions.

Also user can use float switches for:

  • Freshwater reservoir (detect when reservoir is empty);
  • Wastewater reservoir (detect when reservoir is full);
  • Saltwater reservoir (detect when reservoir is empty);
  • Aquarium low level sensor (detect when to stop draining pump when AWC draining operation is active). If sensor is not used user can set time interval to instruct the controller how much draining pump must run).

User sets max. time values during which ATO fill operation, AWC draining operation and AWC fill operation must be completed. If operation is not executed during this time then current operation is immediately aborted. This is protection in case of aquarium water level sensor failure.If fill or draining time is exceeded then alarm will be generated to alert the user. Also there are three alarms which can be activated if low/high water levels are detected in freshwater, saltwater and wastewater reservoirs.
Controller can be set to disconnect automatically aquarium equipment connected to five 120-230V channels while AWC operations are active.

ATO function is fully integrated in to the main board, but AWC function is integrated only partially.  All AWC functionality can be achieved using additional AWC board. AWC board has inputs for aquarium low level sensor, wastewater reservoir sensor and saltwater reservoir sensor.

All water level sensors must be mechanical float switches.
Go here for more info

Uninterruptible power supply (UPS): if you are using UPS to supply power to your aquarium devices you can set controller to disconnect non-critical loads when blackout occurred. SimACo has integrated mains voltage sensor in order to know when power from the mains is lost. Alarm will be generated during blackout to inform the user that aquarium devices are running on battery.
Go here for more info

Filter’s flow rate monitoring: monitor flow rate of your one or two aquarium filters.  Filter flow rate monitoring helps to find out when filter is clogged and it is time to clean it. To monitor flow rates cheap chinese flow rate sensors can be used. Sensors must be connected to the main board through additional flow sensors board. You can set threshold values for the sensors when SimACo will generate alarm due to the low flow rate value.
For flow rate measurement additional Flow sensors board must be used.
Go here for more info

SimACo controller has main parts which are essential; also there are additional parts which user can select if he needs ones.
Main SimACo set has two boards: main board and buttons board (5 buttons keypad). Also there is 20×4 LCD module and several other parts. Main board is like motherboard in PC: all aquarium equipment is connected to it. LCD and buttons board connects to the main board with flat cables.

Also two sensors and four boards available as additional parts:

  • LED temperature sensor;
  • Ambient temperature sensor;
  • MOSFET LED driver board to control LED strips with a constant 12V or 24V voltage;
  • LDD driver board to control LED lighting made of LED modules which requires constant current and flow rate sensors board;
  • Flow sensors board which can monitor water flow for two external filters;
  • AWC (automatic water change) board.

Also there is a 3D printed box for SimACo controller – you do not need to drill a holes in your own box where controller will be mounted. In the downloads page you can download controller’s box drawing and print the box yourself if you have 3D printer.

Price starts only from 147 !

If you want to buy it, go here.

Main set

Main board v.3.1 20×4 3.3V LCD with connection cable CR2032 3V battery
USB cable Buttons board v.2.0 with connection cable Rocker switch with wires
Water temperature sensor (L-2,5m)

Additional parts

3D printed box LDD-XXXH LED driver board v.1.0 Ambient temperature sensor (L-2,5m)
MOSFET LED driver board v.1.0 Mean Well LDD-300H... LDD-1500H driver LED temperature sensor (L-2,5m)
Flow sensors board v.1.0 AWC board v.1.0
3D printed box

SimACo main board has such channels (physical outputs to the controlled devices):

  1. Four channels for LED lighting control, named LED1-LED4;
  2. Eight channels for 110V-230V devices control, named DEVICE1-DEVICE8;
  3. Four channels for peristaltic pumps control, named DOSING PUMP1-DOSING PUMP4;
  4. One input for LED temperature sensor, named LED T° SENSOR;
  5. One input for aquarium water temperature sensor, named WATER T° SENSOR;
  6. One input for ambient (room air) temperature sensor, named AMBIENT T° SENSOR;
  7. One input for water PH sensor, named PH SENSOR;
  8. Two inputs for water ATO float sensors, named AQUARIUM HIGH WATER LEVEL SENSOR and ATO RESERVOIR WATER LEVEL SENSOR;
  9. One input for mains voltage sensor, named MAINS VOLTAGE SENSOR.

There are several channels in the additional boards:

  2. Flow sensors board: two inputs for flow sensors (flow sensors board).

Additional features:

  • 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 every setting after battery replacement or blackout.
  • Controller has incorporated bootloader. Bootloader allows to update microcontroller’s program (firmware) through USB cable using Windows SimACo configurator application when new firmware and software versions available.
  • if you want to change parameters for the particular channel, you can easily identify in Angry Fish application or LCD screen which channel you are editing. For this there are implemented two features: 1. descriptions for LED, 120V-230V devices and dosing pumps channels can be set; 2. all channels has it’s own icons; icons for LED, 120V-230V devices and dosing pumps channels can be selected from the list in order to correspond real device connected to the channel.
  • Controller has inbuilt alarm system: you will know when LED radiator temperature is too high; water temperature is too high or too low; when water PH is too high or too low; levels of liquid fertilizers in containers are low; level of water in top-off container is low; aquarium top-off time exceeded and several others. If alarm exists, buzzer will beep warning the user that action must be taken. The levels of alarms are flexible and can be configured by user.
  • Main board has terminals for the switch. User can disconnect all high voltage 110V-230V devices in order to do aquarium maintenance safely.
  • SimACo logs values from sensors and aquarium devices states: water temperature, cooling fan state, heater state, ambient temperature, water PH value, CO2 solenoid state, lighting device state, two flow rate sensors values.

Now the third controller’s version is created; hardware equipment, software and firmware is completely finished and tested. New functions are constantly added. The heart of the controller is Microchip PIC24F series microcontroller.

Below you can see all aquarium equipment which can be connected to controller:

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 designed for Windows or Android operating systems 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 20×4 light crystal display. You can edit settings with keypad 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.
    In order to start to use controller you must to configure WiFi connection first. WiFi connection configuration can be done also using Windows PC and USB cable. Or use Android/Windows device to configure WiFi, in this case USB cable will not be needed.
Windows/Android device connection to SimACo controller through WiFi

Windows/Android device connection to SimACo controller through WiFi

There are Angry Fish application  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: show desired menu on LCD or activate some functions. This is very convenient to use “Fast Control” functions for frequently used actions. For example you can program button UP to show water temperature and button DOWN to show aquarium PH level. In this case you will not need to scroll through LCD menu to find desired parameter: simply press and hold button UP or DOWN for one second to view current water temperature or PH.

SimACo has its own internal clock. When power cable is removed, controller will keep counting time using internal 3V battery.

LED and 120-230V Devices channels in AUTO mode are controlled using timers. Timers allow to turn on/off channel at any time; also the allow to change LED brightness uniformly through a period of time. Every timer has its own order number, channel type, start time, end time, starting brightness (only for LEDs), end brightness (only for LEDs). There are 50 timers in total. These timers arel be shared between four LED channels and eight 120V-230V devices channels. One timer can control one LED or Devices channel but the same channel can be controlled using several timers. For example LED1 channel can have 3 timers assigned, LED2 -5, LED3 – 5, 120V-230V DEVICE1 – 2. So in this case 12 events will be used and 38 will remain unused – they can be configured to control other aquarium equipment.

3D printed box

Box is printed of PETG plastic using 3D printer. It’s size is (with rubber feet): 215mm(W) x 215mm(L) x 88,5mm(H). Box has holes for wiring, LCD display, buttons board, rocker switch, PH sensor. Also it has holders for LCD, buttons board, main board, MOSFET LED and LDD LED driver boards. There are reserved place for two boards which will be produced in the future (for additional functionality). Box is not waterproof so it must be protected from the moisture. It has several parts and is assembled using screws. Boards in the box also are fixed with a screws.


 SimACo logs the data from five sensors: ambient temperature, water temperature, water PH value, flow rate sensor #1 and #2. Also some channels output states are logged which affects these three sensors values: water cooling fan state, heater state, CO2 solenoid state and lighting device state. From the graphs you can make several conclusions, for example how effective are water cooling fans, how good your CO2 diffuser is. You can check how water PH level swings through night/day periods, how ambient temperature affects aquarium water temperature, how aquarium lighting affects PH level etc.
Aquarium sensors and devices are logged automatically, logs are done at 10 min interval.
2560 logs can be written to SimACo memory. So maximum about 17.7 days time interval can be logged. When logs memory is full, oldest logs will be rewritten continuously with the new logs.


There are several alarms, they alerts the user that something is going wrong. Alarms are:

  1. LED temperature level too high;
  2. LED temperature sensor fault;
  3. Water temperature level too low / high;
  4. Water temperature sensor fault;
  5. Ambient temperature sensor fault;
  6. Water PH level too low / high;
  7. PH sensor fault/calibration error;
  8. DosingPump1 fertilizer amount in container low;
  9. DosingPump2 fertilizer amount in container low;
  10. DosingPump3 fertilizer amount in container low;
  11. DosingPump4 fertilizer amount in container low;
  12. ATO reservoir water level low;
  13. AWC reservoir water level low;
  14. Wastewater reservoir water level high;
  15. ATO: max. fill time exceeded;
  16. AWC: max. draining time exceeded;
  17. AWC: max. fill time exceeded;
  18. Mains voltage not present;
  19. Flow sensor #1 flow rate low;
  20. Flow sensor #2 flow rate low.

You can view current active alarms in Angry Fish application’s Alarms page. This page is refreshed automatically. Application has bell icon: if one or more alarms are active then red bell icon is shown. If there is no active alarms then bell is green. Grey bell icon means than alarms status was not read yet. Also you can view each alarm status in the LCD screen, “Alarms settings” menu. In the top right corner of LCD the blinking “!” sign will be shown in the screen if one or more alarms are active.
Also you can activate a buzzer which will sound when active alarm exists. Time interval at which alarm will sound can be selected. Buzzer will beep three times at the every start of ten minutes in the selected time interval.
Some alarms reset automatically when problem is removed, other requires manual reset. If alarm in Angry Fish application’s Alarms window has a “Reset” button near it, this means that alarm will not be automatically reset even if alarm conditions will be removed. In this case alarm can only be reset manually. Manual reset can be done through Angry Fish application or 5 buttons keypad.
If channel is disabled, alarms for this channel are also automatically disabled.

My contacts:
you can write to me in comments; Facebook link and my email address are at the bottom of this page.

Leave a Comment

Your email address will not be published. Required fields are marked *