Let Me Count The Ways This Thing Sucks
First of all, it is very nearly impossible to program this thing. It may have the worst UX of any consumer product I have ever encountered. The controls on it do not make sense and are not labeled in any such way as to indicate how to program it. And if you lost the manual (as I did), you’re on your own. Thankfully, some kind soul put the instructions on their blog because I would have been lost without it.
I’m a software engineer with nearly 20 years of experience, but programming this thing I’m reduced to one of those apes from the beginning of 2001: A Space Odyssey, banging on it with a bone until I get it to do what I want it to do.
And even worse, every time you change the batteries, it loses the program. It has no wiring for mains electrical or even an adapter, just D-cell batteries. And those batteries last just long enough for you to forget how you programmed it. So you’re back to square one.
Second, it loses time. Fast. On the order of minutes a week. So a 7am feeding becomes a 5am feeding within a few months. Every few weeks you have to reset the clock back to the current time. And that’s not including adjusting it for daylight savings time - which I usually never bothered to do because this thing is such a bear to deal with. My default setting was just to not touch it until I absolutely had to.
Third, and perhaps most importantly, sometimes it legitimately just would not work. You’d load it up with food and, when the scheduled feed time came, it would either just not feed at all, or do this wimpy thing where kinda tried to spin the motor for a fraction of a second. I even tried only filling it up halfway or a quarter of the way to see if maybe there was just too much weight on the motor. I tried taking it apart and cleaning it out thinking maybe a kibble got jammed somewhere.
But nope. About 50% of the time, it wouldn’t even feed my cats despite always incrementing the feed number. Which is a big deal if you’re relying on this thing to feed the cats while we’re out of town for the weekend.
This is literally one of the most garbage products I have ever owned. 0/10 do not recommend, and if you own one I suggest you set it on fire and mail the remains back to the manufacturer COD.
For the longest time, we just grumbled at how much it sucked and dealt with it. When we had to put Pumpkin down, I happily put it in the attic and was content to (hopefully) never have to think about it again.
So when we got two new cats last year, I at first resisted getting the Petmate back out. We just kinda made due by pouring food out in the mornings and evenings. But then we noticed our cats were gaining weight. Too much weight, in fact, because they were overeating. We really needed the ability to feed them on a schedule, a controlled portion to keep them at a healthy weight.
So I grumbled, and got the Petmate back out of the attic. And, imagine that, it still sucks just as much as it ever did. So I started thinking. This thing isn’t that complicated. It’s just a motor and a microcontroller. It can’t be that hard to build a better one.
So Let’s Build A Better One
Before this project, almost the entirety of my professional experience has been in software. I’ve built computers from components, done some wiring, but never built a custom piece of hardware. So this seemed like a good chance to learn.
My first thought was just to take the current one, gut it, and use it’s innards with a Raspberry Pi to make it suck less. But I quickly concluded this was probably not a good idea based as many of the components inside were custom. So, like any good engineer, I decided to build my own. :)
When I started, I had two big goals I needed to meet:
It had to work. It had to reliably feed my cat, on time, every time.
It had to be easily programmable, preferably from a phone or laptop. Easily programmable to the point where my wife could do it if she had to.
After search around for awhile (pet feeders are a pretty common first hardware project, so there are lots out there to choose from), I decided to base my design on this one, but with some modifications and a completely different software program. I also modified the design pretty heavily because, well, I want it to look nice in my house.
The end result is this: