SimACo – simple aquarium controller

SimACo controller logoMy contacts:
you can write to me in comments;
Facebook link and my email address you can find in the Menu (at the top of the page) “My contacts” link.

What is SimACo controller?

SimACo is the WiFi controlled SIMple Aquarium COntroller mainly created for freshwater aquariums. But all controller’s functions can be used also in marine aquarium. Now the 4th controller generation available. The 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. 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. 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 AC.

Controller functions

Controller can do many repetitive aquarium maintenance jobs:

Control LED lighting and LED cooling. 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.
LED temperature sensor can be connected to controller. This sensor can be attached to LED radiator. Sensor will measure radiator temperature. If LED radiator temperature will rise above threshold (set by user) then cooling fan will be activated. There is temperature alarm setting: when alarm limit will be reached controller will generate alarm.
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-H 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. There are still no 8 channels power strip available – you will have to make it yourself using sockets which are used in your country.
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 time 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 are 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.
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

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 Angry Fish 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.
  • Main board has terminals for the switch which is mounted in the controller’s case. Using 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. In total 17 days information will be written to controller’s memory.
  • Controller has implemented “Fast Control” menu: with a long press of rotary encoder you can quickly enter this menu and from there you can select desired action. These actions can be: show desired menu on LCD or activate some functions. This is convenient to use “Fast Control” functions for frequently used actions. There are four actions available. Each action can be preprogrammed by the user from the selected list. For example you can preprogram the first action to show water temperature and the second one to show aquarium PH level.
  • 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 they 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 are 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.

Controller parts

SimACo controller has main parts which are essential; also there are additional parts which user can select if he needs ones.
Controller has two boards: main board and LCD/ rotary encoder board. Main board is like motherboard in PC: the biggest part of aquarium equipment is connected to it. LCD/ rotary encoder board connects to the main board. LCD/ rotary encoder board basically has integrated rotary encoder and 16×2 LCD module.

Also there are some additional parts:

  • Water temperature sensor;
  • LED temperature sensor;
  • Ambient temperature sensor;
  • MOSFET LED driver board to control LED strips with a constant 12V or 24V voltage;
  • LDD-H driver board to control LED lighting made of LED modules which requires constant current and flow rate sensors board;
  • MeanWell LDD-H drivers for the LDD-H drivers board;
  • Flow sensors board which can monitor water flow for two external filters;
  • 3D printed plastic cases for controller, MOSFET, LDD-H, Flow sensors boards – they all requires some screws, grommets and rubber feet. Rubber feet is only for controller case;
  • Screws, grommets and rubber feet for cases – if you want to print cases yourself. Rubber feet is only for controller case.


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

  1. Four channels for LED lighting control, named LED #1-LED #4;
  2. Eight channels for 110V-230V devices control, named DEVICE #1-DEVICE #8;
  3. Four channels for peristaltic pumps control, named DOSING PUMP #1-DOSING PUMP #4;
  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;
  9. One input for mains voltage sensor, named MAINS VOLTAGE SENSOR;
  10. Two inputs for flow rate sensors, named FLOW RATE SENSOR #1 and FLOW RATE SENSOR #2.

Connection diagram

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

How SimACo is controlled?

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 firmware and software page. 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.
    MacOS or iOS operating systems are not supported.
  • through a rotary encoder. With encoder you can control mostly used SimACo functions. Information is displayed in the simple 16×2 light crystal display.
  • 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:


3D printed cases

You do not need to drill a holes in your own box where controller will be mounted. There are 3D printed cases for controller, LDD-H driver board, MOSFET driver board and flow sensors board. Cases are printed with PETG plastic using FDM printer.  They all have holes for wiring and PCB boards. All cases have holders at the bottom, which allow to attach the case to your aquarium cabinet easily with a several screws. Cases are not fully waterproof but they are created to protect internal electronics from the water as much as possible. In the Cases for 3D printing page you can download for free STL drawings for the cases and print them yourself if you have 3D printer.



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: 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 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. Also you can view each alarm status in the LCD screen, “Alarms settings” menu.
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. You can reset them through Angry Fish application or using controller’s LCD menu.
If channel is disabled, alarms for this channel are also automatically disabled.

Leave a Comment

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