
We recently purchased one of those cheap cat fountains with the disposable filters and I felt like it had some room for improvement. The main issue is that the little filters that come with almost all of these fountains need to be replaced every 1-2 weeks, which is not only wasteful but buying these often proprietary filters quickly adds up over time.
Getting started and first prototype

My initial vision was to create a system with an inline UVC light, canister filter, and various sensors to detect leaks and current water level. The end result would be greatly simplified for several reasons and many of these components would be removed.

My first prototype required very little by way of additional hardware–it was just a small 12v aquarium pump connected to a relay and an ESP32 for control. This system wasn’t filtered and just relied on a tank of pre-filtered water to top up a small bowl.
The main issues with this system were that I had to manually watch the bowl as it filled so it wouldn’t overflow, and the water would get stale and smell weird just sitting in the container after a day or so.
After confirming the pump would be sufficient to fill the water bowl without splashing water everywhere, I set out modifying a basic kitchen scale so that I could wirelessly get the weight of the bowl to know when it was full and subsequently automate refills.
I added an HX711 load cell amplifier to an Amazon Basics kitchen scale and then connected that to an ESP32 running Esphome to pass through the load cell data to my Home Assistant server. The same ESP32 also controls a 5v relay to turn the pump on and off. Initially this worked fairly well, but I quickly noticed a critical flaw in my bowl holder design.

I didn’t immediately catch the issue but it was fairly obvious as soon as I tried to calibrate the load cell sensor. The problem with the original bowl holder design is that it incorporated a fill tube guide which would constantly press or pull on the scale depending on how the tube was positioned and throw off the measured values–there was no way to successfully calibrate it using this design. Instead, I removed the tube guide from the bowl holder and added a multi-position guide to the base of the housing which would decouple it from the scale.
This change allowed me to finish the calibration and get some baseline values of the bowl when it was empty or full. With this information I created a simple automation in Home Assistant to refill the bowl when it got low.
Improvements and Design Changes

While this design worked, I knew there were a few limitations I would have to address and I realized some of my original plans just weren’t going to be compatible with the direction this build was heading.
In my sketch, I imagined including an inline UVC light for managing any bacterial growth, as well as a float sensor attached to the bowl to trigger refills.
The float sensor was mostly irrelevant thanks to the addition of the scale. Early on in the design process I felt that I wanted to avoid permanently modifying the water bowl to make it easier to clean, so adding a float sensor wasn’t going to be an option.
The UVC light didn’t work out due to size constraints. I actually ordered one, but the smaller inline light I could find was a good bit longer than the canister filter I had selected and it wasn’t likely I would be able to print a housing to fit it with all of the other components. I wasn’t particularly worried though as the new design easily facilitated swapping out the water bowl so there wouldn’t be much opportunity for bacteria to build up.
I haven’t talked about it much yet, but the filter I chose is just a standard 5″ canister filter, usually used for under-sink water filtering. These filters are incredibly cheap and effective, and I figure for filtering a single water bowl like this it will be more than sufficient. One filter costs $10 on Amazon and should last at least a year. It’s hard to gauge exactly when it will need to be replaced, but I run similar filters for our whole-home water filter system and they only need to be replaced once a year and filter much more water. Comparatively, generic cat fountain filters on Amazon seem to cost around $10 per 16 filters, and the manufacturers recommend replacing them weekly.
Redesign, re-evaluate

I wanted to improve efficiency with the overall design, particularly when it came time to clean the bowl. After testing the water reservoir design for a few weeks I came to the conclusion it wasn’t worth the effort trying to automatically refill the bowl. It added additional complexity and failure points for a minor quality-of-life improvement. With both previous designs there was an issue that I would always run into–the bowl inevitably gets gunky from the cats drinking from it so pumping fresh water over nasty water just makes more nasty water. I finally accepted this was not something I could overcome at this stage and pivoted to a new design that would more easily facilitate cleaning and would filter the water in the bowl itself.

I switched back to using the original fountain we purchased as it could hold more water than the small stainless water bowls I had been testing with. I designed a small tube guide that would sit on the lip of the fountain and could be easily lifted off when cleaning was needed.
To the intake tube I added a small foam prefilter often found in aquariums. This catches the bulk of the hair and gunk left by the cats before the water gets to the pump. This should greatly cut reduce how often the pump needs to be disassembled and cleaned.

Now that things were starting to shape up, I started designing the final filter and pump housing. I split it into two pieces so that the tubing could fit in the housing without needing to take anything apart. The base housing also includes a small hole to install a DC barrel jack for power.
Putting it all together

After dealing with a few minor leaks, I was fairly satisfied with the performance of the filter so far and wanted to make the whole system a bit more cohesive.
I redesigned the tube guide once again, this time making it a separate piece that would eventually screw into a wooden platform. It securely holds the tubes in place at the correct angle and allows the bowl to be removed without need to touch any of the filter assembly.

I attached the printed pieces onto a small piece of plywood to keep everything from shifting around.
So far this design works great! It keeps the water in the bowl very clean, greatly cutting down on manual cleaning while making sure our cats always have fresh water. When I notice it getting low, I just top it up between cleanings. We’ll see how it holds up long-term, but so far I haven’t noticed any bacteria build-up after a week with this system. The water stays clear with the prefilter catching any debris.
Final thoughts
This project ended up being way more involved than I initially anticipated, but I’m content with the end result. I’m already thinking of future improvements, which would most likely require a complete redesign once again.
It would still be neat to have a reservoir connected to this system so that it could auto-refill while keeping the bowl clean. If I can come up with something space-efficient enough, I may even be able to incorporate that UVC light.
One minor gripe is that the vibrations from the pump I chose create a small humming sound that is amplified when the housing cover is on. I’ve added some foam tape around the pump which isolates it a bit, but it could be better. I think I’ll try swapping to larger, adjustable pump soon and see if I can slow it down to maintain a similar flow rate but at a lower noise level.
Finally, I’m looking at redesigning the tube holder to include a shut-off valve. Currently, when the bowl is removed to be cleaned the siphon is lost on the intake tube and has to be reset after replacing the bowl. If I add a valve, I can potentially maintain a siphon and then not need to worry about priming the pump each time.
Overall, this was a great learning experience and gives me many project ideas for the future. And the cats love it! The flowing water definitely seems to make them want to drink from it more.
Thanks for reading!
































































































































