Introduction: Precise Micro-Dose Automatic Fish Feeder Using a Screw Conveyor(Arduino Nano)

Commercial automatic fish feeders often struggle with delivering very small and consistent amounts of food—especially for tiny ornamental fish like guppies. Many feeders rely on rotation-based dispensing mechanisms that vary depending on food size, humidity, or pellet shape.

To solve this problem, I designed a micro-dosing automatic fish feeder that uses a screw conveyor mechanism to push out food with far greater consistency.

This isn’t a new technology, but applying a screw conveyor to a compact home aquarium feeder is something I couldn’t find commercially. This design allows stable, repeatable feeding even at extremely small quantities.

In this project, you will laser-cut the acrylic frame using the included SVG files, and 3D print the injection cylinder and screw conveyor using the provided STL files. After that, you will assemble the unit using acrylic adhesive or a strong bonding agent.

Supplies

Tools

  1. Soldering iron
  2. Hot glue gun
  3. Utility knife
  4. Instant adhesive (501)
  5. Double-sided tape
  6. Foam double-sided tape

Electronics

  1. Arduino Nano
  2. OLED display (128×64)
  3. 12×12x11 tactile switches × 2
  4. 0.1 mm coil wire
  5. 28BYJ-48 stepper motor with driver

Hardware

  1. M4 bolts: 20 mm × 2
  2. M4 bolts: 10 mm × 2
  3. M4 nuts × 2
  4. M4 washers × 10
  5. Stainless steel C-clamp

Materials

  1. 3 mm black acrylic
  2. 5 mm black EVA foam

Step 1: Laser Cutting & 3D Printing

Files used in this step:

  1. Acrylic laser-cut parts: (feedcare_box.svg)
  2. Eva foam laser-cut parts: (feedbox_ele_house.svg, feedbox_ele_house_text.svg)
  3. 3D printed parts (injection cylinder & screw conveyor): (included STL files)

Materials:

  1. 3 mm clear acrylic sheet
  2. 5 mm Eva foam sheet

Instructions:

  1. Import the provided SVG files into your laser cutter software.
  2. Cut the acrylic parts using both 3 mm sheets according to the file’s thickness labels.
  3. Load the STL files into your 3D printer slicer.
  4. Print the screw conveyor and the injection cylinder. PLA, PETG, or ABS will all work; choose what suits your setup.
  5. After printing, clean any burrs and ensure the screw rotates smoothly inside the cylinder.

Step 2: Assembly

Instructions:

  1. Lay out all acrylic pieces in front of you before bonding.
  2. Follow the assembly order shown in tinkercad—this is important to avoid mistakes.
  3. Use acrylic cement or a strong adhesive to bond the acrylic frame.
  4. Install the 3D-printed injection cylinder into the frame.
  5. Insert the screw conveyor and check that it rotates freely.
  6. Allow the adhesive to fully cure before mounting the feeder or attaching electronics.

FeedCare

Step 3: Electronics Layout & Wiring

Arrange all electronic components according to the reference wiring diagram and photos.

Mount the Arduino Nano, OLED 128×64 display, two 12×12 tactile switches, and the 28BYJ-48 stepper motor driver in their designated positions inside the acrylic frame.

For wiring, use 0.1 mm coil wire for all signal and control connections to keep the layout clean and compact.

Only the 5V power line for the stepper motor should use a thicker standard wire for safety and stable current supply.

Carefully route the wires as shown in the diagrams and solder each connection securely. After finishing, double-check continuity and ensure the screw conveyor rotates smoothly when powered.

Step 4: Install the Electronics Into the FeedCare Box & Test

Place all completed electronic modules into the FeedCare enclosure following the reference images and video.

Secure the Arduino Nano, OLED display, tactile switches, and stepper motor driver in their designated mounting areas inside the box. Make sure the wiring is neatly arranged so that nothing interferes with the rotation of the screw conveyor.

Once everything is positioned, connect the stepper motor to the cylinder assembly and ensure the shaft turns freely.

Power on the device and verify the following:

  1. The OLED boots correctly
  2. The buttons respond as expected
  3. The screw conveyor rotates smoothly
  4. The feeding amount changes according to your settings

Use the reference material to confirm the final arrangement and complete any minor adjustments. After a successful test, close the enclosure and your feedcare unit is ready for use.

Step 5: Install the C-Clamp, Add a Desiccant Pack, Mount on Your Aquarium & Run a Feeding Test

Attach the stainless steel C-clamp to the bottom of the feeder unit and secure it firmly to the edge of your aquarium. Make sure the screw conveyor outlet is positioned directly above the feeding area.

Before closing the enclosure, place a small desiccant pack inside the FeedCare box.

This helps prevent moisture from entering the food chamber and keeps the screw conveyor operating smoothly, especially in humid environments.

Once installed, power on the unit and run a feeding test.

For testing, the firmware has been temporarily modified so that 1 hour is reduced to 10 seconds, allowing quick verification of the feeding cycle.

When switching to real use, simply change one numeric value in the code back to the correct 1-hour interval:

85 | intervalMillis = (unsigned long)viewInter * 3600000UL;

After switching back to the correct interval, upload the code again, mount the feeder, and enjoy stable, precise micro-dosing for your fish.