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
The end result is this: