SimACo capabilities
SimACo controller has two main parts: main board and LCD/Rotary encoder board. All aquarium equipment connects to the main board. Also there are several other additional boards: LDD-H driver board, MOSFET driver board and Flow rate sensors board. First two additional boards are boards containing LED drivers.
SimACo main board has inputs/outputs (channels) to aquarium devices. Devices connects to the main board directly or through additional boards mentioned above. Here is the list:
- 1 LED temperature sensor (input)
- 1 Water temperature sensor (input)
- 1 Ambient temperature sensor (input)
- 1 PH sensor (input)
- 1 Aquarium high water level sensor (input)
- 1 Aquarium low water level sensor (input)
- 1 Wastewater reservoir water level sensor (input)
- 1 ATO reservoir water level sensor (input)
- 1 AWC reservoir water level sensor (input)
- 1 AC voltage sensor (input, 120-230V AC)
- 2 water flow rate sensors (inputs)
- 4 LED channels (outputs, 3.3V level PWM)
- 4 dosing pumps channels (outputs, 12V DC)
- 8 devices channels (outputs, 120-230V AC)
All inputs requires external sensors, except mains voltage sensor – the parts of this sensor is already soldered in the main board. You only need to connect cable from the mains to the sensor’s input terminals.
SimACo has many functions; one or more channels (physical inputs/outputs) are dedicated for every function:
- LED lighting control. Four LED1-4 channels, Led T° sensor (input) channel and Device #1 channel for LED cooling fan are dedicated for this function. All aquarium LEDs must be connected to the SimACo main board through additional devices, called drivers. SimACo has two LED driver boards: MOSFET drivers board and Mean Well LDD-H drivers board. Both boards have four output channels.
MOSFET driver board is designed to be used with LED strips or LED modules which requires constant voltage 12V or 24V power supply. Board gets 12V for internal components from the main board; also you need to connect external 12-24V power supply unit (PSU) for the LEDs. Board output voltage to LEDs will be equal to the PSU voltage. Electrically channels #1 and #2 are connected through one common fuse FU1 in the board; channels #3 and #4 are connected through fuse FU2. So total current for channel #1 plus channel #2 can not exceed 4A; the same rule applies to the channels #3 plus #4. Total current for all four channels can not exceed 8A.
LDD-H driver board is designed to 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. Board has a place for four Mean Well LDD-xxxH series drivers to be soldered in. Mean Well drivers are several types: LDD-300H, LDD-350H, LDD-500H, LDD-600H, LDD-700H, LDD-1000H, LDD-1200H, LDD-1500H. Digits in the type description shows supplied current in mA to the LED string. Who wants to know more about these drivers, here is a datasheet. You need to connect external PSU to the board for the LEDs. It’s voltage and current must be selected according to the selected LED lighting – LED voltage and the number of LEDs in the string. LDD-H driver board parameters depends on the soldered driver modules. PSU (board input) DC voltage: 9-56V for LDD-300H…1000H and 9-52V for LDD-1200H, 1500H; LED1-LED4 (board outputs) voltage: 2-52V for LDD-300H…1000H and 2-46V for LDD-1200H, 1500H.
Led T° sensor channel is used to measure LED radiator temperature and throw alarm when LED temperature is too high. LED temperature sensor type – NTC thermistor. Controller can activate LED radiator cooling fan when measured temperature becomes to high. Fan must be connected to the channel Device #1. - AC 120-230V voltage devices control. Uses 120-230V Device #1 – #8 channels. All channels have common ground “GND” and neutral “N” terminals; live “L” terminals are separate. Each channel is directly connected to the mains voltage/UPS and is switched through mechanical relay. Maximum current for every Device #1 – #8 channel must not exceed 8A. Total current of all eight channels is also 8A. There is a protection fuse FU1 in the main board which can be blown if you will exceed this current. All channels are universal, but 7 of them are dedicated for the particular equipment: Device #1 – LED radiator fan control; Device #2 – aquarium water cooling fans control; Device #3 – CO2 solenoid; Device #4 – water heater; Device #5 – aquarium top-off fill pump; Device #6 – automatic water change draining pump, Device #7 – automatic water change draining pump. SimACo controller has 50 timers; they can be used to switch channels on and off separately at time set by user.
- Aquarium water temperature measurement and support. Three channels are used for this function. Temperature sensor must be connected to the Water T° sensor channel. Water temperature sensor type – LM35. Connect aquarium water heater to the 120-230V Device #4 channel. Connect cooling fan block to the 120-230V Device #2 channel. This function is flexible: you can keep fans or heater disconnected. In this case SimACo will only be able to rise or lower water temperature according to the maintained temperature set in controller settings. If both fan and heater are disconnected then controller will be able only to measure water temperature.
- Ambient temperature measurement. You can measure your room air temperature using this channel. Connect temperature sensor to the Ambient T° sensor channel. Ambient temperature sensor type – LM35.
- PH/CO2 measurement and support. Connect PH sensor with 50 Ohm BNC connector to the PH channel (input) – BNC connector in the main board. In order to support stable CO2 level or shut down at night use 120V-230V CO2 valve (solenoid). Valve must be connected to the 120-230V Device #3 channel. This function is flexible: you can use PH sensor not using CO2 valve. In this case controller will be able only to measure water PH value.
- Liquid fertilizers dosing. Dosing pump1-4 channels are dedicated for this function. Use 12V dosing pumps. Max current for each dosing pump must not exceed 0,75A. There is protection fuse in the main board which can disconnect 12V power supply if you will exceed this current. This fuse will reset automatically when the fault is removed. All channels have one common “+” terminal and separate “-” terminals. So dosing pump’s motors “+” poles must be connected together outside main board.
- Aquarium top-off and water change. Eight channels can be used for this function: ATO reservoir sensor, Wastewater reservoir sensor, AWC reservoir sensor. These sensors monitors water level in reservoirs with fresh water, waste water and salt water. Next there are two aquarium water level sensors: aquarium high level sensor and aquarium low level sensor. Also there are three channels dedicated for pumps: Device #5 (ATO fill pump or AWC fill pump for freshwater aquariums), Device #6 (draining pump for AWC operation), Device #7 (AWC fill pump for saltwater aquariums). SimACo controller uses 120-230V pumps for ATO/AWC functions.
- UPS battery energy saving. AC sense input is used to sense if mains voltage is present or not. Mains AC 120-230V voltage must be connected to this input. Use this function if your aquarium equipment is connected to the UPS. This function allows to disconnect particular equipment when power is supplied from the UPS on blackout.
- Filters flow rate monitoring. This function works with external flow rate sensors board. This board has two inputs for two sensors: Flow rate sensor #1 and Flow rate sensor #2. You can use one or both sensors – if you have two aquarium filters. Filters can be connected to any not used Device1 – Device8 channels. Sensors board main parameters: power supply to flow sensors is 12V; board supports sensors with npn and pnp (not tested with a real pnp sensor but should work) pulsed outputs; board supports sensors with flow rate coefficients k from 4.8 to 11; board can measure flow rates from 150l/h to 3500l/h. You must set two jumpers JP1 and JP2 in the board according to your sensors types – npn or pnp.
SimACo controller and additional boards have several other connections/components which user should know about:
Main board:
CR2032 – slot for the Lithium CR2032 3.0V battery. Battery is required to keep SimACo time when controller is disconnected from the mains.
FU1 – 8A fuse for 120-230V devices outputs. Only fast acting fuse must be used.
FU2 – 0.5A fuse for 120-230V mains voltage detection input (AC sense). Only fast acting fuse must be used.
USB – USB 2.0 A (female) slot to connect SimACo with PC.
12V in – 12V DC input connection. This is power supply for the all SimACo controller internal components, flow sensors board, MOSFET driver board internal components, all three temperature sensors and dosing pumps.
12V out – 12V DC voltage output connection. Connected directly to the “12V in” terminal. If you are using 12V LED strips with the MOSFET driver board then you can connect the 12V power to the driver board from this connection. This connection supports 9A output current max.
120 – 230V in – AC voltage input connection, 120-230V. This is power supply for the channels Device #1 – #8. Connect to the UPS or mains.
AC sense – AC voltage input connection, 120-230V. This connection is needed only for UPS battery energy saving function.
sw. in and sw. out connections are used to connect rocker switch. It can be used to disconnect 120-230V devices fully (neutral and live wires) when doing aquarium maintenance jobs.
Reset IC connector in the main board has one pin group which must be always shorted with a jumper!
LCD/Rotary encoder board:
LCD contrast – potentiometer used to adjust LCD brightness.
MOSFET driver board:
FU1 – 4A quick acting fuse common for channels LED #1 and LED #2 outputs. Fuse is surface mounted, size 2410.
FU2 – 4A quick acting fuse common for channels LED #3 and LED #4 outputs. Fuse is surface mounted, size 2410.
Flow rate sensors board:
JP1 – jumper for selecting flow sensor #1 type: npn or pnp.
FU2 – jumper for selecting flow sensor #2 type: npn or pnp.
Controller assembly
This is recommended connections schematics how to assemble controller components and to start to work with SimACo, click to enlarge.
Warning: touching main board when controller is powered from mains or UPS you can be injured by electric current or you even can die! Wrong connection between main board, additional boards, sensors and external aquarium equipment or exceeding current/ voltage parameters can damage all these components! SimACo equipment has some protections: input resistors, PTC fuses, cartridge/ SMD fuses and wrong polarity protections. However these protections may not be able to protect controller or aquarium equipment from permanent damage.
In order to protect yourself, controller and aquarium equipment: supply 12/24V/230V power to the controller and additional boards only when all equipment to controller is already connected. Use cable end sleeves to make connections between controller and additional boars/ aquarium equipment:
This is an order how to prepare SimACo controller:
Connect LCD/Encoder board to the main board using 12 pin connection and mount boards in to the plastic box.
Mount LED driver board and flow sensors board in to the plastic box.
Insert 3V lithium battery in to the main board slot.
Connect all aquarium equipment, additional boards and power supplies to the SimACo main board according schematics. Use wires with appropriate diameter:
- 1.5-2.5mm2 for “PSU” and “LED#1 – LED#4” connections in the LDD driver board; “12-24V” and “LED#1 – LED#4” connections in the MOSFET driver board; “12V in” and “12V out” connections in the main board if you are powering your LEDs through a main board;
- 0.75-1.0mm2 for dosing pump “1-4” connections in the main board;
- 1.5mm2 for “120-230V in”, “sw. in”, “sw.out” and “120-230V devices” connections in the main board;
- 0.75mm2 for all other connections; this is valid and for “12V in” and “12V out” connections in the main board if you are not powering your LEDs through a main board.
Working 120-230V devices and dosing pumps relatively are high current/voltage devices. They can create large electromagnetic spikes. Outputs from the main board LEDs connections generates PWM signal which can also create some disturbances. These spikes and disturbances can affect the work of controller and especially temperature sensors. So it is a good idea to keep temperature sensors cables away from all other cables or wires.
Connect 12V power supply for the main board to the mains.
Adjust LCD contrast potentiometer in the LCD/Rotary encoder board, if needed. For this use ceramic non-conductive screwdriver.
Disconnect 12V power supply for the main board from the mains.
Next fully close the SimACo controller box.
Connect 12V power supply for the main board to the mains.
Connect 120V-230V power supply cable for the main board to the mains or UPS, if you are using it.
Connect AC sensor cable to the mains if you want to use UPS battery energy saving function.
When SimACo loads you must see text “General settings” in LCD.
How to reset controller
- Disconnect power supply cable, wait 20 – 30 seconds and connect again. You will need to reset controller only if it malfunctions.
- Also automatic reset is implemented, controller will reset itself if important error occurs.
Three ways to control SimACo
There are three ways to control SimACo:
- USB cable connection. You will need USB cable and computer with Windows OS to update SimACo firmware. Use SimACo configurator v.4.X application.
- using rotary encoder and LCD display. With those you can control mostly used SimACo functions.
- wireless WiFi connection. Using Windows PC or Android mobile device with WiFi connection you can access all SimACo functions except firmware update. You will need to install Angry Fish v.4.X.X.X application’s Windows or Android versions.
All applications are available in the downloads page.
Main application and bootloader
SimACo controller has two applications running inside: Main application and Bootloader application. Main application is an application which runs most of the time and controls your aquarium equipment. Bootloader allows you to configure WiFi connection settings and to update SimACo firmware. For this purpose Bootloader app has two modes: WiFi configuration mode and Firmware update mode. In the table below you can see the relationships between controllers applications and Windows/ Android applications:
Controller application/ Mode |
Required PC/ phone application | Mode usage |
Main app |
Angry Fish v.4.X.X.X: Windows and Android versions. | This is default mode and is used to control aquarium equipment through WiFi connection. Also WiFi connection can be configured in this mode. |
Bootloader app/ Firmware Update mode | SimACo configurator v.4.X, Windows only. | This mode is used to update SimACo controller’s firmware. USB cable must be used. |
Bootloader app/ WiFi Configuration mode |
SimACo configurator v.4.X, Windows only. | This mode is used to configure SimACo WiFi settings in order to establish wireless computer – SimACo connection. USB cable must be used. |
When SimACo boots up, first Bootloader app in WiFi Configuration mode is loaded. You will not notice this if everything is OK. Then SimACo checks if Main application is OK (firmware present and is not corrupted). If firmware is OK, it automatically boots in to the Main app. If firmware is not OK, SimACo stays in the Bootloader.
Switching between applications/ modes is possible by using LCD menu command and the button of the rotary encoder:
Navigation direction | How to navigate |
Main app – Bootloader app/ WiFi configuration mode | Use LCD module: navigate to “General settings” and find “Bootloader: ACTIVATE” command. Activate this command and Bootloader app will be loaded automatically. After this you will se the thex in the LCD screen: “Mode: WiFi config.” |
Bootloader app/ WiFi configuration mode – Bootloader app/ Firmware update mode (or vice versa) | Shortly press and release encoder’s button. The text in the LCD screen will show which mode is active: “Mode: WiFi config.” or “Mode: Firmware update”. |
Bootloader app/ WiFi configuration mode – Main app | Press and hold encoder’s button for 10 sec. Release the button when you will see the text in the LCD menu “Loading… Main application”. |
Bootloader app/ Firmware update mode – Main app | Press and hold encoder’s button for 10 sec. Release the button when you will see the text in the LCD menu “Loading… Main application”. |
Bootloader app/ WiFi configuration mode after restart | Disconnect controller’s 12V power supply, wait 20-30 seconds, press and hold encoder’s button, connect 12V power supply. You will see “Loading…Bootloader” text in the LCD. After that you can release the button. |
Below is the graphical representation of the table above:
SimACo firmware (microcontroller code) and software (Angry Fish application) are updated and released simultaneously with the same build number for firmware and software. Build number is four digit version, for example 4.1.0.0. For standard mode you must always use Angry Fish application version which number is equal to firmware version number. Go to the downloads page to get latest firmware and software.
Configure SimACo WiFi settings
SimACo uses WiFi to communicate with PC or Android phone. It supports WiFi 802.11n standard. So it works at 2.4GHz frequency. You must have this in mind when connecting SimACo to a router which supports newer 802.11ac standard. However 802.11ac standard is backwards compatible with older WiFi standards.
First time after you have received SimACo you may want to configure WiFi settings in order to connect to controller from your Windows/Android device. Normally all WiFi devices can be access points (routers) or stations (mobile phone, laptop etc.). Two station devices can not talk directly one with the other – station device can talk only with the access point device and vice versa (here exclusion exist – WiFi direct mode where two station devices can be connected directly). In order to make WiFi communication between two station devices they both must connected to the same access point. Then these station devices will communicate one with another through access point. Take a look at the picture below:
In the picture devices A, B and C are stations. Devices B and C can communicate one with another only through a router. SimACo at this point can be set both as station or access point (router). But only one mode can be active at a time. So devices A, B and C as stations can reach SimACo through a router if SimACo is configured as station. If SimACo will be configured as access point, devices B and C will be able to communicate with SimACo directly and device A will not be able to reach controller. That is because device A does not belong to the users home network. So is up to you to decide which SimACo mode do you need:
- If you will set SimACo as station, you will be able to connect to controller from devices B and C through a router. Devices B, C and SimACo controller must be connected to the same router. You even will be able to reach your controller from device A, which is located outside your home. It can be in other town or other country. But to reach SimACo from device A you will need to do port forwarding operation in your router. If you have a router, i recommend to use SimACo as station. For station mode you must connect SimACo to your home router. SimACo IP address will be assigned by the router.
- If you will set SimACo controller as access point, you will be able to reach controller only from your house, devices B and C. By default SimACo controller is configured as access point. In the access point mode SimACo will act as a router. SimACo address will always be the same for this mode: 192.168.4.5.
There are two ways to configure WiFi connection settings: through USB cable using SimACo configurator app or using WiFi connection through Angry Fish app. Also you can reset WiFi connection settings to default using rotary encoder (“General settings” menu). SimACo has these default settings:
WiFi mode – access point;
Name: SimACo;
WiFi password: MyHappyAquarium;
IP address: 192.168.4.5;
Channel ID: 8;
Encryption: WPA2 PSK;
Angry Fish application login password: MyHappyAquarium1.
Here do not confuse SimACo WiFi password, when controller is configured as access point with login password. They are different things. For example, you are connected to your router from mobile phone and you are using Facebook application. You need one password to connect to the router (WiFi password) and another to connect to the Facebook application (login password). They will be not necessarily the same.
To configure WiFi connection through USB:
- Switch SimACo controller to the WiFi Configuration mode.
- Connect USB cable between PC and SimACo. In the SimACo configurator application’s right top corner you must see blue USB icon.
- Select “SimACo as station” or “SimACo as access point” tab in order which type of device you want SimACo to be.
- If you have selected “SimACo as station” tab, press “Find nearby access points” button. SimACo will search for the routers. After several seconds routers will be found, they will be displayed in the list. Selected your router from the list, enter your router’s password in to the “Enter access point password” field and press button “Configure WiFi”. Your router will assign the IP address to SimACo automatically and SimACo will connect to the router. You can see what is going on in the log window below. Also you will find SimACo IP address written there. If for any reasons your router is not in the application’s list or WiFi configuration fails: keep controller powered on and restart your router. Then configure connection again.
- If you have selected “SimACo as access point” tab, SimACo will be configured as a router itself. Fill SimACo’s desired name and password fields. You can leave channel and encryption fields intact. Next press button “Configure WiFi”. You can see what is going on in the log window below. For this mode SimACo IP address will be always the same: 192.168.4.5.
To configure WiFi connection when SimACo is already connected through WiFi:
- If default parameters are changed, you can always restore them. To do this use rotary encoder: go to the “General settings menu”, then through “WiFi config.: RESET” menu restore default settings. SimACo will restart and after this configuration will begin. Configuration will be accomplished when you will see text “General settings” in the LCD display.
- Connect to the SimACo through WiFi using Angry Fish application. How to do this read section “Connect SimACo through WiFi” below.
- After successful connection through WiFi open “Connection and update” menu in the Angry Fish application. Next select “SimACo as station” or “SimACo as access point” radio button in order which type of device you want SimACo to be.
- If you have selected “SimACo as station” radiobutton, fill your router’s name and password fields and press button “Configure WiFi”. SimACo will restart and after this configuration will begin. During configuration your router will assign the IP address to SimACo automatically and SimACo will connect to the router. Process can take up to 90sec. Configuration will be accomplished when you will see text “General settings” in the LCD display.
- If you have selected “SimACo as access point” radio button, SimACo will be configured as a router itself. Fill SimACo’s desired name and password fields. You can leave channel and encryption fields intact. Next press button “Configure WiFi”. SimACo will restart and after this configuration will begin. For this mode SimACo IP address will be always the same: 192.168.4.5. Configuration will be accomplished when you will see text “General settings” in the LCD display.
Connect to SimACo through WiFi
If you are using SimACo as access point mode first you must connect your PC/ mobile device to the SimACo network. Search in your PC/mobile phone for the access point named “SimACo” and connect to it. By default SimACo is configured as access point with default parameters: name – SimACo, password – MyHappyAquarium, IP address – 192.168.4.5.
Warning: if you are connecting to the SimACo controller (as access point), from Android device, turn off mobile data. Mobile phone with Android version 9 or newer may not connect to the SimACo if mobile data is on.
Next in order to connect to SimACo through WiFi you must to know SimACo login password and IP address. Default login password is MyHappyAquarium1. If SimACo is configured as access point, IP address always is 192.168.4.5. If SimACo is configured as station, you can find IP address in two different ways:
- when configuring SimACo through USB, SimACo configurator application will show this address in the “Info window” as text “IP address xxx.xxx.xxx.xxx was set as default.”
- when SimACo restarts and boots in to the Standard mode, it automatically will read it’s configuration mode (station/ access point) and IP address. Those two values you can see anytime in the LCD screen, in the “General settings” menu.
In your Angry Fish application’s “Connection and update” window enter SimACo IP address, login password and press button “Connect through WiFi”. If connection was successful you must see blue WiFi icon in the application’s top right corner. Your PC/mobile device automatically will read data from SimACo and will display in the Angry Fish application.
Access SimACo from any place in the world
If you want to access your SimACo from a distant location, first you must configure controller as station: controller must be connected to your home router. Next step: find out your public IP address. Your router has two IP address fields: one public (external) and one private (internal) for all your home devices connected to the router. If you want to access your controller from the outside you must connect to the controller with your router’s external (public) IP address. Public address is given by your internet provider. Ensure that this address is static. Some internet providers sometimes change user’s IP address. IP address change occurs when router is restarted. So if your provider uses dynamic IP addresses, after every router restart you must to check your IP address in order to know which address to use to connect to SimACo. Angry Fish application will find and show this address for you in the “Connection & update” page if your device is connected to the router.
Next you must do port forwarding in your router. With port forwarding all data which will be sent to your router through an external device’s Angry Fish application, will be redirected to SimACo controller. Port forwarding operation is similar for many routers. You must write your SimACo IP address, protocol and port in to the router’s settings. Local and external ports number always is 55555, protocol – TCP. Most routers have “Name” field – write any text you want here. In the pictures below you can see Asus and TP-Link routers port forwarding examples:
Controlling SimACo with rotary encoder and LCD module
You can view your aquarium equipment status, edit controller settings and activate Fast Control mode using rotary encoder and LCD module.
With a rotary encoder you can execute four actions: turn left or right, make a short or long press by pressing encoder’s shaft. Short press is considered when encoder is pressed and released within 1 sec period. If encoder is pressed and released after 1 sec period then this is considered as long press.
Controller whole menu is divided into 3 levels: first level, second level and the third level. First level menu is dedicated to the Fast Control function. In the third level menu you can view actual controller’s parameters or edit some of them. In order to edit parameters you have to activate Edit mode. You can imagine Edit mode as fourth level menu.
You can navigate through menus in this order: first level – second level – third level – Edit mode or Edit mode – third level – second level – first level. But you can’t directly jump from the first level to the third level or vice versa. After controller’s restart first the window “General settings” will be loaded from the second level menu.
How to navigate through menus (from higher menu to lower):
first level – second level: long press;
second level – third level: short press;
third level – Edit menu: short press.
How to navigate through menus (from lower menu to higher):
Edit mode – third level menu: long press;
third level – second level: long press;
second level – first level: long press.
How to navigate through windows on the same menu level: rotate encoder’s shaft right (go down) or left (go up).
How to use fast control function: navigate to first level menu, select desired action (named FC1-FC4). In order to select an action turn rotary encoder left or right. Then make a short press. Action will be executed immediately.
How to edit variables: go to the third level menu, select desired window and make a short press. Attention: not all windows have editable variables; also one window can have several editable variables. If the window has an editable variable then after short press Edit mode will be activated and symbol “E” will be displayed in the LCD screen. Editable variable will start to blink. Change variable value by turning encoder shaft left or right. Select next editable variable with a short encoder press and the next editable variable will start to blink. When you are happy with the edited settings exit Edit mode with a long press. Symbol “E” will disappear and symbol “Command sent” will appear shortly in the LCD. All variables values presented on current LCD screen will be automatically saved.
Menu also have commands like “Login password: RESET” (command without variable) or “Low PH buffer: 4.00 CALIBRATE” (command with variable). Commands are displayed in capital letters in the LCD. Each command has two states and one state is always “EXIT”, for example “EXIT/ RESET” or “EXIT/ CALIBRATE”. In Edit mode you can switch between command states by turning encoder left or right (like changing variable). If you exit Edit mode when command is in “EXIT” state then command will be not activated and variable next to it (if present) will not be saved and command will be not activated. To execute such command change variable value and exit Edit mode when command is set to active state: “RESET”, “CALIBRATE”…etc.
When user activates Fast Control mode or exits Edit mode then new settings will be saved or commands will be executed. To indicate this a symbol “Command sent” will be displayed in the LCD screen. This symbol and other ones shows possible navigation directions and controller state. Also there are symbols which indicate some events, like: Off15 mode is active or alarm exists.
Controlling SimaCo from Angry Fish application
Angry Fish application has several pages. From Equipment overview page you can navigate to Channels status, Logged data and Alarms pages. These three pages shows all SimACo channels and their main parameters. In Alarms page all alarms and their states (active or inactive) are displayed. Information in the Channels status and Alarms pages are updated automatically in 0.3 seconds interval. All other windows are not updated automatically, you must update them manually using “refresh data” button.
In Angry Fish application icons and buttons are used:
Name | Picture | Explanation |
Button “refresh data”. | ![]() |
Press this button to read all data from controller. |
Button “save settings to controller”. | ![]() |
Press this button to save settings to the controller. |
Alarm state icon. | ![]() |
This bell icon shows active alarms state. Three colors are possible: green – alarm has not been read yet; red – one or more alarms are active; green – there are no active alarms. |
Icon “SimACo connected through USB”. | ![]() |
PC is connected to SimACo through USB in WiFi configuration or Firmware update modes. This icon is shown only in Angry Fish Windows versions v.3.0.0.0 and v.3.1.0.0. |
Icon “SimACo connected through WiFi”. | ![]() |
Windows or Android device is connected to SimaCo through WiFi in Standard mode. |
Icon “Fertilizers dosing” | ![]() |
Icon indicates that dosing pump is running. |
Icon “Automatic top-off” | ![]() |
Icon indicates that auto top-off operation is active. |
Icon “Automatic water change” | ![]() |
Icon indicates that automatic water change operation is active. |
Icon “Off15 mode” | ![]() |
Off15 mode for channels Device #1 or Device #2 is active. |
Icon “WiFi data transmission succeeded” | ![]() |
Indicates that data was transmitted successfully through WiFi between PC/phone and SimACo controller. Appears after both read and write operations. |
Editable parameters in Angry Fish Application application have blue color.
Every SimACo channel (physical output or input) has its own icon and description. Icons and descriptions for channels LED1-4, 120-230V Device #1 – #8 and Dosing pump1-4 can be changed by the user to match the real device, connected to this channel. In order to change icon or description, press on the icon picture or description in the dedicated channel’s control page. Channel’s icon or description can not be changed from the Channels status window.
Changing channel’s icons and descriptions in your own way makes a work with SimACo more comfortable because you will know exactly which channel’s parameter you are viewing or changing. In channel’s description only ASCII symbols allowed; space symbol is not allowed. Maximum 12 symbols is allowed.
There is one special icon available for all channels – grey square named “not used”. By selecting it, you will disable channel. Disabling output channels are permanently turned off; alarms for those channels also will be suspended. Also disabling channel you will disable function which uses current channel completely or partially. Every output channel has background color which indicates channel state in the “Channels status” page:
![]() |
![]() |
![]() |
![]() |
Saving and viewing controller’s status. SimACo has non-volatile memory (EEPROM). This memory is used to save SimACo settings permanently. These settings will remain in the memory even if the power supply cable is disconnected and 3V battery removed.
Lithium battery stores controller time, so after battery replacement you must set the correct time.
In the Angry Fish application most pages have one button (in the top right corner of the page). This button sends all parameters of that page to the controller and controller saves them to non-volatile memory. 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 settings (for example time/date setting) have separate “Save” button. Such settings will be saved only by pressing “Save” button. If settings are changed using keypad then settings will be saved to non-volatile memory when user exits parameter editing mode.
When Angry Fish application connects to the SimACo, application will read all settings from controller automatically. If you want to read all data from SimACo manually, press “refresh data” button it the top right corner of the application. After this all pages will be updated with the parameter values from controller.
SimACo channels control
Understanding channel’s timers. LED1-4 and 120-230V Devices1-8 channels each have Auto mode. When this mode is activated channel is controlled automatically. Settings for the Auto mode is controlled in the Timers page. Timers allow to turn channel on and off at a time desired. Also they have an additional features for LED1-4 channels control. Timers have several parameters which can be set by the user: timer number, channel type, start time, starting brightness, end time and end brightness parameters. For LED1-4 channels all parameters are used. For Devices1-8 channels starting brightness and ending brightness parameters are not used. Not used values are faded. Editing values which are not used for the particular channel will not have any effect. There are 50 timers in total dedicated to all four LED channels and eight 120-230V Devices channels. Any timer can be assigned to any LED1-4 or 120-230V Devices1-8 channel. Every timer can control only one channel but the same channel can be controlled with several timers. Timers start time and end time values for the same channel may overlap each other. If they are overlapping, timer with a lower number will be executed first. When it expires, the timer with the bigger order number will be activated. Take a look at the example:
Here timers #2 and #3 for LED3 channel are overlapping. So at 9:00 o’clock timer #3 will be activated and LED’s initial brightness will be set to 0%. Brightness will continuously increase and at 10:00 will reach 30%. At this time timer #2 will be activated for LED3 channel, because it’s order number is lower. So at 10:00 LED3 channel brightness will be set to 0%. Next at 11:00 timer N#2 will event will end, at this time LED brightness will be 100%. Now because timer N#2 has ended but timer N#3 has not ended yet, controller will keep timer N#3 active from 11:00 to 12:00. LED brightness will change from 60% to 90%. At 12:00 there is no timers set for LED3 channel, so this channel will be turned off. This event’s working principle in bigger part is valid for Devices channels too, except brightness settings: equipment connected to the Devices channels will be simply turned on and off.
SimACo firmware checks for timers changes one time per second. 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.
Temperature sensor calibration. Controller can have three temperature sensors – for LED radiator, aquarium water and ambient temperature measurement. Each sensor can be calibrated by user for precise temperature measurement. This can be done in Angry Fish application. Sensors calibration limits are -5oC…+5oC, minimal calibration step is 0.1oC. Application provides one step calibration. For example, with a default calibration 0.0oC aquarium sensor measures 26.4oC temperature. But you know that real temperature (LED, water or ambient) is 26.1oC. Then you must calibrate sensor with a -0.3oC calibration value (negative one). When sensor gets new calibration value it always deducts 0.3oC value from the measured value. Thus sensor after calibration will start show 26.1oC and will use calibrated value for all it’s functions.
LED lighting control. All LEDs must be connected to power supply through additional devices, called drivers. SimACo has two LED driver boards: MOSFET driver board and Mean Well LDD drivers board. Each board has four channels.
There are five channels dedicated to LED lighting:
- Four channels LED1-LED4 are outputs; they must be connected to the LED driver boards. They all have the same functions but work independently of each other. Channels have three modes: OFF, ON and AUTO. In OFF or ON modes channels will be permanently turned off or on. In AUTO mode LED’s brightness will be adjusted automatically according to the timers settings. Using timers LED channels can evenly change LED brightness through desired time interval (dimming).
- Temperature sensor, connected to Led T° sensor channel is used to measure LED radiator temperature.
- LED radiator fan, connected to the channel Device #1.
LED lighting control function has two alarms: “LED temperature level too high” and “LED temperature sensor fault”.
“LED temperature level too high” alarm will be activated if current temperature is equal or bigger than “High temperature alarm limit, °C” parameter (CT>=HT). Alarm will not be set if temperature sensor is disabled or “LED temperature sensor fault” alarm is active. “LED temperature level too high” alarm is cleared automatically.
“LED temperature sensor fault” alarm will be activated if the current measured temperature is approximately less than 5.0°C or bigger than 99.0°C (CT<5.0°C or CT>99.0°C). This alarm will happen if sensor malfunctions or is disconnected from the main board. If temperature sensor is disabled, alarm will not be set. This alarm must be cleared manually. If temperature measured by sensor exceeds 99.0°C then controller will not show temperature readings. Instead of this “Err” text will be displayed in the LCD and “Error” text in the Angry Fish application.
Controller can activate LED radiator cooling fan when radiator temperature becomes to high. For this channel Device #1 must be set to LED FAN mode. There are two parameters: maintained temperature (MT) and maintained temperature hysteresis (MTH). Both parameters can be set by the user. Hysteresis ensures that fan will not be turned on and off too frequently. Fan will be activated when CT>=(MT+MTH). Fan will be turned off when CT<MT. For example user set maintained temperature 50°C and hysteresis 4°C. When radiator temperature is low fan will not rotate. When temperature will reach 54°C (50+4) fan will start to spin. Then temperature will start to drop. When it will fall below 50°C fan will stop.
AC 120-230V voltage devices control. There are 8 channels designed to control AC voltage devices. All eight channels have OFF, ON and AUTO modes. They all are universal, but 7 of them are dedicated for the particular equipment. In OFF or ON modes channels will be permanently turned off or on. In AUTO mode channels will be turned off and on automatically according to the timers settings. There are additional modes listed for Device channels:
- Device #1 -LED radiator fan control (LED FAN mode);
- Device #2 – water cooling fans control (WATER FAN mode);
- Device #3 – CO2 solenoid (CO2 SOLENOID mode);
- Device #4 – water heater (HEATER CONTROL mode);
- Device #5 – aquarium top-off fill pump (ATO PUMP mode);
- Device #6 – aquarium water change draining pump (DRAININING PUMP mode);
- Device #7 -aquarium water change fill pump (AWC PUMP mode);
- Device #8 – none.
Device #1 channel is designed to control LED radiator fan when is set in LED FAN mode. Read more about this mode in the LED lighting control function description.
Device #2 channel is designed to control 120-230V aquarium fan block when is set in WATER FAN mode. Read more about this mode in the Aquarium water temperature measurement and support function description.
Device #3 channel has CO2 SOLENOID mode. This mode is designed to control CO2 solenoid valve according to the water PH measurements. Read more about this mode in the PH/CO2 measurement and support function description.
Device #4 channel is designed to control aquarium heater. For this purpose HEATER CONTROL mode can be used. Read more about this mode in the Aquarium water temperature measurement and support function description.
Device #5 channel is designed to control auto top-off fill pump. For this purpose ATO PUMP mode can be used. Read more about this mode in the Aquarium top-off (ATO) and automatic water change (AWC) function description.
Device #6 channel is designed to control automatic water change draining pump. For this purpose DRAINING PUMP mode can be used. Read more about this mode in the Aquarium top-off (ATO) and automatic water change (AWC) function description.
Device #7 channel is designed to control automatic water change fill pump. For this purpose AWC PUMP mode can be used. Read more about this mode in the Aquarium top-off (ATO) and automatic water change (AWC) function description.
Filters control function. SimACo can control up to two aquarium filters. Each filter must be connected to any not used channel Device #1…Device #8. This function has two features:
1. it allows to disconnect aquarium filter or water pump for 15 minutes. This function is useful when you need to feed your fish and aquarium filter flow scatters food flakes all around. For this Off15 #1 or Off15 #2 functions can be used. Off15 function is created to work when filters are in OFF, ON, AUTO modes. User can activate Off15 functions in the Angry Fish application’s 120-230V devices window. After Off15 function activation when 15 min. counter expires, filter returns to the previous state automatically.
2. it monitors filters states (turned on or off). This is needed for filters flow rate monitoring function. This is used to prevent false low flow rate alarms when flow sensors are used to measure filters flow. Both filter’s flow rates can be monitored using two flow rate sensors. Read about his mode in the Filters flow rate monitoring function description.
In order Off15 function and flow rate monitoring to work properly SimACo must to know to which channels filters are connected. User must assign correct filters channels in the Angry Fish application’s 120-230V devices window:
Aquarium water temperature measurement and support. Three channels are used for this function:
- Temperature sensor, connected to Water T° sensor channel is used to measure aquarium water temperature and to control cooling fans, heater.
- Heater, connected to Device #4 channel is used to rise aquarium water temperature. Heater will be activated only if Device #4 channel is set to HEATER CONTROL mode.
- Cooling fans block, connected to Device #2 channel – is used to lower aquarium water temperature. You can use 12V fans but in this case they must be connected through additional power supply. Fan block will be activated only if Device #2 channel is set to WATER FAN mode.
This function is flexible: you can keep fans or heater disconnected. In this case SimACo will only be able to rise or lower water temperature according to the maintained temperature set in controller settings. If both fan and heater are disconnected then controller will be able only to measure water temperature. But fans and heater can not be controlled without temperature sensor.
In Angry Fish application user must set “Maintain temperature, °C” (MT), “Low temperature alarm limit, °C” (LT) and “High temperature alarm limit, °C” (HT) parameters. SimACo constantly gets data from the water temperature sensor (current temperature, CT) and compares it with the “Maintain temperature, °C” parameter. If current temperature will become bigger by 0.5°C than maintained temperature (CT=MT+0.5°C), fans will be activated. Water temperature will start to fall. When current temperature will become lower than maintained temperature by more than 0.2 degrees (CT<MT-0.2°C) fans will be turned off.
In other scenario, if current temperature will become lower by 0.5°C than maintained temperature (CT=MT-0.5°C), heater will be activated. Water temperature will start to rise. When current temperature will become lower than maintained temperature by less than 0.2 degrees (CT>MT-0.2°C) heater will be turned off.
Example: you have set “Maintain temperature, °C” parameter to 26°C. If water temperature will tend to rise, fans will be started at 26.5°C and disconnected at 26.1°C, when temperature will drop. So water temperature will swing between 26.1°C and 26.5°C. If water temperature will tend to fall, heater will be activated at 25.5°C and disconnected at 25.9°C, when temperature will rise. So water temperature will swing between 25.5°C and 25.9°C.
Aquarium water temperature measurement and support function has three alarms: “Water temperature level too low”, “Water temperature level too high” and “Water temperature sensor fault”.
“Water temperature level too low” alarm will be activated if current temperature is equal or lower than “Low temperature alarm limit, °C” parameter (CT<=LT). Alarm will not be set if temperature sensor is disabled or “Water temperature sensor fault” alarm is active. “Water temperature level too low” alarm is cleared automatically.
“Water temperature level too high” alarm will be activated if current temperature is equal or bigger than “Low temperature alarm limit, °C” parameter (CT>=HT). Alarm will not be set if temperature sensor is disabled or “Water temperature sensor fault” alarm is active. “Water temperature level too high” alarm is cleared automatically.
“Water temperature sensor fault” alarm will be activated if the current measured temperature is approximately less than 5.0°C or bigger than 99.0°C (CT<5.0°C or CT>99.0°C). This alarm will happen if sensor malfunctions or is disconnected from the main board. If temperature sensor is disabled, alarm will not be set. This alarm must be cleared manually. If temperature measured by sensor exceeds 99.0°C then controller will not show temperature readings. Instead of this “Err” text will be displayed in the LCD and “Error” text in the Angry Fish application.
Fan block will always be disabled if temperature sensor is disabled or Device #2 channel is disabled or “Water temperature sensor fault” alarm exists.
Heater will always be disabled if temperature sensor is disabled or Device #4 channel is disabled or “Water temperature sensor fault” alarm exists.
Rotating fan block fan can be noisy, especially if you are going to sleep and the air in the aquarium room are hot. In this case fan can be turned off at particular time interval. In the angry Fish application you can set time interval at which fan block will be disabled even if aquarium temperature is high.
Ambient temperature measurement.
Temperature sensor connected to Ambient T° sensor channel simply measures your room temperature.
Ambient temperature measurement function has one alarm: “Ambient temperature sensor fault”.
“Ambient temperature sensor fault” alarm will be activated if the current measured temperature is approximately less than 5.0°C or bigger than 99.0°C (CT<5.0°C or CT>99.0°C). This alarm will happen if sensor malfunctions or is disconnected from the main board. If temperature sensor is disabled, alarm will not be set. This alarm must be cleared manually. If temperature measured by sensor exceeds 99.0°C then controller will not show temperature readings. Instead of this “Err” text will be displayed in the LCD and “Error” text in the Angry Fish application.
PH/CO2 measurement and support. Two channels are used for this function:
- PH sensor connected to the PH channel measures aquarium water PH level and controls CO2 valve.
- CO2 valve connected to the 120-230V Device #3 channel supplies CO2 to aquarium diffuser or other equipment which dissolves CO2 in to the water. Valve will be activated only if Device #3 channel is set to CO2 SOLENOID mode.
This function is flexible: you can use PH sensor without CO2 valve. In this case controller will be able only to measure water PH value. Without PH sensor controller can not keep water PH level stable.
How SimACo controls CO2 level in your aquarium water? In the aquarium CO2 level and water PH are directly related through kH (carbonate hardness) parameter. kH value must be stable in the aquarium in order to get exact CO2 value from the measured PH value. If you know your aquarium kH and PH values, you can get CO2 value from these two parameters. You can use CO2/PH table to get required water PH value for the CO2 level you want to support.
In Angry Fish application user must set “Maintain water PH” (MPH), “Low PH alarm limit” (LPH), “High PH alarm limit” (HPH) parameters and period when “Water PH level too low” and “Water PH level too high” will be activated.
SimACo constantly gets data from the PH sensor (current PH value, CPH) and compares it with the “Maintain water PH” parameter. If current PH will become higher by 0.05 than maintained PH value (CPH=MPH+0.05), CO2 solenoid will be activated. CO2 gass will dissolve in to the aquarium water. Water becomes more acidic and PH value will start to fall. When current PH level will become lower than maintained PH value by 0.05 (CPH<MPH-0.05) CO2 valve will be turned off.
For example you set “Maintain water PH” value to 7.00PH, controller will turn on solenoid valve when PH rises up to 7.05 and will turn off valve when PH will fall to 6.95. So water PH will swing between 6.95 and 7.05.
CO2 level and PH has reverse relativity: PH gets lower (water is more acidic) when CO2 level will rise and vice versa: PH will rise (water will be more alkaline) when CO2 concentration will decrease. SimACo supports two CO2 level scenarios. First scenario is to support required CO2 level 24 hours/day. This scenario helps to support aquarium water PH stable all time. Other scenario: CO2 level is only supported at daytime; CO2 valve will be shut down at night. This helps to save CO2 gas but water PH in this case will fluctuate during 24 hours period.
PH/CO2 measurement and support function has three alarms: “Water PH level too low”, “Water PH level too high” and “PH sensor fault/calibration error”.
“Water PH level too low” alarm will be activated if current PH value is lower than “Low PH alarm limit” parameter (CPH<LPH). Alarm will not be set if PH sensor is disabled, PH alarms activation period is not active or “PH sensor fault/calibration error” alarm is active. “Water PH level too low” alarm is cleared automatically.
“Water PH level too high” alarm will be activated if current PH value is higher than “High PH alarm limit” parameter (CPH>HPH). Alarm will not be set if PH sensor is disabled, PH alarms activation period is not active or “PH sensor fault/calibration error” alarm is active. “Water PH level too high” alarm is cleared automatically.
“PH sensor fault/calibration error” alarm will be activated if PH calibration values difference between high PH buffer and low PH buffer is less than 2.00 or measured PH value (CPH) will exceed 14.00. In other words, calibration buffer values must differ one from the other by 2.00 or more. Also this alarm can happen if PH sensor malfunctions or is disconnected from the main board. If PH sensor is disabled, alarm will not be set. This alarm must be cleared manually. If PH level measured by sensor exceeds 14.00 value then controller will not show PH readings. Instead of this “Err” text will be displayed in the LCD and “Error” text in the Angry Fish application.
CO2 valve will always be disabled if PH sensor is disabled or Device #3 channel is disabled or “PH sensor fault/calibration error” alarm exists.
Sensor calibration. PH sensor must be calibrated before using. To calibrate sensor PH buffers are used. You will need two calibration buffers: one buffer with low PH value and the second with high PH value. These values can be: 4.00 (4.01), 6.86, 7.00, 9.18 and 10.00 (10.01). It is required that high buffer’s PH value must be greater than the low buffer’s PH value by the 2 PH units or more. For example you can use 4.00 PH buffer as the low PH buffer and 9.18 buffer as the high PH buffer. But buffers with PH values 6.86 and 7.00 can not be used because the difference between the two buffers PH values will be lower than 2. There is a rule: the bigger difference between two buffers PH values the bigger accuracy you will get when measuring water PH level with sensor. So using of 4.00 PH and 10.00 PH buffers will be the best option. During calibration you will need to know calibration buffer’s exact PH value. Any PH buffer slightly changes it’s PH value according to the buffer temperature. Usually manufacturers declare buffer’s PH value at a 25oC temperature. But they also provide a table with buffer’s PH values at different temperatures. Calibrating PH sensor you must use PH values at a current temperature of the PH buffer. If buffer was in the room for a while you can use a room temperature as buffer’s temperature. For example: PH buffer has 9.18PH value at 25oC buffer temperature. But there is a 30oC temperature in your room, also buffer has the same temperature. Buffer at a 30oC has 9.14 PH value, so you must use value 9.14 during calibration.
First prepare low PH and high PH buffer solutions if you got them as a powder. To prepare a solutions use deionized or distilled water, do not use a water from the tap! Next prepare a glass and fill it with a water. PH sensor can be calibrated from Angry Fish application or from LCD menu using keypad. Here are instructions how to calibrate sensor from the keypad: Remove the protective cap with the storage solution from PH sensor. Rinse PH sensor in the glass with distilled water and put it in the low PH buffer. Go to the “PH and CO2 settings” menu, next go to the PH sensor state menu. Check the PH value and wait while PH readings from the sensor will stabilize. This can take minute or two. Then go to the Low PH buffer calibration menu. Press ENTER button. PH value starts to blink. With buttons UP and DOWN select low PH calibration buffer’s value. Next press SELECT button. Command “Calibrate” will start to blink. Press button ENTER to execute calibration command. In the same manner you must do calibration with a high PH buffer. Again rinse PH sensor in the glass with distilled water and put it in the high PH buffer. Wait while PH readings from the sensor will stabilize. Then go to the High PH buffer calibration menu menu, select your exact high PH calibration buffer’s value and execute calibration command.
SimACo has “Reset PH sensor calibration to default” command. Using default calibration you can get approximate PH values when measuring aquarium water with a PH sensor. But for exact measurement you must calibrate sensor manually.
Liquid fertilizers dosing. Four channels are used for this function:
- Dosing pump1 – DosingPump4.
12V dosing pumps must be connected to SimACo main board. You can use 1-4 pumps depending on how many different fertilizers you are using. There are 2 modes for dosing pumps: automatic and manual. SimACo can dose four types of liquid fertilizers up to 24 times per day in automatic mode. Or you can select manual mode if you want to doze fertilizers right now.
Before starting to use dosing pumps for the first time you must calibrate 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. Take a spare container where pump will pump fertilizers and a syringe with mililiters marked on its side. Go to the Angry Fish application’s “Dosing pumps” menu and set initial “Pump flow rate, ml/min” value for channel DosingPump1 to 20ml/min. Save this value. Next in “Manual dosing” menu set “Fertilizer dosing amount, ml” to 20ml and set “Channel” to DosingPump1. Next press button “Start manual dosing”. Dosing will start. DosingPump1 will be activated for exactly one minute. When dosing pump will stop, measure with syringe actual dosed amount of fertilizer. For example 15mililiters of fertilizer were dosed. Here we got that the actual flow rate is 15ml/min. Set this value for DosingPump1. In the same order calibrate flow rates for channels DosingPump2 – DosingPump4. SimACo knowing real flow rate and fertilizers dosing amount will calculate how long to run pumps in order to dose required amount of fertilizers. Also every time when you refill containers with fertilizers 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 SimACo recalculates fertilizers amount left in containers.
There may be a situation when user sets time to run two or more pumps simultaneously at the same time. In this case pumps will be set to the queue. They will pump fertilizers one after another – not all at the same time. This prevents fertilizers mixing with each other. By pressing “Stop active pump” button user will stop active running pump in both Automatic and Manual modes. If there are more pumps in the queue waiting to run then they will not be stopped.
If automatic dosing operation is active, you will not be able to start manual manual dosing. You must to wait while automatic dosing will end. After this you can start manual dosing. Also if manual dosing is active at the time when automatic dosing must start then automatic dosing will start only when manual dosing operation is finished.
Liquid fertilizers dosing function has four alarms: “Channel PUMPX fertilizer fertilizer amount in container low” for each dosing pump. These alarms alarm will be activated if calculated fertilizer amount in container left is equal or lower than the “Activate alarm when fertilizer amount left” variable value. Alarm will not be set if DosingPumpX is disabled. Alarm is cleared automatically.
DosingPumpX will not run if DosingPumpX channel is disabled.
Aquarium top-off (ATO) and automatic water change (AWC).
Automatic top-off function (ATO): aquarium can be refilled with fresh water automatically from the ATO 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 ATO reservoir or from saltwater AWC reservoir. So freshwater and saltwater aquariums are supported.
Both ATO and AWC functions have Manual and Automatic modes. Manual modes are executed after buttons “Start manual ATO” or “Start manual AWC” press. 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 functions) or three 120V-230V AC pumps for saltwater aquariums (fill pump for ATO, fill pump for AWC and draining pump for AWC function);
- Aquarium high level sensor. Is used to detect that aquarium is filled for ATO and AWC functions.
Also user can use water level sensors for:
- Freshwater ATO reservoir (detect when reservoir is empty);
- Wastewater reservoir (detect when reservoir is full);
- Saltwater AWC 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.
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. All pumps must be 120-230V AC devices. Freshwater reservoir pump must be connected to channel Device #5, Wastewater reservoir to channel Device #6 and Saltwater reservoir pump to channel Device #7. Water level sensors must have corresponding contact states:
Aquarium high level sensor: contact is open when water level is high;
ATO reservoir sensor input: contact is closed when water level is high;
Aquarium low level sensor input, contact is closed when water level is high;
AWC reservoir sensor input, contact is closed when water level is high;
Wastewater reservoir sensor input, contact is open when water level is high.
There are two checkboxes in the Angry Fish application’s AWC control window: “use ATO pump to fill aquarium”. Check this checkbox if you have freshwater aquarium. In this case ATO reservoir pump will be used instead of AWC reservoir pump to fill aquarium when AWC fill operation is active. Next checkbox is named “use max. draining time limit to stop drainage pump instead of low water level sensor”. Check this checkbox if you are not using aquarium low water level sensor. If checkbox is checked then AWC draining operation will end when “Aquarium max. draining time” time limit will be reached. In this case no alarm will be generated.
There are for types of ATO/AWC functions, they have priorities. Here are these priorities from highest to lowest:
- Automatic AWC;
- Automatic ATO;
- Manual AWC;
- Manual ATO.
Only one operation can be executed at the same time. If for example user will press button “Start manual ATO” when Automatic AWC operation is running then Manual ATO operation will not be executed because AWC operation is already active. If user will set the same time (hour) for Automatic AWC and Automatic ATO operations, only AWC operation will be executed because it has higher priority.
SimACo controller will check some setting and conditions before starting ATO or AWC operation. Operation will be started if all these settings and conditions for particular operation are met:
Manual ATO operation: |
|
Manual AWC operation: |
|
Automatic ATO operation: |
|
Automatic AWC operation: |
|
Manual and Automatic ATO functions has one operation: water fill. Manual and Automatic AWC functions have two operations: water draining and water fill. These active ATO/AWC operations will be stopped when any SimACo setting or condition for particular operation is met:
ATO fill operation: |
|
AWC draining operation: |
|
AWC fill operation: |
|
When AWC draining operation is stopped next AWC fill operation will be executed automatically.
Controller can be set to disconnect automatically aquarium equipment connected to channels Device #1 – Device #4 and Device #8 while AWC operations are active. This allows to disable equipment which can not work at low water level.
UPS battery energy saving. One channel is used for this function:
- Mains voltage sensor connected to the mains. Connect cable from the mains to the voltage sensor input terminals.
This function can be used power to the aquarium devices is supplied from Uninterruptible Power Supply (UPS). Such devices do not have big energy reserve when mains power is off. For this reason energy saving function allows to disconnect automatically non-critical aquarium equipment when power from the mains is lost. You can disable any output: channels LED1-LED4, 120-230V Device #1- Device #8 and DosingPump1- DosingPump4.
In order to use UPS battery energy saving function:
- Check checkboxes “Disable channels when SimACo is powered from UPS” in Angry Fish application. All checked outputs during blackout will be disabled immediately. They will be stopped also when fertilizers dosing, water change or top-off operations are active.
- SimACo must be powered from UPS. SimACo main board has internal mains voltage sensor. User must connect sensor inputs to the mains socket. SimACo continuously monitors mains voltage. When mains power is gone, SimACo and all aquarium equipment will be powered from the UPS. SimACo will detect blackout through mains voltage sensor.
UPS battery energy saving function has one alarm: “Mains voltage not present”.
This alarm will be activated when power from the mains is lost (SimACo and aquarium equipment is powered from UPS). Alarm will not be set if Mains voltage sensor channel is disabled. “Mains voltage not present” alarm is cleared automatically when power from the mains is restored.
UPS battery energy saving function will not work if Mains voltage sensor channel is disabled.
Filters flow rate monitoring.
To use flow sensors with SimACo external flow rate sensors bord is required. Short flow rate measuring characteristics:
- SimACo supports flow rates from 150L/h up to 3500l/h. This is the limits for the measured flow rate values by SimACo but not for the flow rate sensor itself.
- SimACo supports sensors with coefficients k from 4,8 to 11.
- Sensors must generate pulses in the output.
- Sensors must have three wires (“+”, “out”, “-“).
- Sensors must have npn or pnp transistor in the output. The output type must be selected by setting jumpers in the flow sensors board for each sensor.
- YF-S201 and YF-B1 sensors were tested but other sensors should work if the corresponds to the requirements listed above.
Aquarium filters manufacturers mostly declare flow rates for their products which are measured in ideal conditions. This means that they measure flow rate of the pump but not whole filter. In real conditions filters have filtering sponges, filtering media, hoses. These elements hardly reduces flow rate. So in real flow rate will be several times lower than declared. Filter flow rate monitoring helps to find out when filter is clogged and it is time to clean the filter.
To use flow sensors with SimACo external flow rate sensors board is required. Board has terminals for two flow rate sensors. They are numbered #1 and #2. Filters can be connected to any not used Device1 – Device8 channels. You must set the channels to which filters are connected manually. This must be done in the “120-230V devices” window, settings are named “Channel for filter #1” and “Channel for filter #2”. If you have only one filter, you can disable the second sensor. In the Angry Fish application flow rate coefficient k must be set for both sensors. This coefficient is provided by manufacturer. SimACo needs coefficient for flow rate calculation. Next you must set flow rate alarm limit for the sensors. When flow rate falls below this limit, alarm flow sensor #1 (#2) flow rate low will be generated. Alarm will be triggered only if filters are in ON mode. Also alarm will be disabled if OFF15 mode is active. When channels dedicated to the filters change their state from Off to On (filter is turned on) flow rate alarms are suspended for 20 seconds. This allows for the filters to reach full flow rate values. This is done to prevent false alarms. Also alarms will be suspended for 20 seconds after controller boot-up.
Both flow sensors are read in 15 seconds intervals.
Graphs
![]() |
![]() |
![]() |
![]() |
SimACo logs values from sensors and aquarium devices states. Values from sensors and equipment states are combined into five groups: water temperature, ambient temperature, water PH value, flow sensor #1 flow rate and flow sensor #2 flow rate.
- In water temperature group temperature from water temperature sensor (channel Water T0 sensor), cooling fan state (channel Device2) and heater state (channel Device4) are logged;
- in ambient temperature group temperature from ambient temperature sensor (channel Ambient T0 sensor) is logged;
- in PH group PH value from PH sensor (channel PH sensor), CO2 solenoid state (channel Device3) and lighting device (channels LED1-LED4 or Device1-Device8) state are logged. To monitor lighting device, user must select one actual channel to which lighting device is connected. Channel can be selected from the list: LED1-LED4, Device1-Device8 in Angry Fish General settings page.
- In flow sensor #1 group value from sensor #1 is logged. Sensor #1 measures flow rate of the filter #1.
- In flow sensor #2 group value from sensor #2 is logged. Sensor #2 measures flow rate of the filter #2.
Channels described above are logged always despite of mode they are set (Off, On…), enabled or disabled.
Each group has its own window in Angry Fish application where graph is plotted for every sensor/device assigned for that group. Such grouping allows user not only to see how water/ ambient parameters changes through time period but and how aquarium devices affects these parameters. For example in water temperature window you can see three graphs: water temperature, cooling fan state and heater state. Thus you can check how water temperature changes during time, how cooling fan and heater affects water temperature.
Graphs for the fan, heater, CO2 solenoid and lighting device are plotted only when they are in “On” state. This means that these graphs will have gaps where these devices were turned off.
If user selected to monitor LED1-LED4 channel for the lighting device graph: user can set LED output value from 0% to 100%, not only “On” or “Off”. In this case SimACo will log lighting device state as “On” when LED brightness will be from 1% to 100% (every value except 0%).
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:
1. SimACo uses internal 10 min timer; logs are done at 10 min interval;
2. Logging is done when any of Device2, Device3, Device4 or user selected lighting channel changes its state from “Off” to “On” and vice versa. In this case 10 min timer is reset and next logging will be done after 10 minutes if Devices will not change their state earlier.
2560 logs can be written to SimACo memory. So maximum about 17.7 days time interval can be logged. Also this interval size depends on how frequently Device2, Device3, Device4 or user selected lighting channel will switch their Off/On states during the day. When logs memory is full, oldest logs will be rewritten continuously with the new logs.
In order to view logs graph:
- Press the button “get available logs dates”. Angry Fish application will download available logs dates from SimACo controller. If there are less than two logs written to the memory, application will warn you about this.
- When the available dates are downloaded, select desired date.
- Press the button “Download logs data”. Logs will be downloaded for the selected date. You will need to download logs every time when you select different date. If there are less than two logs available for the selected date, application will warn you about this.
- Select desired graph type.
- Press the button “View graph”. New window will be opened with the plotted graph.
User can erase all logs using “Clear all logs” button. Erasing will take about 12 seconds.
If commands “Clear all logs” or “Download logs data” are active and time has come to write log (10 min timer has expired/ device output state has changed) then log will be written immediately after these two commands will end.
Graph control in Windows app: rotate mouse wheel to zoom in or zoom out the graph. Click on the graph to see exact time/data values in the selected point.
Alarms
You can view current active alarms in Angry Fish application’s Alarms page. This window is refreshed automatically. Application has bell icon in the top right corner: 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 is not read yet. Also you can view each alarm status in the LCD screen, Alarms settings menu. In the bottom right corner of LCD the “!” sign will be shown in the screen if one or more alarms are active. You can activate buzzer which will sound when 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 in controller using rotary encoder. If alarm in Angry Fish application’s Alarms page 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. If channel is disabled, alarms for this channel are also automatically disabled. Each alarm activation condition is described above in the functions descriptions. SimACo has 18 alarms total, below is the table with a list of all alarms:
- LED temperature level too high;
- LED temperature sensor fault;
- Water temperature level too low / high;
- Water temperature sensor fault;
- Ambient temperature sensor fault;
- Water PH level too low / high;
- PH sensor fault/calibration error;
- DosingPump1 fertilizer amount in container low;
- DosingPump2 fertilizer amount in container low;
- DosingPump3 fertilizer amount in container low;
- DosingPump4 fertilizer amount in container low;
- ATO reservoir water level low;
- AWC reservoir water level low;
- Wastewater reservoir water level high;
- ATO: max. fill time exceeded;
- AWC: max. draining time exceeded;
- AWC: max. fill time exceeded;
- Mains voltage not present;
- Flow sensor #1 flow rate low;
- Flow sensor #2 flow rate low.
Using “Fast control” function
You can access Fast control” function using rotary encoder and LCD. Using this function you can rapidly execute frequently used actions: go to the desired LCD menu or activate some functions. Four actions can be can be programmed for this function. “Fast control” actions can be accessed from the first level menu. Actions are programmed in the Angry fish application in the “General Settings” page. Here is a list of possible 28 actions:
- “None”,
- “Display date and time”,
- “Display alarms”,
- “Display LED temperature”,
- “Display water temperature”,
- “Display ambient temperature”,
- “Display water PH value”,
- “Display aquarium water level sensor state”,
- “Display rerservoir water level sensor state”,
- “Display mains voltage state”,
- “Activate Off15 mode for ch. Device #1”,
- “Activate Off15 mode for ch. Device #8”,
- Activate Off15 mode for ch. Device #1 and Device #8″,
- “Display fertilizer #1 amount left”,
- “Display fertilizer #2 amount left”,
- “Display fertilizer #3 amount left”,
- “Display fertilizer #4 amount left”,
- “Display fertilizer #1 manual dosing menu”,
- “Display fertilizer #2 manual dosing menu”,
- “Display fertilizer #3 manual dosing menu”,
- “Display fertilizer #4 manual dosing menu”,
- “Start to dose manually fertilizer #1”,
- “Start to dose manually fertilizer #2”,
- “Start to dose manually fertilizer #3”,
- “Start to dose manually fertilizer #4”,
- “Activate manual top-off”,
- “Display flow sensor #1 flow rate”,
- “Display flow sensor #2 flow rate”.
There are default programmed actions when you first time run controller: 1: display alarms menu; 2: activate Off15 mode for ch. Device #1; 3: view current aquarium water temperature; 4: view current aquarium water PH value.
How to update SimACo firmware
After firmware update old controller settings will be fully or partially restored automatically. This happens at first reboot to Main application after firmware programming. Because of firmware changes not all settings may be restored. So before firmware update write down current controller settings on a sheet of paper before updating firmware. After update check if these settings are OK. In order to update firmware you will need SimACo configurator v.4.X application. You can download it from the SimACo downloads page. This app has two numbers version, for example 4.1. Bootloader version also has two numbers. You will be allowed to update controller firmware only if first version number for SimACo configurator app and Bootloader is the same.
Firmware update actions are following:
- Switch SimACo to Bootloader, Firmware update mode.
- Connect USB cable between PC and SimACo. Controller must connect to your PC automatically. If connection is successful then the blue USB icon must appear in the SimACo configurator application’s top right corner.
- In the application press button “Choose hex file” and choose *.hex file with SimACo firmware. Select only version 4.X.X.X firmware files (version 4).
- Press the button “Program firmware” and firmware will be programmed to SimACo.
Programming will take about 20 – 30 seconds. If Angry Fish application during programming throws firmware update error, try to reconnect USB cable and restart SimACo configurator application. Then program firmware again. After programming you can press and hold encoder button for 10 sec to return to the Main application (freshly updated firmware). First time after update when controller will boot in to Main application a message in the LCD display will be shown: “Firmware updated. Do not disconnect the power. Press the encoder button”. Then the user must press the button. After that SimACo will restore settings. Do not disconnect the power after button press until you will see text in the display “Memory read/ write OK” Else you can corrupt the data in the constant EEPROM memory during settings restore operation.