Box for Aquarium Dosing Pumps
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
This Box can be used for a DIY dosing pump system.
- Rating
- 5 / 5
- Likes
- 38
- Downloads
- 183
- Makes
- 3
- Views
- 1,683
- Reviews
- 2
Updated at source:
Model information
- Source
- Printables
- Category
- Pets
- License
- Creative Commons — Attribution — Noncommercial
I designed this box to use it for a DIY dosing pump.
I used this guide (https://www.joy-reef.com/en/dosing-pump-diy-part-1-hardware/) to buy all of the neccesary components.
The only problem was, that I did not want to have this ESP communicate to the outside world! Why does my Dosing Pump need an internet connection?
So i decided, that I would implement this dosing system using the open-source project ESPHome.
The yaml file of the code can be found as a .txt to download.
In the following is a broad guide for this project:
Materials and Costs:
Pumps: There are different versions of pump one could use, but i just picked up the cheapest ones from AliExpress for about 3,50€ each. I used the NKP-DC-S06B from Kamoer. They seem to have a decent enough accuracy of about 0.2ml which is enough for me.
ULN2003 Controller: I bought a bundle of such a controller with a stepper motor which costs about 2€. You do not need the Stepper Motor, but we only need the cable and the control board.
12V to 5V Step-Down-Module: Can be found for cheap anywhere. Costs about 1€.
ESP Microcontroller: I personally used the ESP32 C3 Supermini, but you may use any Wi-Fi enabled Microcontroller as long as it has at least four GPIO pins and is supported by ESPHome. If you choose to use another microcontroller do not forget to change this in the config file for ESPHome. Otherwise it will not work.
Total Costs: About 20-25€, which is 4x less then ready-made solutions.
Here is a picture of a wiring diagramm using three pumps made by Felipe Donadello.

(The fourth pump is wired the same, only into the fourth pin of the ULN2003)
When you have everything set up and have flashed your microcontroller using web.esphome.io or your locally hosted ESPHome instance, you should find the IP Adress of your ESP.
When you access this IP in a browser you should see a page with such a control interface:
Everything should be more or less self explanatory but here we go!
To calibrate the system I recommend following setup:
- Setup the dosing system in the aquarium so that the height difference does not increase or decrease after calibration. And use water for testing!
- Prefill the silicone tube with water for testing up to the top.
- The calibration works as follows: When pressing the button “Calibrate Pump 1” Pump 1 will activate for 10s. You must measure the amount of milliliters that is dispensed by catching the water in a small cup and using a scale or a syringe to measure the amount of water in the cup. I repeated this process three times per pump to get an decently accurate result.
- Input this result into Pump 1 Calibration Amount. IMPORTANT: This calibration amount is reset if the ESP ever restarts, so if you'd like you can code it into the config.
- Then you can set an amount of liquid you'd like to dispense and press Dispense Pump 1 Amount.
- Repeat for all other pumps.
FIY: I use this setup in combination with IOBroker. Something like HomeAssistant would also work. If you would like to use this setup as a standalone System which does the dosing itself, you could maybe send me a message and i could try to add that functionality.
Alternatively one could use the guide provided by joy-reef and implement his system.
FIY 2: I have not printed the Lid myself but you can try if you wish, i think it should fit, but i did not use it.
Thank you for reading this Guide and I hope i was able to help you build your own little system!
