Build Instructions for the DIY Cat Feeder

A few weeks ago, Design News ran an engineering-centric article on the DIY Cat Feeder that entertained my cats while I was on vacation last year. Everybody loves a good hack, but I've been surprised by the attention it received. If you've been wanting to know more about how it was built, the article provides much more detail.

As part of their article preparation, they asked for mechanical and schematic drawings, along with part numbers from anything in the Allied Electronics catalog that the cat feeder used. Since my main goal was to make something out of random junk laying around the house, I thought the question was a little funny – as the parts list ended up being:

Amt Part Description
1 Big box of Pepsi
1-2 Thin phone books
1 Sturdy cardboard box
1 Elastic band
5-6 Bamboo skewers
1 Sheet of cardboard
1 Bowl
1 Wireless-enabled computer
1 Very large box

A few weeks later, a photographer came by for a photo shoot, and the rest was history.
 
The hardest part of the process, by far, was coming up with the mechanical drawing. I first started drawing in Paint.NET, but got slightly annoyed by my inability to keep the lines consistent in a fake 3D drawing. I gave up after I realized that I wanted to show another perspective – and there would be no way I could ever keep the two consistent. After trying out half a dozen free CAD/CAM programs and 3D modeling applications, I finally settled on Google Sketchup. It ultimately solved my needs perfectly. If you're looking for a good, free, low fidelity 3D modeling program, definitely give it a try.

I finally got the chance to clarify something in the write-up, too. The Ubuntu aspect of this story got fully overblown, as Windows is just as capable of ejecting a CDROM tray 🙂 Here is the PowerShell script that does it:

$mediaPlayer = New-Object -Com WMPlayer.OCX
$mediaPlayer.CDRomCollection.Item(0).eject()
Start-Sleep -Milliseconds 300
$mediaPlayer.cdromCollection.Item(0).eject()
Start-Sleep 1
$mediaPlayer.CDRomCollection.Item(0).eject()
Start-Sleep -Milliseconds 300

And to schedule it:

schtasks /create /tn "Feed Cats" /sc DAILY /st 07:00:00 `
    /tr "powershell c:\users\<user>\feedcats.ps1"
schtasks /create /tn "Feed Cats" /sc DAILY /st 17:45:00 `
    /tr "powershell c:\users\<user>\feedcats.ps1"

So now the spare computer has another credit in its already illustrious resume of Cat Feeder and Subversion CVS Source Control Server. That would be, of course, Internet Supermodel.

Leave a Reply