With a second cat moving in this week, I am even more curious than before about what happens at home when no human is around.
There is a range of products that offer pet monitoring. Given I have an unused Raspberry Pi and a spare webcam lying around, I decided to DIY the solution.
Building a pet cam using a Raspberry Pi, a webcam and tailscale
As it turns out, this is easy: Take a Raspberry Pi, connect a webcam and install motion – an open source tool that exposes the webcam stream over the local network.
To enable remote access, I used tailscale which creates a private network for all my devices, no matter where they are located physically.
This guide has great step by step instructions which take less than 30 minutes to complete: https://tailscale.com/kb/1076/dogcam/
One thing to note: Pick the right Raspberry Pi. I started off with the model B+ (from 2014) which is a little underpowered and even has issues running the current Raspberry Pi OS smoothly. Luckily, I also had a “Pi 3 Model B” sitting in a drawer which did the job just fine.
Save snapshots when motion detected
The motion project comes with some handy features: Whenever motion is detected, it will save a snapshot frame and even short videos. These are stored on the Pi (under /var/lib/motion
by default) and include the time of the event.
Even when not watching the webcam stream, these recordings allow a summary of what the furballs were up to while I’m gone.
Tailscale: Pretty cool
I hadn’t used it before, but tailscale really was perfect for this case: The Raspberry Pi is one device in my virtual network. The other two I’ve added are my laptop and my phone.
Anytime I want to check the webcam stream I simply open the browser and access the (virtual?) IP of the Pi.
On the iPhone, I added that URL to the home screen so the ominous toilet stream is always in reach.
Next level: Five eyes
The initial setup was easy. I now have one webcam that I can place anywhere (anywhere the ethernet cable reaches, that is). A set of these would be cool so that I could monitor all movement in the flat.
My ambitions to build the next NSA for cats are limited though, so I’ll probably stick to a single cam and point it at one key location. Right now it’s looking at the litter box and I’m working on a spreadsheet to plot the bowel movements of the little one. Uhm, yeah.
The new oil
Another idea for the next step: Collect the visual data over time and run some vision algorithms. How often do they eat? Do they really sleep 16 hours a day? Who spends more time in each room? All of them cool ideas (which I’ll never implement, let’s be honest).
This was a quick project. I can now check in on my cats when I’m out and about. A Saturday afternoon well spent.