Video: DIY Automatic Cat Feeder [2.3 mb]
I have two wonderful cats, and many wonderful neighbours. Naturally, for my vacation, I combined the best of both worlds and had one of the neighbours watching my cats.
Despite this, I didn’t want to force my neighbours to come over twice a day to feed the cats. So I sought out to make an automated cat feeder and water dispenser out of parts lying around the house. As for the cat litter? That’s fine – that can be left to stupid humans 🙂
The Automatic Cat Feeder
Naturally, I looked around the internet first for ideas and plans. I knew that the ‘Maker’ attitude could do better than the expensive pre-made contraptions you can find in stores. I stumbled on the nifty hack in Make Magazine that repurposed an old VCR, but it portions out soft cat food – and requires some pretty complex mechanical pieces.
At first, I tried playing around with some little stepper motors and gears I had laying around in my electronics toolbox. After applying some electricity, I realized that the motors had nowhere near enough power to move anything significant. So I went down to my computer junk box in the garage in search of inspiration.
As I dug around this box, I found an old CD Rom drive and power supply. The thought struck me that I could use the ejecting tray of the CD Rom as a solenoid to push the trigger mechanism of some sort of physical contraption. But then I had a bootstrapping problem – what can I use to push the eject button of the CD Rom on schedule?
After some more thought, I realized that I could just use my spare (working) computer as the basis of the cat feeder. It’s also my home’s Subversion source control server – a rare mix of server workloads indeed! It has a CD Rom drive, so I could just use software to open and close it.
The computer runs Ubuntu Linux, so a crontab entry controls the scheduling. The script calls eject /mnt/cdrom to open the CD Rom, delays, and eject –t /mnt/cdrom to close it again. It actually does this twice, as I found it made the portions more consistent.
Since it’s a full fledged Ubuntu system on my wireless network, it allowed for an obscene show of technology. I was able to use my JasJar PDA phone to SSH into the box, and feed the cats on demand just by running the script.
With that as the basis, the only thing left was to design the physical contraption to actually feed the cats. My first thought was some sort of rotating mechanism at the bottom of a container to dispense portions from pie-shaped wedges. However, my primary concern (aside from killing the cats if the idea fails) was that the oddly shaped food pieces might jam the mechanism.
From there, my second idea was to fill a box with cat food, and have a little trap door at the bottom. And that’s the plan I went with. An elastic holds the trap door closed, and the CD Rom tray pushes the door open. When the CD Rom closes, the elastic shuts the trap door again. Binding is no problem, as the food just binds in the trap door.
Finally, a cardboard chute directs all of the food into the bowl, and a big cardboard box encloses everything to prevent the cats from getting curious.
The Automatic Water Dispenser
This idea is extremely simple, and is based on the same physical concept that governs most other automatic water dispensers. Punch a pencil-sized hole about 1 inch from the bottom of a large jug. Fill with water, seal, then place in a dish greater than one inch high.
Water flows out of the jug as long as the water level is below the hole at the bottom. When water flows out, the air pressure in jug decreases until it sucks in some air to equalize. When the water level covers the hole, though, the air pressure can no longer equalize, so the water flow stops.
When the cats drink the water level down a bit, the jug can once again equalize its air pressure, and lets more water out.
Both contraptions worked extremely well for over a month (including testing time and vacation time.) I’ve now taken apart the cat feeder, though, as it’s not the most aesthetic addition to my kitchen.
[Edit: Some kind soul put the video on YouTube for me.]
[Edit2: More detailed build instructions and meta-blogging here.]