Introduction: Automatic Pet Feeder

About: I am a student that's trying to make my way in the world of hardware hacking and engineering.

I am currently a senior at Centennial High School, so while I'm sitting at my desk working through the daily mountain of homework, my dog invariably comes down to bug me for food. It's not hard to feed her, and it only takes a few minutes, but it interrupts me. It can take quite a while to get back into the zone for my homework, and it's always annoying to need to interrupt my contemplation. So, since I learned some Fusion 360 over the summer, I sought to automate it. I am using it to feed my dog, though it would presumably work with a cat as well.


A note: I wasn't particularly prudent with my construction. I was mostly optimizing for being cheap and really easy to make with my limited resources and time. There is a lot of room for modification, and if you see a better way, you should probably take it. Perhaps leave a comment for others as well!

Supplies

First, a 3d printer and some suitable filament. All of the structural components are printed.

Second, a 12v motor driver. I'm using these cheap L298N ones off amazon (https://a.co/d/a1JJSoh ), though if you have one lying around, that'll probably work.

A 12v motor. Once again, I'm using a cheap amazon one (https://a.co/d/dvMKqWV ), but any extras you have will work.

An Arduino or arduino-compatible microcontroller. I used an Uno from amazon again (https://a.co/d/5rfCKjI ).

A 9V battery and an attachment like the one here (https://a.co/d/4c3jPku ). You can get away without one, but this made it a lot easier.

Assorted jumper cables.

Soldering is optional, but made some steps easier.

And hot glue. I really like it, even when it's not necessary.


Most of the parts were taken from my random parts bin, it should be relatively cheap.

Step 1: Print Things

All of the structural parts need to be printed. I just used some Matterhackers PLA because I've had good experiences with their filament. I would recommend slicing the funnel in vase/spiralize mode for speed and material consumption.

Step 2: Solder Leads to Motor

The motor needs to be connected to some leads, assuming it isn't already. I soldered the jumper wires, though it would probably be possible to strip the wires to their copper strands and wrap those around the motor terminals. I didn't get any photos here because it's hard to hold a camera while also soldering.

Step 3: Glue in Motor

The motor shaft must be attached to the food barrell. The way I did this was to just fill the hole in the barrel with as much hot glue as I could, then stick the shaft in. The hot glue hardened around the shaft and made sure it would stick, no shaft couplers required. The assembly should be snug and the barrel should not be able to turn on its own.

Step 4: Insert Motor

The motor and barrel must be mounted into the frame. I recommend doing this from the back, as my finger points. the motor should rest snugly on the clips, and needs to be glued in.

Step 5: Testing (optional)

This is where I test the assembly by just holding the two leads to a 12v or 9v battery. If the assembly works, the barrel should spin freely.

Step 6: Attach Funnel

The funnel now needs to be attached. This is pretty easy with some hot glue.

Step 7: Set Up and Test Wiring

This is where the wiring gets annoying.

First, you need to attach some wires to the 9v battery's leads. I did this by stripping the ends and putting the ends between the battery and its plug. The plug is mostly being used as an attachment point.

The ends of those leads then need to go into the 12V IN and GROUND of the driver. The 5V IN of the driver I attached to the 5V OUT of the arduino.

Connect leads from the 4, 5, 6, and 7 digital pins of the arduino to the control pins of the motor driver. Two of those are not necessary, but I included them for my own ease.

Then, attach the leads from the motor to the + and - motor terminals of the driver.

To test, upload the program I have provided. It is stupid simple, and just tries to turn the motor for a few seconds.

The arduino should be plugged into USB while this is running, though I suppose you could also use the 9V battery. That would, however, kill your battery lifespan.


To troubleshoot, I would recommend checking voltages first. Make sure the battery connections work, the arduino is outputting voltage, etc. After that, my code is probably suspect. Open it in arduinoIDE or another text editor and replace the LOWs with HIGHs and vice versa in the section of the loop. Also check that the pins in the code match your pins.

Step 8: Attach Electronics

The electronics should still be detached from the motor for testing. I glued them onto the outside of the funnel, but anywhere should work.

Step 9: Mounting

You will likely need to develop a special mount for your pet's food bowls. The barrel's output should be positioned above the food bowl, and the funnel needs to be high enough that your pet won't be able to get inside it. I have included an STL of a lid, you my want to print it. I would once again recommend spiralizing it.

Step 10: Done!

Done! You may need to alter the time in the arduino's code to get the amount of barrel spins you want, but that should be it. The arduino is set to spin once every 12 hours, plug it in at the time you want it to spin.