Auger-based Cat Feeder

by kitlaan, published

Auger-based Cat Feeder by kitlaan Aug 10, 2012

Featured Thing!

11 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps



Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

76871Views 14833Downloads Found in Pets


Automated cat feeder.

Using tunell's idea as a starting point, I documented/experimented with different designs. This is the result of many trials...

This is semi-parametric; mostly hardcoded numbers all over the place as I tweaked and got lazier.


See the prototype in action (http://www.youtube.com/watch?v=V7uvNemqq40)!
See the running machine (http://www.youtube.com/watch?v=D2iBL80wffA)!

A simple/slapdash MDF housing to hold it all. The tube is held in by friction at the moment...

This relies on the Thread_Library (http://www.thingiverse.com/thing:8793).


  • Continuous-rotation servo (sparkfun ROB-09347).
  • 1.5" PVC T-joint tubing (chop ~1cm from one side).
  • PVC solvent or acetone.
  • Container to hold kibble (currently an old IKEA container).
  • Arduino for control logic.
  • Screws/etc.
  • 12V 0.5A power supply. (0.3A didn't supply enough power to drive both the servo and arduino, so it kept resetting and constantly feeding the cats :)


  1. Print the "tubemount". It should be snug, but if it is too tight, sand until it fits the tube.
  2. Print "screwplate". Glue the halves together and sand the seams smooth.
  3. Check the fit of the "screw", "tubemount", and tubing. The "screw" should be able to rotate freely without binding against the "tubemount" when it is inserted into the tube.
  4. If your mounting screws are too long, print the "servoshim".
  5. Screw the servo to the "tubemount" (and "servoshim") with the servo rubber grommets and servo brass fitting in place (wide part of fitting flush against the "tubemount"). Make sure the servo is oriented so the axis is centered.
  6. Trim/sand the servo horn so that it is flush with the edges of the "screw" base. Attach the servo horn to the servo.
  7. Attach the servo horn (X-shaped) to the "screw". If you can't reach the holes, apply power and rotate the servo; there should be enough of a gap in the "tubemount" to reach. (I used #2 brass wood screws.)

  8. Programming (see "feeder.ino"). I have it written to feed ~0.5 cup every 8 hours, with a button press allowing intermediate feeding. (Eventually I'll add RFID sensing capability.)
  9. Attach kibble container in some manner (tape, platform, print a mount, etc).
  10. Make sure everything works! Then if you're adventurous, permanently affix the various pieces.
  11. Construct a housing.
  12. Get the cats used to it.


  • You might be able to combine the two "screw" halves if you have a large print surface.
  • The 1.5" T-junction is recommended. The smaller (1.0" junction) type will cause kibble to jam in the container hole. The larger size seems to allow gravity to do its job.
  • When driving the servo, you may want to insert reversals at intervals to prevent stressing the servo if kibble gets jammed between the auger and tube.
  • Your servo drive rate(s) may be different; I experimented much.
  • KillAWatt says it's using 2W (0.14A at idle, 0.16A wile running).
  • You may want a spout on the end (http://www.thingiverse.com/thing:28483)

To Modify:

  1. Tweak "auger.scad"; yes, it should have been parametric...
  2. Export just auger() to "auger.stl".
  3. Export auger_import(), drivemount() as "auger_screw.stl".
  4. Export tubemount() as "auger_tubemount.stl".
  5. Tweak "augerslice.scad" to generate "auger_screwplate.stl".

More from Pets

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for clients all over the world. We offer free and instant access to comparati...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

I'm having a problem with this model. I made this using 2 inch PVC (and I did resize the auger). While its running, it occasionally (every 2 full turns or so) it seems to jam. The auto reverse fixes it some of the time, but quite often, it just seizes all together until either I help it along, or it finally gets it self free (which often takes quite a while). The auger is relatively comfortably fit inside the pipe, but there is a little bit of friction when I manually turned it by itself. I have no idea what could be going wrong!!

I love this design, but I have two questions:

  1. If I had a funnel connected between the container and PVC pipe, would it cause the kibble to all try to get into the auger at the same time and jam. (I'm asking this because I noticed your version does not have a funnel.)

  2. Do I have to use a servo, or can I use this normal stepper motor that I already have: ( https://www.ebay.com/itm/5V-Stepper-Motor-28BYJ-48-With-Drive-Test-Module-Board-ULN2003-5-Line-4-Phase-/311567770632?hash=item488ae2e408:g:uSgAAOSwYIxX4ex5 ).

The stepper motor is better -- more torque. You'll have to figure your own way of mounting the auger to the motor shaft though.

Adding a funnel should be fine.

I'm sure I can modify your design to fit my needs. Thanks for answering!

Ordered your parts from one of the printing houses linked here. Thanks for doing this. My daughter needed an "engineering" project for 8th grade and she wanted to do a auto feeder. I looked at a lot of designs and the auger seems one of the most robust. Yeah I know its her project but I'm an engineer so I can't resist "helping"..That said, do you see much clumping where food doesn't drop into the auger? I know it depends a lot on the food type so I told her she should pick a round-ish cat food kibble.
I'm a software developer so the embedded code appears fairly trivial but I had another question. Why do you drive the auger in reverse during each cycle? Is that an "anti-food-jam" approach?

The triangular kibble does have a tendency to jam. The more rounded/ovular kind works well.

Since the motor isn't strong enough to push through jammed kibble, reversing slightly tended to loosen it sufficiently to knock things loose.

This might become an airsoft BB dispenser to make it even easier to demonstrate to her class! :)

That would definitely be a lot less messy. Kibble dust is oh so pleasant to clean...

Hey kitlaan, can you please give a link what kind of PVC tubing you are using?

I got http://www.homedepot.com/p/4-in-PVC-DWV-Hub-x-Hub-x-Hub-Sanitary-Tee-C4811HD4/100343303 which kinda fit, but still I had to fixate it with tape/glue/ropes

No sticker. I measured the ID, and this matches the closest.


Comments deleted.

IIRC, it was a regular T junction. I'll see if it still has the sticker.

А кот то есть? :) где кот??

Is it just me , when i printed out the auger diameter was approximately 46mm but the instruction calls for a 1.5 inch diameter pipe which is around 38mm.

Confirming this as well, it's larger than 1.5" (closer to ~1.8). Make sure you resize the auger down to whatever pipe diameter you're using.

Confirming this

Hello! I need some thing like this, but slightly modified, may be you have the Autocad file of your auger_screw?
Thank you!

Every single time I see this item pop-up, I read it as "Anger-based Cat Feeder"...

Comments deleted.


I'm looking to make this design for my own pet feeder. Could you tell me what material you printed on and how did you glue the two halves of the auger?

Thank you!

I printed using ABS plastic, and as such acetone is sufficient to glue the two halves together. If you're using PLA, I believe acrylic cement works pretty well.

Hey kitlaan -- I have a question about the pipe used. In one picture, it looks like a regular straight pipe section. In another it's a T connector. I've found T connectors at Home Depot, but they all have a little ridge inside that prevents the screw from fitting in. So, where did you get yours that didn't have the ridge?

I believe I got mine at Lowes; however, I think it does have the ridge too. I believe I sanded the auger very slightly to make it a tight fit... though it sounds like yours is much oversized.

I'd like to build the cat feeder but do you have the parts list and wiring diagram for the Arduino, and what board do you have on top of the setup as seen on the photo.

The board as pictured is a Arduino UNO w/ a protoshield (for testing). The final product ended up with a digispark (as I had one lying around), but I've also gotten it working on an adafruit trinket too. Basically, the code doesn't take up much space, or need many pins...

You'll need:

  • servo (sparkfun ROB-09347)
  • 12V 5A power supply
  • button + resistor
  • LED + resistor


  • servo signal line went to pin-9.
  • button (active low) to pin-2.
  • led (active high) to pin-13.

Or at least, that's what it looks like (and the code implies). Can't seem to find my notes anymore...

Do you have some close up pictures of the current setup? and what kind of resistors are you using?

I changed to a 12v 5A supply and all seems fine.

finished my build went with an Uno since I had one. everything tested just fine. but then twice after 12 hours or so, (not around when it's happened it just stays running) am just starting to look at the sketch but any thought as to what i am doing wrong? thanks

Are you supplying enough power? On mine, sometimes the servo drew enough power (especially when trying to crank past a jammed piece of kibble) to cause it to self-reset.
What symptoms are you seeing?

Power is 12v 7000mA. As far as i can tell it just keeps running. Servo continues to cycle forward the reverse but no end to feed step.

if you're using the original code, delete the RFID handler (given that it's dead code). So that leaves just the timer or button trigger. If your button is acting weird (plus it looks like I never coded proper debounce logic), then it could trigger.
I'd suggest taking a look at the digi version of the code, and porting it back to the UNO version. Or writing your own based on the same concept -- the only thing really important is the servo control; everything else is just handling time...

hi, if you don't mind which Arduino board did you use and or shield etc. thanks

It went through iterations, which are all mostly similar. Basic prototyping was on an Uno and Pro Mini 328. The actual board that's been running is a digispark -- small, cheap, and power efficient.
If I had to do it again now, probably would have stuck with the Pro Mini, or a trinket.

very useful, thanks! Would you mind posting the trapezoidThread() values of the auger_import();? The default values written in the auger() module in the auger.scad file don't match with the auger_import(). I only want to slightly modify the auger_import();. Thanks in advance.

Hmm... all the copies of the scad file have the same trapezoidThread() values. So if I tweaked them for the publish (which could have happened), I can't find any record of them.

Wonder if the thread library was tweaked at some point? I'll upload the copy I have.

Note you need the screw library by syvwlch found here: http://www.thingiverse.com/thing:8793http://www.thingiverse.com/thi... if you want to recompile

Screw Library
by syvwlch

I uploaded a new arduino sketch (primarily formatted for a digispark, but should work on any) which is massively cleaned-up... Lots of the "planned" features in my original never got done, so code-bloat has been removed.

Thanks a lot for sharing! I like this and I'm in the process of putting one of these together. When I printed the auger I felt like it was going to be a pain to get the two halves completely lined up and get them pressed/glued together. The solution I came up with was to remove a couple of 3mm holes from the bottoms of the two halves, then I printed a couple of 2.9mm dowels to insert into the holes and keep them lined up while gluing them together. Just a tip in case anybody else is feeling the same woes. Thanks again!

Great practical use of the auger screw I must say. I do wonder however if it would be possible to make the reservoir of catfood air tight to keep it fresh for a longer amount of time. I know its probably not critical for this application but could you think of an easy placement of some extra plastic that would keep the container airtight when not dispensing? This is yet another reason I need to get myself a 3D printer.

I like this design. I have one comment on how the printer reacts to this particular auger file. The stepsPerTurn is set to 48 in the scad file resulting in a stepping pattern along the face of the auger. This causes the printer to not operate smoothly during the print. I have rendered the print with a stepsPerTurn value of 360 and it came out nice and smooth.

I figured smoothness didn't matter in the long-run (over print time).  It's been running for 3+ months now with no issues, but it's still not enough time to say for sure :)

Is auger_screw.stl just a combination of all the screw parts and if so (and we have a good enough printer) can we just print that?

Yup, if you have a good enough printer, then printing auger_screw is the same as gluing together the two pieces in auger_screwplate.

Great idea! My cats would have that food bin lid off it 10 seconds!

Thanks for the original idea!

In a house with 4 cats that like waking us up for food in the early morning, this is definitely something we could use. Thanks for the writeup and posting.