SimACo – simple aquarium controller

SimACo – controller created for freshwater aquariums. It was designed to make aquarium owner’s life easier. I did not want to overload controller with not very useful functions like camera to watch your aquarium fish in real time. The implementation of really useful functions allowed me to make SimACo relatively cheap and simple. That is why i called it SimACo – Simple Aquarium Controller.
If you want to buy it, go here.

The heart of controller is Microchip PIC18 series microcontroller. I am working on SimACo several years, this project is the biggest of all projects i ever made. So much work has been done until now. Now this project is finally completed and tested but new functions are constantly added. I removed all bugs i could find.

Now i will describe how controller can be useful for aquarium hobbyist like me.

simaco-connection-diagram-v-1-4

Controller can do many repetitive aquarium maintenance jobs:

  • Control LED lighting, including full dimming control.
  • Control various high voltage devices, like water filter, air pump, CO2 valves, aquarium fluorescent or metal halide lights etc.
  • It can automatically fertilize aquarium with liquid fertilizers using peristaltic pumps.
  • Control the fan – designed to cool aquarium water in a hot summer days, speed can be adjusted automatically according to the aquarium temperature.
  • Control the heater – heater can be turned off/on automatically according to the aquarium temperature.
  • Aquarium water temperature can be measured and displayed with temperature sensor. System can also function and without the sensor, but in this case heater control, automatic fan speed control and temperature measurement functions will not work.
  • Auto top-off function: aquarium can be refilled with water automatically from the reservoir if aquarium water evaporates.
  • Also there is inbuilt alarm system: you will know when water temperature is too high or too low or liquid fertilizers goes to the end.
  • All LED’s, devices, fan, dosing pumps channels are controlled separately, they all can be controlled automatically or manually.

Additional features:

  • SimACo is controlled through WiFi – you can connect to your aquarium controller from any place of the world where is internet connection
  • All main controller settings are automatically saved to non-volatile memory so there is no need to restore manually every setting after battery replacement.
  • User can change LCD backlight brightness according the time of the day.
  • Big feature is bootloader. Bootloader allows to update microcontroller program (firmware) through WiFi using Angry Fish application, so the special programmer is not needed.

 

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

  1. Four channels for LED lighting control, named LED1-LED4;
  2. Four channels for 110V-230V devices control, named DEVICE1-DEVICE4;
  3. Four channels for peristaltic pumps control, named PUMP1-PUMP4;
  4. One channel for fan control, named FAN;
  5. One channel for temperature sensor connection, named SENSOR.

 

SimACo auto top-off board has such channels (physical outputs to the controlled devices):

  1. Two channels for float sensors, named RESERVOIR SENSOR and AQUARIUM SENSOR;
  2. One channel for water pump, named PUMP (in the auto top-off board).

SimACo has four fabric made boards: main board, WiFi connection board, buttons board and auto top-off board. Also other parts are needed: 12V power supply, high voltage supply cable from the mains, temperature sensor, 2×16 LCD display module, two float switches, dosing and auto top-off pump, USB cable and four flat cables with connectors. Main board is like motherboard in PC: all  other parts are connected to it. Digital temperature sensor is based on Dallas semiconductor chip.  LCD, buttons board and auto top-off board connects to the main board with flat cables. WiFi board is soldered directly into the main board. Here you can see all four boards separately:

  Main board v.1.0
  main board top  main board bottom
  WiFi board v1.0
   
  Buttons board v.1.0
buttons-board-bottom
  Auto top-off board v.1.0
auto_top_off_top  auto_top_off_bottom

SimACo is controlled in two ways: through PC or using 5 push-buttons in the controller keypad.  Using pushbuttons you will have access to the most frequently used settings. Full access to the all functions user can have through PC with Windows 7 or Windows 10 operating system. For first-time setup USB cable is needed to connect SimACo with PC. But for everyday usage SimACo connects to PC wirelessly through a WiFi module and no additional cables to connect with the computer are needed. So the PC, running Windows OS, is required. PC must have working WiFi module. If your PC does not have WiFi module, you can buy WiFi adapter. If you want to control your aquarium controller from anywhere you must have a router. With SimACo comes “Angry Fish” application designed to control all settings and functions.

Here you can see Angry Fish v.1.4 aquarium LED lighting control window:

angryfish-v-1-4-window

 

Several functions and settings can be accessed with 5 push-buttons. Information is displayed in the 16×2 light crystal display. You can edit settings with pushbuttons scrolling through the menu and editing required parameter. There is also implemented “Fast Control” function: with one long press on buttons UP, DOWN, SELECT or ENTER you can quickly activate selected action. These actions can be: showing desired menu on LCD or changing LED, DEVICE or FAN channels modes.

When power cable is removed, controller will keep counting time using internal 3V battery.

Now about each function separately:

 

LED lighting

In nowadays more and more aquariums have LED lighting – lighting with light emitting diodes. LEDs help to reduce current consumption, this reduces your bills for electricity. But there are more useful aspects of LEDs. With diodes you can far better select the spectrum of light than with fluorescent, incandescent or metal halide lamps. Aquarium plants mostly needs blue and red light. So aquarium owner can mount in to the aquarium hood white, red and blue LEDs. White LEDs will be for the general aquarium appearance, blue and red LEDs will be useful for the plants. And here comes one more good property of LED lighting: they can be dimmed. It means that LED brightness can be adjusted from 0 to 100 percents. With dimming you can achieve practically unlimited lighting possibilities. You can reduce or increase each color’s brightness and that way achieve more different colors. SimACo for that purpose has four separate channels. So four chains of LEDs with different colors can be connected to SimACo. With SimACo in Manual mode you can adjust each color’s brightness whenever you want. Auto mode has even bigger possibilities: you can in small steps increase or decrease brightness of each color during selected interval of time. For example: you woke up at 7:45 o’clock in the morning. You want to make such regimes: sunrise imitation – full brightness eight hours – sunset imitation – moonlight imitation during night. You can set channel of red LEDs to reduce their brightness from 8 hour (100% brightness) to 18 hour (50%). So you set such time intervals (press to enlarge):

EventsExample

Table shows possible LED lighting configuration. Automatic control of all devices is configured using events. Every event has its own start time, end time, starting brightness, ending brightness and channel number assigned to that event. There are 15 events dedicated for LED lighting. In example LED lighting uses 10 events. Every event can have only one channel number but the same channel can be controlled with several events. Events even may overlap each other. 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.
All LEDs must be connected to power supply through additional devices, called drivers. Driver supplies constant current to LEDs circuit. There are several types of drivers: without control, PWM controlled, DC voltage 0-10V controlled, controlled using resistance, controlled using triac and mixed type. SimACo generates 5V PWM signal for LEDs control, so driver must have inbuilt PWM control an accept 5V voltage level. SimACo is designed to work with cheap Mean Well LDD-XXXX series drivers.

LDD_drivers

 

According to the manufacturer, LDD series drivers have such features:

DC/DC step-down converter
Wide input voltage: 9 ~ 56VDC
Wide output LED string voltage: 2 ~ 52VDC
High efficiency up to 97%
Built-in EMI filter, comply with EN5 5015 and FCC part15 without additional input filter and capacitors
Built-in PWM and remote ON/OFF control
Protections: Short circuit / Over temperature
Cooling by free air convection
Compact size
Low cost, high reliability
Suitable for driving illumination LED
3 years warranty
Fully encapsulated with IP67 level for pin and wire style
Non-potted, optional conformal coating for SMD style

Additional power supply must be used, because these drivers are fed with direct current. Of course you can use drivers without control if they are designed to work directly from the mains voltage. But then you will lose ability to control led brightness, except they only can be switched OFF or ON. In this case you must connect drivers to DEVICE1-DEVICE4 channels.

 

Various aquarium devices

There are four channels four filters, pumps, lamps, heater, CO2 valve and other 230-120V devices control. All these channels have 3 modes: OFF, ON and AUTO. Channel DEVICE1 has additional OFF15 mode.  Channel DEVICE4 have additional HEATER CONTROL mode. First three modes are analogous to LED channels modes. Only exception is that events in AUTO mode do not have brightness settings. In the board DEVICES outputs connects to the various aquarium equipment through the mechanical relay contacts. The reason why electronic relay was not used is that electronic relay can not fully turn off device, and this can cause aquarium fluorescent lamps flickering, when they are in the OFF state.

Water pump

Channel DEVICE1 is designed for the water pump control. Selecting OFF15 mode SimACo disconnects the pump and then after 15 minutes pump will return to the previous state, wherever it was – OFF, ON or AUTO. This function is useful when you want to feed your fish because when you pour fish food in to the aquarium, pump can suck this food or pump’s water flow can toss food flakes all around.

Heater

DEVICE4 channel can control ordinary high voltage devices if mode is OFF ON or AUTO. But there is the fourth mode designed to control aquarium heater. User sets desired aquarium water temperature, SimACo turns heater off/on according to the water temperature. Most aquarium heaters comes with integrated temperature regulator. But the cheap heater regulators  frequently are quite inaccurate. This this the main reason why i decided to implement this function – with sensor you can have accurate temperature control. Also using temperature sensor you can avoid simultaneous heater and fan work when temperature approaches near to the temperature, set by user.

 

Fan and sensor

FAN channel is designed for aquarium cooling in hot summer days. Standard 12V two wires fan can be connected to SimaCo. SimACo generates 0-12V constant (non PWM) voltage in the FAN output, it means that the fan speed can be adjusted. SimACo has additional chip to control fan with constant voltage. There are two reasons for this: constant voltage 2 wires fans are cheaper than PWM controlled fans, besides fan controlled with PWM makes more noise. Typically 12V fan can achieve it’s lowest speed at 2,5-3V. At lower voltage it simply will stop spinning, despite of that low voltage, say 2V is still present. There are 4 FAN channel modes: OFF, ON, AUTO and SENSOR CONTROLLED. In the last function sensor speed is controlled fully automatically: SimACo measures water temperature and regulates fan speed if the temperature rises above preset limit. Controller can run and without temperature sensor, but then the last mode can not be used. AUTO mode is still valid, user can set different fan speeds at the different time using events. For example, in the evening and morning when the sun is not very hot speed can be set 50% and from 12 to 16 hour speed can be set at 100%.
The user may want to reduce fan speed (the noise too) at night. So there is also function to reduce fan speed ant night even in SENSOR CONTROLLED mode despite of that aquarium temperature is above preset limit.

 

Aquarium fertilizing

PUMP1-PUMP4 channels are designed to drive up to four 12V peristaltic pumps. Peristaltic pumps are small pumps, specially made to dose various liquids precisely. They perfectly fits for the fertilizers dosing. There are wide selection of them in Ebay.

Peristaltic_pump

Pumps must be connected to SimACo outputs PUMP1-PUMP4; containers with fertilizers must be used. At the beginning pump flow rate (ml/min), required daily dose amount (ml), pump start time (hours) must be set. User also can set fertilizer amount left in container. SimACo from flow rate and required dose amount automatically calculates time which is needed to spin the pumps. So you do not need to calculate time period manually. Fertilizing starts at the specified time. First spins the first pump. When it stops, then the second pump starts to spin, then the third and the fourth pump is activated last. When fertilizing is done, SimACo again automatically calculates amount of fertilizers, left in each container. User can set the alarming limit, when fertilizers amount is low.

Here you can see video how the automatic dosing works:

Auto top-off

Auto top-off module (ATO) comes in separate board. ATO – this is automatic aquarium refill with water if aquarium water evaporated. Especially this occurs in the hot summer days when aquarium does not have the hood. In this case water must be refilled daily or at least weakly. This boring job can be automated with SimACo.
ATO mounting schematicsHow it is done? You must have separate reservoir from where reservoir pump will pump the water in to the aquarium. Two float sensors (switches) and one pump is used with ATO module. Aquarium sensor will track aquarium water level. Reservoir sensor will track reservoir water level and will prevent reservoir’s pump from running dry. Many pumps can run only fully immersed in water else pump can be overheated. 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. Reservoir sensor is in the HIGH position (there are enough water),
  3. ATO module is enabled.

If any of these conditions are not met pump will not run and will immediately stop if this occurs when pump is running. Also user can set max. time value (0,5 min to 25 min) during which aquarium must be refilled. This is needed to protect your aquarium from large overfilling in case if aquarium sensor started to malfunction. If aquarium sensor is in low position but the fill time limit has expired then controller will stop the pump. If everything goes OK pump will stop when aquarium sensor will rise.

Alarms system

There are several alarms, they alerts the user that something is going wrong. Alarms are:
aquarium temperature too low,
aquarium temperature to high,
temperature sensor fault,
fertilizers dose set is too low (dosing inaccuracy can occur, all four channels are monitored separately),
fertilizers amount left in container is low (all four channels monitored separately),
auto top-off: reservoir water level low,
auto top-off: maximum aquarium fill time expired (protection against aquarium overfill),
System fault – SimACo restarted (microcontroller program has stuck).
If any alarm is active, buzzer will sound. User can check for active alarms in controller LCD or in PC, connected to controller. Time, when buzzer will sound, can be selected as user wants. Also buzzer can be turned off permanently.

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


This page will be continuously updated after every change to aquarium controller. I will be very grateful if you will write your opinion about this project in the comment section below.

10 replies on “SimACo – simple aquarium controller”

  1. Jonas says:

    Atsiprašau kad komentuoju lietuviškai 🙂 Seniai stebiu jūsų projektus ir kai ką esu pasigaminęs. Matau gimsta stebuklingas prietaisas akvariumistams, labai palengvinsiantis akvariumų prižiūrą. Ar šis projektas bus komercinis, ar pardavinėsite galutinį prietaisą? Ar taip pat kaip ir senesnių projektų pasidalinsit schemomis, failais ir patarimais? 🙂

  2. automateaqua says:

    Nieko baisaus, tegu komentarų skiltis būna daugiakalbė:). Akvariumo valdiklis jau eina į pabaigą, trūksta tik išbandyti jį realiomis sąlygomis, tai yra sumontuoti į dėžutę ir prijungti akvariumo įrangą. Noriu kad valdiklis būtų kaip reikiant išbandytas. Greičiausiai tai bus komercinis projektas, tokiu atveju schemų ir valdiklio programos nebus pateikta. Dabar realiausia jo kaina būtų apie 60 eurų jau pilnai sulituotų plokščių su visomis detalėmis.

  3. Jonas says:

    Labai gerai. Tai įrašykite mane į norinčiųjų įsigyti sąrašą. 🙂

  4. Bjørn says:

    This is a very interesting project, and i would love to get one myself.
    If you do decide to upgrade to wifi some day, would it require a new motherboard, or just to replace the bluetooth module ?
    Any chance of remote access or monitoring ?
    Do you plan to make a Mac OS X version of Angry Fish ?

    Thanks
    Bjørn, Denmark

    • automateaqua says:

      Thanks for comment. Now i am working on additional auto top-off module. After this i am planning to do SimACo control through ESP8266 Wifi module. Yes, motherboard is designed in such way that wifi will work without any changes to motherboard. Just simply remove bluetooth board and insert wifi board.
      About Mac OS- i am not planning to do application for it. But i am thinking about SimACo control from the Android devices in the future.

  5. Mahmoud Taher says:

    Very nice ..
    What about monitoring Ammonia, Nitrite & PH levels.

    • automateaqua says:

      I have plans to implement PH level measuring in the future. But i do not have plans to measure Ammonia and Nitrite levels. Now my nearest plans are to do SimACo control through WiFi and to create Android application.

  6. mathiu says:

    Greetings from Greece. You made perfect work with SimACo project for our hobby, keep it up! im wondering, you sell fully soldered controller for 70€ including
    three fully soldered and tested boards: main board, buttons board and bluetooth board;
    2×16 LCD module;
    DS18B20 temperature sensor;
    3V CR2032 battery;
    Three flat cable connectors for the LCD and buttons board
    what is the price for Auto top-off board v.1.0?
    the DS18B20 temperature sensor; is waterproof?
    the Angry Fish v.1.1.0.0 app is free?i pay once and not in every update?
    and last if you know the shipping cost to Greece?any new updates? etc PH level, wifi…
    Thank you for your time
    I look forward to receiving your reply

  7. automateaqua says:

    hello mathiu,
    yes, controller’s cost with bluetooth board is 70€. But now i have stopped selling controller because i am working hardly on WiFi board. Maybe about two weeks left until finish, and i will be able to sell controller with Wifi control. That means that user will have ability to see and control aquarium parameters from any place in the world. WiFi module has bigger cost than bluetooth, so cost will be no 70€ anymore (more expensive). So i will sell controller with Wifi and ATO board for about 95€ (with cables, temp. sensor, buttons board – all as you have described), without ATO – maybe 80€.
    When i will finish WiFi module i am planning to do water PH metering if i will have success with cheap PH sensors from Ebay. I want to keep controller price low because not everybody can to buy simple aquarium equipment witch cost hundreds and thousands dollars.
    Angry Fish application is completely free, but i can not ensure you that every application version will be compatible with the current controller hardware.
    Temperature sensor is completely waterproof, those from Ebay are not waterproof and immune to EMI spikes. shipping to Greece is not expensive, if you can wait about two weeks- 5Eur, shipping with a plane-13Eur.

  8. mathiu says:

    Thank you sir for your instant reply and for your effort to our hobby. You made hard work to reach this product.congratulations for your module! I will wait for the wifi module and if there is any bugs to be solved and then make an order from you. The price for all this is perfect!

Leave a Reply

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