The Problem

Beds: the battleground of the 21st century.
Beds, the battleground of the 21st century.

As everybody knows, cats are assholes. For instance, we have two cats. One of their favourite hobbies is jumping on the bed, shouting 'I am hungry' at the most unreasonable time possible.

As the limit of my patience is in a completely different ballpark as the kitties' ability to annoy people, I decide to battle this problem through the one thing which seemed reasonable: violence technology.

Except we also have another problem worth solving; we possess not only a single cat, we possess two little fur balls of death and destruction. Or two-and-a-half if we fat shame the fat cat. A lot of different things have been tried to make our old Ajk lose weight, but all other animals seem to sabotage these attempts in order to please his majesty — the term I assume our fat cat prefers for himself. Specifically, the dog is not excited about food, ever; only the process of rewarding him is considered joyful. This means that Ajk either gets to steal the dogs' food, or we have to lock him for a significant portion of the day, or starve our poor dog even more. The other problem is that our other kitty — sir Khan — runs around a lot and eats, but not at the time you want him to. He also developed this habit of asking for food and then walking away while Ajk finishes it.

As this whole process of constantly being outsmarted by our animals in order to make sure Ajk remains fat is getting a bit tiresome, we might also use technology to try to solve this issue.

The Idea

So, if we can find some magic manner of providing food for the kitties, and limiting food to the big one, we should be all set. Clearly, the need for a cat-feeder-device, with automatic feeding cycles and individual-kitty-detection is proven.

A very very ugly kitty feeding device.
A kitty feeder; alternatively titled: don’t let your lack of skill hold you back.

The Concepts

In principle, this is not really a new thing, nor a complicated project. However, there is room for escalation and there are some small challenges. In principle, the feeder consists of a hopper, with a chute and feeding screw. There should be some way to prevent animals from breaking (open) the device and to detect whether the device is still filled with delicious, delicious kitty food.

The Daily war
I refuse to admit the kitties will win, and at least I’ll make it a road of suffering.

Everything else is pretty straightforward. A simple optical gate can detect whether there is any food left in the hopper. The only WiFi-capable module I have in stock is an ESP-01 module, and I will use an STM32F0 to control everything else. This also allows me to program the esp8266 in the horrible Arduino environment (using Platform.io), while I can use fancy schmancy C++20 using Clang-10 on the ARM processor. As I want a mobile phone app, and kind-of want a Windows-app as well, I will use Xamarin.Forms for the client software. Designs will be made in Fusion 360, printed on a Prusa i3 mk2.

The Design

The CAD-file without details.
The CAT CAD-file, made in Fusion 360.

The Electronics

Rough Schematics
Rough schematics, as I am influenced by the kitties for my lazyness.