Aquarium Controller II - SlaveController for Fertilizer Pumps




Introduction: Aquarium Controller II - SlaveController for Fertilizer Pumps

Did you read my instructions for the Aquarium Controller?

Ok, this is a continuation and can not be used separately. (only in changed form)

I would like to show you how I have automated the nutrient supply of my aquarium plants.

I use liquid fertilizers for my aquariums.

• Daily in the morning 8ml NPK fertilizer
• 1 time a week 8ml iron fertilizer
• 1 time a week 15ml iron fertilizer
• 1 time a week 8ml N fertilizer

and I wanted to automate this.

On Ebay I found small pumps, which are operated with 12V, I bought 3 pieces.

For each fertilizer I have now a pump and now I need a controller, which takes the dosage. But my AquaController-Arduino does not have enough outputs. In addition I need some inputs for manual control, too. After the water change, for example.

You can use a bigger Arduino or you use another Arduino that communicates with the Aquarium Controller. This is my way to realize it, because you can link a lot of Arduinos and have a lot of separate controller for a lot of things ;)

I'll use an Arduino Mini Pro. Cheap and small. I bought 5 pieces for 12 € (about 12 dollars) This is enough for other projects. ;) But you can use any other.

The Mini Pro will communicate with the Arduino Uno. I'll use I2C for that. So I can handle a lot of inputs and outputs with only a few wires. The Uno will tell the Mini Pro when fertilization should be started. Then the Mini Pro controls the amount of fertilizer and prompts some buttons to manually add fertilizer.

One of my most important questions was, should I set values with an keyboard to be parameterizable? My answer was NO.

I think all the parameters are empirical values that do not change constantly. So I do not need additional keyboards, displays and program parts. The rare changes I make, I make them in the program and reload it. This is easier and cheaper.

Update: Sometimes the communication between Master and Slave fails. I upload a new slave-version, with a little bugfix.

Update: New Sketch-Version on Step3. Improvements & Bug fixes

Update: New Sketch-Version on Step3. Improvements & Bug fixes. The quantity of fertilizer are now stored in the Master, not in the slave. Some changes to the TFT. Master & slave can handle 4 pumps. And some other little things ;)

Step 1: What You Will Need

- 1x Arduino Mini Pro (or Arduino Nano, but more expensive)

- 1x Prototype-Shield*

- 3x Nutrient pumps (see photos above)

- 3x Relayboards (or 1 with 3 relays on it ;)

- 1x Connection cable (between AquaController and SlaveController)

- 1x Mounting board (for pumps and bottles)

- 1x Power supply 12V 5-10A (the same as for AquaController?!)

- 1x Power supply 5V (the same as for AquaController?!)

- 1x A case you like

- wires, cables, ribbon cable*

- screwing connectors*

- male & female plug connectors*

- some tools

You can get all parts on eBay, for example.

Step 2: External Pump Control

My aquarium controller is located in the visible area near the aquarium, but the slave-controller is located near the fertilizer bottles, e.g. in the closet. This is why I use Master and Slave.

First I solder the Arduino on pins. Corresponding sockets I solder on a circuit board. On this board I solder Pins for the keyboard (4 buttons for manual re-fertilization) and pins for the master-slave connection, too.

I have additional small buttons soldered, if I would not use a keyboard. But these are not required.

Lastly, I soldered the pins for the relays and connected the relays, the keyboard and the connection between master and slave.

The pumps I have connected via the relays to the 12V supply. You can see the details on the breadboard picture.

The OLED display I have left out. Instead, I've changed the AquaController display. So I have everything at a glance. Some old values were unnecessary and I exchanged them. Now it looks better ;)

And I still have space for the feed automat data. (This is the next project ;)

Update: To reduce the voltage from 12V to 6-9V, you can simply use voltage regulators. These transform too much tension (Voltage) into heat. That's why I use other electronic circuits. (see photo above) They work like a PWM and reduce the voltage by pulse width modulation. But you can use, what you want ;)

Step 3: Arduino Sketch

The following functions are possible:

• Different fertilizers will be added automatically to different quantities on different days.
• Fertilizer can be manually added after a water change, for example
• The daily doses will be displayed on the AquaContoller
• Every day at midnight, the quantity display will be reset.

The slave will therefore make independent dosages and receive instructions from the master.

The slave manages the amount of fertilizer and informs the master on request.

A new programming for the AquaController is required for the operation of the fertilizer controller. See file above!

I have used simple Arduino programming language again and the sketch is available as a file. Comments are in German again. Sorry. :/

If you have any questions, just ask me.;)

Be the First to Share


    • Tinkercad to Fusion 360 Challenge

      Tinkercad to Fusion 360 Challenge
    • Remote Control Contest

      Remote Control Contest
    • Leather Challenge

      Leather Challenge



    5 years ago

    how to change time on off led as 7:00> 18:00 thanks


    Reply 5 years ago


    in the #define section are some definitions about daytime.

    Set: #define morgens 10 TO #define morgens 7

    Set #define abends 20 TO #define abends 18

    If you don't want a break in the middle of the day:

    OLD: if(((hour() >= morgens) && (hour() < mittags)) && (W1 < W1_Wert100)) W1_DimAn(W1_Wert100,DELAY5); // 10 Uhr & Licht noch aus ?

    NEW: if((hour() >= morgens) && (W1 < W1_Wert100)) W1_DimAn(W1_Wert100,DELAY5); // 10 Uhr & Licht noch aus ?

    OLD: if(((hour() >= endeMittags) && (hour() < abends)) && (W1 < W1_Wert100)) W1_DimAn(W1_Wert100,DELAY5); // 15 Uhr & Licht noch aus ?

    NEW: delete this whole line

    I hope I could help you.


    5 years ago

    What do you mean with:

    "The OLED display I have left out. Instead, I've changed the AquaController display."

    What aquacontrolelr display? isnt that an OLED that I see?


    Reply 5 years ago


    at my first ideas i wanted to use an OLED.

    For those who want to operate the controller as a stand alone, I have left the OLED in the schematic drawing.

    During final construction, I omitted the OLED and use the display of the MasterController instead. (TFT 1.8")

    Is this the answer you want to know? (sorry I'm german and my english is not so good)


    Reply 5 years ago

    Ich verstehe es volkommen, ganz deutlich. Schönes Projekt. Danke. Deines

    Englisch genügt :-)


    Reply 5 years ago

    Danke, sehr freundlich ;)

    Thanks, very friendly ;)


    Reply 5 years ago


    This is a _slaveController_. See my 1st post.

    hope it helps


    5 years ago

    Can you post the part numbers and description for the pumps please?


    Reply 5 years ago


    The Part-No 351752818084
    Manufacturer Gemke Technik GmbH Germany

    Technische Daten:
    Fördermenge: ca. 2,4l/h - 40ml/min
    Förderschlauch: SILIKON
    Schlauchanschluss: 4mm (ID)
    Rotor: 3 Rollen verstärkt
    Saughöhe: >1,5m
    max. Druck: ca. 1bar (10m Förderhöhe)
    Spannungsversorgung: 12V DC
    Leistungsaufnahme: 180mA
    Installation: Gehäuseeinbau
    Abmessungen: 55x50x42mm (BxHxT)
    Gewicht: ca. 70g

    OEM-Schlauchpumpe AP-40
    Universalschlauchpumpe 2,4l/h - 12V DC
    Universelle Einbauschlauchpumpe
    12V DC Getriebemotor
    Pumpe fördert bei 9V DC ca. 1,9 l/h (32ml/min), bzw. bei 6V DC ca. 1,2 l/h (20ml/min).
    SIKLIKON-Schlauch mit guter chemischer (bitte im Zweifelsfall anrufen!)
    Ideal zum Einbau in Gehäuse und in Kombination mit vorhandener Messtechnik
    Schlauchpumpe kann auch als Ersatzpumpe für diverse Dosiersysteme verwendet werden.
    Trockenlaufsicher und selbstansaugend

    I hope I could help.
    You can findet it on ebay.


    Reply 5 years ago

    Thanks. Yes, I was able to find suitable pumps by searching DC dosing pump.


    5 years ago

    Wonderous! I'm interested in implementing a similar idea! Thank you for this contribution!


    Reply 5 years ago

    you're welcome ;)