Designing a smart cat water dish

My cat Azzy suffers from a mild but annoying form of dysphagia. We think it would help to monitor and limit how much water he drinks at one time, since he has a habit of chugging way too much at once and then puking it on the floor.

The water dish has a little 5v pump that recirculates the water. If the pump loses power, the water drains down into the reservoir and he can’t drink any more. The dish is mostly plastic but has a stainless steel liner for the top drinking area.

I want to sense when he is drinking, and then cut power to the pump 15 seconds later, then restore power to the pump a minute after that. How should I sense when he is drinking?

  1. My first thought is to bond a wire to the metal dish (pink wire in diagram), and monitor capacitance. Just like capacitance touch switches such as a floor lamp that response to touching any metal part.
  2. My second thought is to put the whole dish on a stainless steel mat, so that Azzy’s front paws rest on the mat while drinking. Then measure resistance between the mat and the pink wire.

I would like to do this with an ESP32, using its built-in touch sensor capabilities if I’m going with option 1.

What do you all recommend?

2 Likes

Oh sweet Azzy! Such a great cat. Awesome you are into monitoring – I’m very intrigued by this as I’d like to do the same and also differentiate between 2 cats somehow. I think your idea #1 is a very good one – as then Azzy won’t potentially be put off by standing on a stainless steel mat.

Is your plan to do some math on volume consumed per time at dish or to measure volume reduced in the dish itself or something else?

The exact volume consumed is not that important to me. And in fact logging anything is only a secondary goal.

I’m most interested in detecting when he starts drinking so that I can stop the pump 10 seconds later. I want to limit the amount consumed in any one sitting so he doesn’t gorge himself.

1 Like

Could you use some strain gauges and monitor the actual weight in the dish? By measuring the delta of mass over a given time period you could not only know when it has been consumed but how much.

I was dazzled by the Azzy pic so I missed the top part of your post. :smiley: I fail at reading comprehension.

I’ve never set up #1 on an ESP32 but are you thinking --> touch sensor esp32 pin connected to the stainless steel liner…when capacitance changes --> relay shuts off the power after time delay? Now that you’ve got me curious I’m reading this: https://randomnerdtutorials.com/esp32-touch-pins-arduino-ide/

#2 I’ve seen done with a makey makey and water dish using foil as the switch (much like the steel plate you’re suggesting) although that was to make someone’s cat tweet every time it licked. There is also a cat eating racing came done with a similiar touch sensor setup (conductive) and the makey makey. Wonder if that code would be helpful? Edit: conductive cats link https://www.youtube.com/watch?v=9LBl0WE_Upo

Sorry I can’t be more helpful. Looking forward to seeing what you come up with.

How much vibration does the pump make? If it’s not too bad, Azzy will probably make noticeably more vibrations when he’s bumping the dish.

An accelerometer will be able to pick that up (sometimes with an interrupt, even), but a cooler and more elegant option is the spring sensor

1 Like

Been playing around with a Makey Makey recently. A mat underneath for the paws and a connection to the water is definitely worth testing. I suspect the paw pads may be too insulating though.

1 Like