• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 1
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 2
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 3
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 4
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 5
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 6
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 7
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 8
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Image 9
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 1
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 2
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 3
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 4
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 5
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 6
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 7
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 8
Aquarium ESPHome Dosing Pump - With Mount 3D Printer File Thumbnail 9

Aquarium ESPHome Dosing Pump - With Mount

JagerBombastic avatarJagerBombastic

December 6, 2025

printables-icon
DescriptionCommentsTags

Description

I run most of my planted aquarium setup through Home Assistant using ESPHome devices, and since I’m a bit forgetful with daily dosing, I wanted to add an automated dosing pump.

Using fairly standard parts, I put this together—and it has been working great so far!


Parts List

1 × Seeed Studio XIAO ESP32C3
https://www.unmannedtechshop.co.uk/product/seeed-xiao-esp32c3/

1 × Peristaltic Pump (12V, Type C, 32×23 mm motor)
https://amzn.eu/d/i1QkSs3

1 × Voltage Boost PCB (to supply 12 V to the pump motor)
https://amzn.eu/d/eJ5knap

1 × Switch Circuit
(I built my own, but something like this should work)
https://amzn.eu/d/i6b5pwy

8 × M3×12 mm bolts
(I prefer low-profile Torx cap heads)
https://www.accu.co.uk/torx-low-cap-head-screws/14457-SHCL-M3-12-A2

2 × M3 nuts
(for securing the pump)

1 × USB-C power supply
(Any good quality supply should work—this is the one I used)
https://amzn.eu/d/9RMtsJO

1 × Silicone tubing (3 mm ID × 5 mm OD)
https://amzn.eu/d/gblbX2M

Also check out my matching pipe holder for mounting the tube on the tank:
https://www.printables.com/model/907914-aquarium-dosing-pump-pipe-clip


Assembly Notes

To insert the peristaltic pump into the printed case, you’ll need to flex the main body slightly so the pump’s mounting “wings” can slide past the screw posts at the bottom. It’s a small design oversight, but everything fits securely once in place.

I limited the ESPHome configuration so the pump can only run for a maximum of 3 seconds at a time—this gives me roughly 6 ml of liquid in my setup. Then I use a Home Assistant automation that turns on CO₂ and triggers the nutrient pump once each morning.


ESPHome Code (for reference)

esphome:
  name: fish-tank-nutrients-dispenser
  friendly_name: Fish Tank Nutrients Dispenser

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "B89UpB2duqrRGILX8Nc5XV25tLXL+TAE34eO+ZEVovg="

ota:
  password: "76a8d0d8e9291837d1c8f8c7d0a70265"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Fish-Tank-Nutrients-Dispenser"
    password: "choose your own ;)"

captive_portal:

switch:
  - platform: gpio
    pin: 2
    id: "nutrients_dispenser"
    name: "Nutrients Dispenser"
    on_turn_on:
    - delay: 3000ms
    - switch.turn_off: nutrients_dispenser

Also I added a 300uF electrolytic capacitor to the 12v output of the boost circuit so the inrush of the pump starting didn't knock out the ESP32.

License:

Creative Commons — Attribution

Related Models

Cable Corners... keep cables in corners! preview image

Cable Corners... keep cables in corners!

muzz64 profile image

muzz64

30,948

Headset Hanger 2.0 preview image

Headset Hanger 2.0

RMTB profile image

RMTB

16,679

PetsTags preview image

PetsTags

Dominik profile image

Dominik

1,116

Universal Filament Filter and Lubricator preview image

Universal Filament Filter and Lubricator

CreativeTools profile image

CreativeTools

26,087

3D4U by Miele Coffee Clip preview image

3D4U by Miele Coffee Clip

3D4U powered by Miele profile image

3D4U powered by Miele

8,593

Simple Customizable Key tags  preview image

Simple Customizable Key tags

constantinost profile image

constantinost

158

SHARKZ... Fun Multipurpose Clips / Holders / Pegs with moving jaws that bite! preview image

SHARKZ... Fun Multipurpose Clips / Holders / Pegs with moving jaws that bite!

muzz64 profile image

muzz64

24,643

Mechanical wall clock preview image

Mechanical wall clock

Harald Andersson profile image

Harald Andersson

6,950