SimACo v.1.4 user manual

Requirements for SimACo

LEDs: additional LED drivers must be used, SimACo generates 5V PWM (pulse width modulated) signal, so your drivers must be able to work with 5V PWM signal level. Mean Well LDD-XXXX series drivers can be used.
AC voltage devices: maximum total current on all four Device1-Device4 channels must not exceed 4A. There is protection fuse in the main board which can be blown if you will exceed this current.
Temperature sensor: based on DS18B20 chip. Not required, but if not used, automatic control of heater and cooling fan will be disabled.
12V power supply for main board: 12V, 1A min.
Dosing pumps: 12V peristaltic pumps must be used. One pump’s current in any case can’t exceed 0,5A or 6W otherwise output transistors can be owerheated.
ATO module, if used: aquarium float sensor must have contact closed, when water level is low. Reservoir sensor must work in reverse order: it must have contact open, when water level is low. 12V power supply for auto top-off module must have enough power to drive selected ATO pump. ATO pump must be 12V, 800mA max.
Battery: 3V standard CR2032 lithium battery.
Fan: 12V, two wires, max power can be 3,6W or 0,3A. Two fans can be connected in parallel, but total power must not exceed 3,6W.
Personal computer: you must have a PC with Windows operating system and WiFi module in order to edit SimACo settings.
Angry Fish application to control SimACo.


There is recommended connections schematics how to assemble controller components and to start to work with SimACo, click to enlarge.


First off all, if you are planning to use controller to control high voltage (120-230V AC) aquarium devices, like water or air pump, CO2 valve, heater, fluorescent lamps, you will need to connect controller to the AC wall socket. First mount all components into the plastic box which is impermeable to electric current. Then fully close the box, only after this you can connect SimACo’s high voltage power supply cable to the wall socket. Remember that touching controller parts when controller is connected to the mains you can be injured by electric current or you even can die. Connecting aquarium devices to SimACo use cable end sleeves:

cable end sleeve

There are several connections in the main board:

J1 (prog.) – programming connection, may be not soldered. Not used.
J2 (LCD) LCD connection. Used to connect 2×16 LCD module.
J3 (keypad) – keypad connection. Used to to connect 5 buttons keypad.
J4 (+12V) – +12V power supply connection. Used to supply power to the SimACo, peristaltic pumps, AC devices relays and fan.
J5 (I2C) – I2C connection. Used to connect auto top-off module.
J6 (UART) – UART connection. WiFi to UART converter is already soldered here.
J7-1 (Sensor) – temperature sensor connection.
J7-2 (LED1 – LED4) – LED connections. Connect LED drivers to this connection only, LEDs can not be connected directly to those outputs. LED all “-” connections are connected together, so you can use only one “-” wire for all four LED strings.
J7-3 (Fan) – aquarium fan connection. Fan can be connected directly.
J7-4 (Pump1 – Pump4) – dosing pumps connection. Pump’s all “+” connections are connected together, so you can use only one “+” wire for all four peristaltic pumps, if you want.
J7-5 (120 – 230V IN) – AC voltage input connection, 120-230V. You do not need this if you are not using devices which require high voltage (devices connected to the J7-6 output).
J7-6 (Devices) – output connection to AC voltage 120-230V devices. All devices must share one neutral wire, connected to the J7-6 “N” contact. This wire must be branched out in the separate powerstrip with 4 outlets where aquarium devices will be connected.

Connections in the auto top-off module board:

J1 (I2C) – I2C connection. Main board controls ATO module through it.
J3 (ATO equipment) – connections for external ATO equipment: aquarium and reservoir sensors, pump.
J4 (+12V) – +12V power supply connection. Used to supply power to the ATO pump.

Connect buttons board to the main board with flat 8 contacts cable. Connector J3 in the buttons board must be connected with the keypad J3 connector in the main board. Both J3 connectors have one white dot marking on both boards. Boards must be connected in such way that the marked contact in the buttons board must be connected with the marked contact in the main board.

buttons board marking main board buttons connection marking

Connect LCD module
to the main board J2 LCD connector with two eight pin flat cables. The pin marked “1” on the LCD must be connected to the main board’s contact marked with the white dot. Wrong connection will likely cause the damage to the LCD or main board components. Because J2 connector has 16 contacts, two eight-contact cables must be used.

LCD module marking main board LCD connection marking


If you have ATO module:

Connect auto top-off (ATO) board to the main board with flat 6 contacts cable. I2C connector J1 in the ATO board must be connected with the I2C J5 connector in the main board. Both I2C connectors have one white dot marking on both boards. Boards must be connected in such way that the marked contact in the buttons board must be connected with the marked contact in the main board.

main board I2C connection marking

Wrong connection of the LCD, buttons board or ATO module may cause damage to the SimACo components easily!

Connect wires from LED lighting to connectors LED1 – LED4 in the main board.
Connect high voltage devices to Devices connector in the main board through 4 outlets powerstrip. SimACo switches these devices through relays. If you have a filter, it must be connected to Device1 output because this output has filtering capacitor. If you have a heater, it must be connected to the Device4 output. Other aquarium equipment can be connected to the Device2 and Device3 outputs.
Connect temperature sensor to connector Sensor in the main board. Temperature sensor has three wires. Connect black to “-” connection, red to “+” and yellow to “DQ”.
Connect aquarium fan to connector Fan in the main board.
Connect dosing pumps to Pump1 – Pump4 connectors in the main board.
Connect aquarium and reservoir float sensors to the ATO board J3 reserv. sensor and aquar. sensor connectors.
Connect reservoir pump to the ATO board PUMP  connector, watch polarity!
Connect +12V power supply unit 2.1/5.5mm connector to the ATO board J4  +12V connection.
Insert 3V batterry in the main board battery holder, watch polarity.
Connect +12V power supply unit 2.1/5.5mm connector to the main board +12V connection. After this you must see writings “General settings” in LCD. If LCD is blank, adjust LCD contrast with potentiometer contrast.
Connect 120-230V power supply cable to the main board 120 – 230V IN connector.

Standard and Bootloader working modes

Angry Fish software and SimACo both have two working modes: Standard mode and Bootloader mode. Standard mode is the default mode and is used in all cases except updating firmware.
When Angry Fish program is loaded, Standard mode is activated first. If you want to switch to Bootloader mode, go to the “Connection & firmware update” tab and press “Standard mode activated” button. After press you will see that button’s color have changed to green. Press this button again and you will return to Standard mode.
When SimACo is restarted, first it boots in to the Bootloader mode. Then it checks if firmware is OK. If firmware is OK, it automatically boots to the normal working Standard mode. If firmware is not OK, SimACo stays in the Bootloader mode. You can manually hold controller in the Bootloader mode. For this you must:

  1. Press and hold “Bootload” button, soldered in the main board.
  2. Press and release “Reset” button , soldered in the main board.
  3. Release “Bootload” button.

Controller will be resetted and will stay in the Bootloader mode after reset. Keep in mind that WiFi connection between SimACo and PC will not work if Angry Fish and controller have different modes activated.

3 ways to control SimACo

There are three ways to control SimACo: through a buttons keyboard, USB cable and wireless WiFi connection. For the first time initial setup you will need USB cable and computer. For the every day usage you can use WiFi or the buttons keypad. With keypad you can control mostly used SimACo functions. Using PC with WiFi connection you can access all functions. Controller can not be accessed from PC through WiFi when USB cable is connected at the both ends, and vice versa. So if you want to use WiFi connection you must to disconnect USB cable.

Configuring SimACo WiFi settings through USB cable 

So first time after you have received SimACo, you will need to connect it through USB cable to PC in order to do the primary WiFi configuration. Now i will describe how to establish communication through USB cable using Windows 10, but these steps are also similar in Windows 7:

  • First FT230X chip drivers must be installed. You can download them from here. Next connect SimACo to PC with an USB cable.
  • On the next step go to the Device Manager and open “Ports (COM and LPT)” list. Here you must find a COM port number, assigned to your newly connected device. For example for me it is “USB Serial Port (COM10)” Remember this number.
  • Then open Angry Fish application and go to the “Connection & firmware update” tab. Press “Get port list” button to update ports list. After this in the “Select COM port” box select COM port number which was assigned to SimACo. Then press button “Connect through USB cable”. PC will connect to the SimACo.

After successful connection through USB you must configure WiFi connection. There are two ways to connect SimACo to PC through WiFi: direct connection or through an access point (router).

Direct connection:

  • You don’t need a router
  • SimACo can be accessed only from your house

Connection through a router:

  • You need to have a router
  • SimACo can be accessed only in your home (without port forwarding)
  • SimACo can be accessed from any point of the world (port forwarding required)

Select one connection type by selecting “Connection through an access point” or “Direct connection” tabs. If you have a router i recommend to use connection through it. This connection type is simpler and requires less configuration.
If you have selected connection through an access point, press “Configure: step 1” button. SimACo will search for the routers. When it will find you router select your router, enter router’s password and press “Configure: step 2” button. Router will assign the IP address to SimACo (controller as station) and SimACo will connect to the router. You can see what is going on in the log window below.
If you want to access your SimACo from a distant location, you must do port forwarding in your router. This means that you must write your SimACo IP address in to the router’s settings. Than all connections which will be made to your router through an Angry Fish application, will be redirected to SimACo. Without port forwarding you will be able to reach SimACo only in you local (home) area.
If you have selected direct connection, SimACo will act as a router itself. You must to create SimACo name and password (any you want) and enter them in to the name and password textboxes. You can leave “Encryption” and “Channel ID” fields unchanged. After this press “Configure: step 1” button. In the log window you will see SimACo IP address (controller as a router).
After the configuration through  USB cable in the “Connection & firmware update” tab info window you must get response that “WiFi connection configured successfully”. If connection was not configured, you will get response “Failed to configure WiFi connection”.

Connecting SimACo through WiFi

Before connecting through WiFi first make sure that:

  • USB cable is removed
  • the Standard mode is activated
  • The IP address in the “SimACo IP address is:” field is the same like IP address got during SimACo configuration.

SimACo is protected against intruders in two ways: password protection when connecting from Angry Fish application and permission to access password from LCD menu. Those protections only works when you are connected to controller using WiFi in Standard mode. Normally before connecting to SimACo through WiFi user must enter password. Else SimACo will refuse to communicate. Connected with correct password user can read/write all settings except password. In order to read/write password user must enable password access from LCD menu. To enable it go to the “General settings” – “Password access disabled” end enable password access. If user have enabled password access from LCD menu, he has full access to controller: he can read/write all settings and change current password. In this case user can even to connect to the controller without entering password. So before connecting to the SimACo enter SimACo password in to the password field, default password is “MyHappyAquarium1”.
If you have configured your controller to use direct connection (without a router) you must to connect your PC to the SimACo through Windows OS first. SimACo will appear as the router in the available routers list: select SimACo router, press the button “Connect” and then enter router’s password.
Then click “Connect through WiFi” button in the Angry Fish application. After this your PC will connect to SimACo and will read all controller’s parameters automatically.

Controller reset

Controller can be reset in two ways:

  • User disconnects +12V Power supply and 3V battery or
  • User presses button SB6 “reset”, when battery and/or 12V power supply is not removed. You can reset controller if it malfunctioning or you need to enter bootloader mode.
  • Also automatic reset is implemented, controller will reset itself if important error occurs.

Controlling SimACo with 5 buttons keypad and LCD module

You can see here 5 buttons, every button have several functions. Using buttons you can view LCD menu, check or edit various parameters.

There are two levels menu in SimACo: 1st level (higher) and 2nd level (lower):
You can download full menu as PDF file here.

How to navigate through LCD menu:
button UP scrolls menu up, button DOWN scrolls down. Press button ENTER to go from the higher to the lower level menu. Press button ESC to go from the lower to the higher level menu.
How to edit parameter:
In the menu picture editable parameters are showed in red color. Go to the LCD’s second level menu where desired parameter is displayed. Press button ENTER. The first editable parameter starts to blink. If there are several editable parameters, select beween them with button select. When the required parameter is selected, edit it with buttons UP/DOWN. You can press and hold these buttons for 1 second to change parameter faster. When you are done, press button ENTER to save parameters or button ESC to discard parameters changes. After this SimACo exits Edit mode and saves new parameter value to volatile memory, if ENTER was pressed.
How to use peristaltic pumps:
you can start manual dosing using controller keypad. To do this select menu 509 – 512 according to required channel. It is manual dosing menus. Enter Edit mode with the ENTER button and select fertilizers amount you want to dose with buttons UP/DOWN. Exit from Edit mode with button ESC. Then press the button SELECT. Peristaltic pump will start to dose fertilizer. At the 1st line of LCD you will see quickly changing two symbols: “dosing active symbol” and active channel number. They will be shown in both automatic and manual dosing modes. They will be shown even if you will exit from the current menu. At the second LCD line you will see the number with amount of fertilizers left to dose (in ml). You can stop manual or automatic dosing from any menu by a long press (>1sec) of button ESC.

Controlling SimaCo with Angry Fish application

Angry Fish application has two windows: control window and status window.
control-and-status-windowIn the Control window user can edit all controller’s parameters, save them to SimACo and retrieve from memory.
SimACo has 2 type memories: volatile (RAM) and non-volatile (EEPROM). Both memories are used to save SimACo settings. Settings stored in non-volatile memory will be stored even if the +12V power supply and battery will be removed. On all buttons save_settings_button_bckgnd (Save settings) and button “Save” (password) click SimACo will save settings to volatile memory, after several settings settings will also be saved to non-volatile memory automatically.
If controller was reset, settings from non-volatile memory will be loaded after restart automatically, so you will not need to do all configuration again for example, after battery replacement.
All similar parameters are joined in groupboxes. Most groupboxes has one save_settings_button_bckgnd button. After editing parameter press this button to save settings. New value will be saved to controller and controller immediately will start to work with a new settings.
Some parameters values are underlined. To edit them press on this value. New small window will open. Edit parameter value in this window, press OK. Window will close. Then press button save_settings_button_bckgnd in the groupbox with the edited parameter.

Status window shows current controller status:

  • send/receive data operation progress bar, application will not respond to any button press, which sends/receives data, while previous operation is not done;
  • connection to PC status: grey icon – disconnected, green – connected;
  • current controller time;
  • water temperature in degrees of Celsius. It will be shown if sensor is connected and enabled;
  • “Save icons” button. If you have changed any aquarium device icon, press button to save changes;
  • active alarm status, more detailed status you can see in the “Alarms” tab;
  • LED channel’s state: blue icon means that the LED brightness is 0%, green – >0%, grey – status unknown;
  • actual LED brightness in percents;
  • Device channel’s state: blue icon means that the device is off, green is on, grey – status unknown;
  • Fan channel’s state: blue icon means that the fan speed is 0%, green – >0%, grey – status unknown;
  • actual fan speed in percents;
  • temperature sensor icon;
  • dosing pump’s state: blue icon means that the pump is off, green is on, grey – status unknown;
  • fertilizer’s amount in ml., which is left to dose, when dosing pump is spinning. When pump is turned off, the 0 ml value will be shown.
  • fertilizer name. This name can be changed in the “Dosing pumps” tab.
  • aquarium water and reservoir water levels measured by two float switches. There are two levels: low or high. Black or brown triangles in the icon shows sensor status: black color means that water level is below the sensor (low level) and brown means that water level rised float switch’s moving part (high level).
  • auto top-off module pump’s state: blue icon means that the pump is off, green is on, grey – status unknown;

status window controlsStatus window is updated automatically with a 2-3 seconds interval, you don’t need to press any buttons to see current controller status.

How to use SimACo

Using “Fast control” function.
Using Fast control” function with one button press you can rapidly change channel’s states or to go to the desired menu without scroling through LCD menu.

List of “Fast control” 25 actions:

  • none
  • LEDs settings (first level menu)
  • Devices settings (first level menu)
  • Fan and sensor settings (first level menu)
  • Dosing pumps settings (first level menu)
  • Alarms settings (first level menu)
  • Auto top-off settings (first level menu)
  • Time and date (second level menu)
  • Current aquarium temperature (second level menu)
  • Fertilizer1 manual dosing, ml (second level menu)
  • Fertilizer2 manual dosing, ml (second level menu)
  • Fertilizer3 manual dosing, ml (second level menu)
  • Fertilizer4 manual dosing, ml (second level menu)
  • Change buzzer setting (enabled/disabled)
  • Change channel LED1 mode (OFF-ON-AUTO)
  • Change channel LED2 mode (OFF-ON-AUTO)
  • Change channel LED3 mode (OFF-ON-AUTO)
  • Change channel LED4 mode (OFF-ON-AUTO)
  • Change channel Device1 mode (OFF-ON-AUTO-OFF15)
  • Change channel Device2 mode (OFF-ON-AUTO)
  • Change channel Device3 mode (OFF-ON-AUTO)
  • Change channel Device4 mode (OFF-ON-AUTO-HEATER CONTROL)
  • Set channel Device1 to OFF15 mode
  • Change channel Fan mode (OFF-ON-AUTO-SENSOR CONTROLLED)
  • Change auto top-off module setting (enabled/disabled)

Four buttons in keypad – UP, DOWN, ENTER and SELECT have this function. Any of those four buttons can have one action assigned. You can program buttons actions in the Angry Fish “General Settings” tab. Simply select action for the particular button and press save_settings_button_bckgnd button. “Fast control” function is activated when button is continuously pressed for more then 1 second. There are default programmed actions when you first time run controller:
Button UP: change channel LED1 mode (OFF-ON-AUTO);
Button DOWN: set channel Device1 to OFF15 mode;
Button ENTER: current aquarium temperature (second level menu);
Button SELECT: alarm settings (first level menu).

For example your LED1 channel is in OFF mode. With a first long press of button UP you will change this mode to ON. With a second press you will change this mode to AUTO, with a third press you wil set channel to OFF mode again. So you don’t need to scroll menu on LCD to find LED1 channel control if you want to turn on/off aquarium lighting. You can rapidly do this with a one button press.

Changing channel’s description.
Every channel has its name, or description. Default are LED1-LED4, Device1-Device4, Fan, T0 Sensor, Dosing Pump1-Pump4 and Auto top-off. These descriptions are shown in Angry Fish application and LCD screen. For convenience user can change LED’s, Device’s and Dosing Pump’s channels descriptions through PC application simply by clicking on channel’s description. For example, if you have red LEDs connected to LED1 channel, blue connected to LED2 and white to LED3, you can name channel LED1 “Red LEDs”, channel LED2 – “Blue LEDs” and channel LED3 – “White LEDs”. If you are using Pump1 channel for pottasium nutrients and channel Pump2 for micronutrients, name them “Pottasium” and “Micro”. Naming channels in your own way makes a work with SimACo more comfortable because you will know exactly which channel’s parameter you are changing.

Changing channel’s icon.
Any channel or additional module (board) can be enabled, disabled or different channel’s icon selected. To do this click the channel’s icon. New window will appear where you can select desired icon.  Selecting “not used” icon (grey rectangle) you will disable channel. Selecting any other icon enables the channel. Keep in mind that you can chose an icon, which is in the selected channel’s group. For example you click Dosing Pump 1 icon. New window with icons list will appear. There you can choose other dosing pump icon but not a fan or heater icon instead of it. Disabling the channel user also disables alarms for this channel. But electrically channel will be active, except LED, temperature sensor and ATO channels. For example, you set Dosing Pump 1 channel to disabled status. Then you will never get “Channel PUMP1 daily dose too low” and “Channel PUMP1 fertilizer amount too low” alarms, but pump will continue to dose fertilizers according to the parameters set.
Icon meanings:

channel disabled iconbackground grey, no icon – channel disabled,
off iconbackground blue – channel enabled, device is turned off,
on iconbackground green – channel enabled, device is turned on,
unknown iconbackground grey – channel enabled, device status unknown. Note: temperature sensor’s and ATO sensor’s icon’s background will be always grey.


After new icon selection do not forget to save changes by pressing  save_settings_button_bckgnd button in the Status window. Icon change will not affect any SimACo functions (except “Not used” icon).

Understanding channel’s events.
LEDs, Devices, Fan and Dosing pumps channels can be turned off or on manually. But SimACo was designed to do these turn on/off and LED brightness change actions automatically in AUTO mode. The automation for LEDs, Devices and Fan channels is implemented using events. Events have several parameters which can be set by the user.

Events for LED channels have channel number, start time, starting brightness, end time and ending brightness parameters.
Events for Devices channels have channel number, start time and end time parameters.
Events for Fan channel have event state (Enabled/Disabled) , start time, end time and speed parameters.
There are 15 events dedicated to all four LED channels, 15 for Devices channels and 5 for Fan channel.

For example LED1 channel can have 3 events assigned, LED2 -5, LED3 – 5 and LED4 – 2. So in this case all 15 events will be used. Every event can control only one channel but the same channel can be controlled with several events. Events for the same channel even may overlap each other by time. If events overlaps, event with a lower order number will be executed first. When it ends, the event with the bigger order number will be activated. Take a look at the example:

Here events for LED1 channel are overlapping. So at 0:00 o’clock event #1 will be activated and LED’s initial brightness will be set to 0%. Brightness will continuously increase and at 3:00 will reach 50%. At this time event #2 for LED1 channel should be activated, but event #1 is still active. So the LED’s brightness continues to increase and at 6:00 it will reach 100%. Event #1 ends and immediately event #2 will start. Because one half of an event #2 total time have already passed, brightness will be set to 50%. It will increase and at 9:00 will reach 100% again. This is the end of an event #2 and after 9:00 LEDs will be turned off.
This event’s description in bigger part is valid for Devices and Fan channels too, so the event’s usage for device’s and fan channels will not be described separately.

LED channels control.
There are four channels dedicated to LED lighting. They all have the same functions but are working independently of each other. Channels have three modes: OFF, ON and AUTO. In OFF or ON modes channel will be permanently turned off or on. In AUTO mode LED’s brightness will be adjusted automatically according to user settings.

All LEDs must be connected to power supply through additional devices, called drivers. SimACo generates 5V PWM signal for LED’s control, so driver must have inbuilt PWM control an accept 5V voltage level. SimACo works nice with cheap Mean Well LDD-XXXX series drivers. These drivers are several types: LDD-300L, LDD-350L, LDD-500L, LDD-600L,LDD-700L, LDD-1000L, LDD-1200L, LDD-1500L. Digits in the type desription shows delivered current in mA. Drivers perfectly fits for a wide range LED’s types but requires additional direct current power supply unit. There is main connection diagram:
LDD_drivers_connectionSimACo LED output must be connected to the driver’s PWM and -Vin inputs, power supply unit must be connected to +Vin and -Vin inputs.

Who wants to know more about these drivers, here is a datasheet.

Devices channels control.
Devices channels are designed to control AC voltage devices.

Device1 channel has 4 modes: OFF, ON, AUTO, Off15.
Device2 channel has 3 modes: OFF, ON, AUTO.
Device3 channel has 3 modes: OFF, ON, AUTO.
Device4 channel has 4 modes: OFF, ON, AUTO, HEATER CONTROL.
All channels have OFF, ON and AUTO modes. In OFF or ON modes channel will be permanently turned off or on. In AUTO mode device will be turned off and on automatically according to the events settings.

Device1 channel is designed to control aquarium pumps. It has special mode: OFF15. Activating this mode aquarium pump will be disconnected for 15 mins. After this it will be set to ON mode. This function is usefull when you need to feed your fish and aquarium pump flow scatters food flakes all around.
Device4 channel is designed to control aquarium heater. For this purpose HEATER CONTROL mode can be used. To use heater in HEATER CONTROL mode temperature sensor must be connected to SimACo and enabled from Angry Fish application. In this mode heater will be turned on when aquarium temperature will fall below 0,5°C from the “Maintain the temperature in aquarium” value set. If HEATER CONTROL mode is active and sensor error occurs or user manually disables sensor, Device4 channel automatically will be turned off.

Fan and Sensor channels control.
Fan channel has OFF, ON, AUTO and SENSOR CONTROLLED modes. In OFF or ON modes channel will be permanently turned off or on.

Every fan has its own start-to-spin voltage. It is about 2,5-3,0V or 20-25% from the 12 volts. This voltage in percents must be set in Angry Fish application “Fan start-up speed” parameter. You can find this value by testing fan, connected to SimACo:
Set fan mode to ON. Set “Fan start-up speed” parameter to 0%. If fan rotates, set “Speed in On mode” parameter to 0% and wait while it stops completely. Else set “Speed in On mode” parameter to 20% initial value and press button save_settings_button_bckgnd. Check if fan started to spin. If no, increase “Speed in On mode” parameter by 5% and again save fan settings. Rise fan speed until fan will start to spin. Then set “Minimum fan speed for all modes” value equal to “Speed in On mode” value at which fan started to spin. SimACo will never try to spin fan at lower speed than the fan start-up speed.

To use fan in SENSOR CONTROLLED mode temperature sensor must be connected to SimACo and enabled from Angry Fish application. Fan will be turned on when aquarium temperature will rise 0,5°C above the “Maintain the temperature in aquarium” (MTA) value, that is MTA+0,5°C. Fan speed will be automatically increased if temperature will increase. When temperature will reach MTA+1,5°C fan will turn at full speed. Fan will be turned off when temperature drops below MTA + 0,2°C. For example, you set maintained temperature to 26,0°C. If temperature will rise up to 26,5°C, fan will start. When water cools down and temperature drops down to 26,1°C, fan will be turned off. There is 0,4°C gap between fan on/off. This ensures that fan will not be turned off and on frequently when aquarium temperature will fluctuate a little.
Rotating at full speed fan can be noisy, especially if you are going to sleep and the air in the aquarium room are hot. In this case fan speed can be reduced or increased at particular time interval. First set time interval in “Time interval from XX hour till YY hour”. Then edit parameters: “Set max. fan speed when interval is not active” and “Set max. fan speed when interval is active”. Both parameters will limit fan speed. The first parameter sets max. fan speed only when current time is not in the time interval between “from” and “till” time values (interval inactive). The second parameter sets max. fan speed when interval is active. So you can increase or decrease maximum fan speed only at desired time, for example, at night.
There is “min fan speed” parameter also. It is valid if it’s value is >0. Parameter is usefull if you don’t want fan to stop when aquarium water temperature is normal. For example, you have non-waterproof electronics in your aquarium hood and you want to remove water vapour from the hood constantly. Then you can set “min fan speed” to 30-40%, MTA value to 26,0°C. Then fan will never be turned off. When aquarium temperature will fall below 25,5°C, heater will be turned on but fan will continue to rotate according to the “min fan speed” parameter set.

Dosing Pumps channels control.
12V dosing pumps must be connected to SimACo main board. You can use 1-4 pumps depending on how many different fertilizers yo are using. Generally there are 2 modes for dosing pumps: automatic and manual. You can set automatic mode for selected amount of fertilizers dosing on selected days. Or you can select manual mode if you want to doze fertilizers right now. Automatic dosing will not start if manual dosing is active and manual dosing will not start if automatic dosing is active. By pressing “Stop pumps” button user will stop pumps in both modes.
On first SimACo run you must test your dosing pumps flow rates. In the other words you must know how many mililiters of fertilizer are pumped through 60 seconds interval and set this parameter in “Pump flow rate ml/min” for each pump you are using. The test can be done using manual dosing. You must have a stopwatch, i am using stopwatch program in my android phone. Take a spare container where pump will pump fertilizers. In the Angry Fish application set initial “Pump flow rate, ml/min” values for all channels to 1 ml and save settings. Then close application. With keypad in the 1st pump’s manual dosing menu set “man. dose Xml” parameter to 99ml. Simultaneusly start you stopwatch and press the button “SELECT” to start the pump. After 60 seconds press the button ESC to stop the pump. Measure amount of pumped fertilizer. Do this measurements for all pumps, then set the measured flow rates in “Pump flow rate ml/min” fields for each pump using Angry Fish. SimACo knowing flow rate and fertilizers dosing amount will calculate how many time to run pumps in order to dose required amount of fertilizers.
Also on every fertilizers change you must update “Fertilizer amount left in container” parameter. Controller is created in such way that it will try to dose fertilizers even if “Fertilizer amount left in container” value is 0. After every dosing fertilizers amount left in containers, is automatically calculated so you can check this amount even not seeing containers with fertilizers.
Parameter “Start to pump fertilizers at X hour” sets the begining of automatic fertilizing. Pumps will pump fertilizers one after another – not all at the same time. This prevents fertilizers mixing with each other. If either pump is not enabled on the current day, it will be omitted.

Auto top-off module control.
auto top-off mounting example
Auto top-off module (ATO) comes in separate board. It is used to refill aquarium with fresh water automatically if current aquarium water evaporated and water level dropped. Two float sensors (switches) and one pump is used with ATO module. Put pump in the reservoir as close to the bottom as possible. Pump will pump water from the reservoir to the aquarium. Also you need a hose. Connect one end to the pump and the other pump end attach to the aquarium wall. Do not immerse hose in to the aquarium water to prevent siphoning effect. One float sensor – aquarium sensor you must put in the aquarium. It will track aquarium water level. Sensor must be attached to the aquarium wall about 8mm below the desired aquarium water level. Other sensor – reservoir sensor you must put in the reservoir with fresh water. Reservoir sensor must be attached to the reservoir’s wall above pump’s top point. This sensor will track reservoir water level and will prevent your pump from running dry. Many pumps can run only fully immersed in water else pump can be overheated. ATO module will refill aquarium everyday at time set if all these conditions are met:

  1. Aquarium sensor is in the LOW position (needs to be refilled)
  2. Sensor module is enabled
  3. There is no active ATO alarms: “Auto top-off: reservoir water level low”, “Auto top-off: max aquarium fill time expired” and  “System fault: SimACo restarted”.

If any of these conditions are not met pump will not run and will immediately stop if this occurs when pump is running.

When pump starts to refill aquarium controller counts time and constantly compares pump run time with time value set  in “Max. time when aquarium must be filled from the low level to the high level” field. This field can be set from 0,5 min to 25 min. It is needed to protect your aquarium from large overfilling in case if aquarium sensor started to malfunction. If aquarium sensor is in low position but “Max. time when aquarium must be filled from the low level to the high level” limit is reached then controller will stop the pump and “Auto top-off: max aquarium fill time expired” alarm will be generated. If everything goes OK pump will stop when aquarium sensor will rise.
You can view the both sensors states in the LCD menu if ATO system is enabled. Go to the “Auto top-off settings” in the LCD menu. There in the second level menu you will find “Sensor state:” menu. The status of the aquarium sensors will be indicated by writings “Hi”  or “Lo” (sensor is in the high or low position). For example: “Sensor state:  Aqua:Lo  Res:Hi”. This means that the aquarium sensor is in the low position and the reservoir sensor is in the high position. If ATO is disabled, sensor state will be indicated by writing “NA” (not available).
If you want to disconnect ATO board from the main board, disable ATO module before doing this. If you will disconnect ATO board when ATO module is enabled, SimACo will restart and “System fault: SimACo restarted” error will occur.

The presence of any active alarm is displayed in Angry Fish status field. In alarms tab you can check which alarm/alarms exactly are active. Green color means that there is no alarm, red means that alarm is active. Also you can see alarms in the LCD module. If any alarm is active, the blinking “!” sign will be shown in the screen.
You can activate buzzer which will sound active alarm exists. Also you can set time interval at which alarm will sound. Buzzer will beep three times at the every start of ten minutes in the selected time interval.
Some alarms will reset automatically. Others must be reset manually through Angry Fish application or 5 buttons keypad. If alarm in Angry Fish application’s ALARMS tab has a “Reset” button near it, that means that alarm will not be automatically reset even if alarm conditions will be removed. In this case alarm can only be reset manually.
SimACo has several types alarms, they are:

N# Alarm When activated How to disable alarm through Angry Fish application
1 Channel Pump1 fertilizers daily dose too low PumpX automatic spinning time in Automatic Dosing mode is less than 5 sec. Disable channel if this channel is not used or

dilute fertilizer with distilled water and increase dosing amount of fertilizers.

2 Channel Pump2 fertilizers daily dose too low
3 Channel Pump3 fertilizers daily dose too low
4 Channel Pump4 fertilizers daily dose too low
5 Channel Pump1 fertilizer amount, left in container, is too low PumpX fertilizers amount left is less than the alarm limit set Disable channel if if this channel is not used or

refill fertilizer bottles and increase PumpX fertilizers amount left or

decrease alarm limit value.

6 Channel Pump2 fertilizer amount, left in container, is too low
7 Channel Pump3 fertilizer amount, left in container, is too low
8 Channel Pump4 fertilizer amount, left in container, is too low
9 Aquarium water temperature is too low Water temperature is lower than the “Temperature too low” alarm limit Check if heater is working or
decrease alarm limit value.
10 Aquarium water temperature is too high Water temperature is higher than the “Temperature too high” alarm limit Check if fan is working
or increase alarm limit value.
11 Sensor fault alarm Sensor is disconnected/malfunctioning and sensor is enabled If you want to use sensor:

  1. Connect good sensor,
  2. press “Reset” button in Angry fish” application’s  ALARMS tab. .

If you do not want to use sensor:

  1. Disconnect sensor,
  2. disable sensor  in Angry fish” application,
  3. press “Reset’ button in Angry fish” application’s ALARMS tab.
12 Auto top-off: reservoir water level low  Reservoir flow switch is in the “low” position (not rised).  Refill water reservoir or
check if reservoir float switch is working correctly.
13 Auto top-off: max aquarium fill time expired  ATO pump’s working time was bigger than “Fill aquarium at XX hour” parameter  Check if ATO pump is working  or
check if aquarium float switch is working correctly or
increase “Max time when aquarium must be filled” parameter.
Then press “Reset’ button in Angry fish” application’s ALARMS tab.
14 System fault: SimACo restarted  Most likely ATO module is enabled but physically disconnected or not responding. If you want to use ATO module:

  1. Connect good module,
  2. enable module, if disabled,
  3. press “Reset’ button in Angry fish” application’s ALARMS tab.

If you do not want to use sensor:

  1. Disconnect module,
  2. disable module if enabled,
  3. press “Reset’ button in Angry fish” application’s ALARMS tab.

How time intervals work

Some controller settings have starting time and end time values. These settings are:

  • LED’s, Device’s and Fan events settings (“start time” and “end time” values),
  • Fan settings (“limit max. fan speed to XX% from YY hour to ZZ hour” in SENSOR CONTROLLED mode),
  • buzzer sound time settings (“buzzer enabled from YY hour til ZZ hour”).

When controller’s time reaches starting time value, action begins. When controller’s time reaches end time value, action ends. In other words action will be activated when the controller’s current time is ≥ than the start time and < than the end time.

Here is a simple example: LED1 channel’s event time is set from 8:30 to 16:00 hour. At 8 hour 30 min and 00 sec LED lighting will be activated. At 15 hour 59 min and 59 sec LEDs still will be on; at 16 hour 00 min 00 sec the lighting will be turned off.

SimACo firmware checks for events change one time per second. This is valid and for LED channels brightness change in AUTO mode. There is one thing the user must to know:
if LED channel is set to change LED brightness, for example, from 0 to 100% during one minute interval, brightness will be not evenly changed. This is because brightness must be changed by 100 steps of brightness through the 60 seconds (steps) of time. To achieve an even full – scale brightness change i recommend to use 5 minutes or bigger time interval.

 How to update SimACo firmware

Warning! If your old and new firmware version numbers are different, non-volatile memory will be erased and set to default values, so all your settings will be lost.
Firmware is updated through WiFi, so you must have working WiFi connection. Before connecting through WiFi first make sure that USB cable is removed. Next:

  1. Switch SimACo to bootloader mode.
  2. Switch Angry Fish application to bootloader mode.
  3. In the Angry Fish “Connection & firmware update” tab press button “Connect through WiFi”.
  4. When the WiFi connection is established in the “Firmware update” groupbox press button “Choose hex file” and choose desired .hex file with SimACo firmware.
  5. Press button “Program firmware” and firmware will be programmed to SimACo.

Programming will take about 30 seconds. After programming controller will be automatically reset.