Cat Dissuader

Non-destructive Super Soaker modification for Arduino control, with PIR motion detection.

Similar projects worth following
My cat poops in my bathtub. It is disconcerting and unsanitary, and I have determined to cure her of the habit.

My solution is a water squirting mechanism combined with a PIR motion detector sensor. There are many microcontroller-based cat squirting projects on the Internet, but this one is mine.

Electronically, this is a very straightforward project, and the details are uninteresting. The points of interest are the use of 3D printing as an adjunct to electronic projects to interface to physical objects.

Test video:

I started out by investigating ultrasonic cat repellents. It turns out they are of dubious efficacy, so I determined to use a water spray.

There are many similar projects to be found through a quick search, all of them along the same lines. PIR modules can be had from eBay for a few dollars, and interfacing to them is straightforward and uninteresting. However, I wanted to mount mine high on the wall, angled down, to avoid getting splashed. A quick session in DesignSpark Mechanical and I had an angled mount. Two holes, sized to self tap with a #1 screw, are provided. It is designed to have the screws enter from the back, as there are components on that side which would be difficult to avoid when designing the mounting surface. I didn't have any #1 screws, so a pair of mismatched screws from an eyeglass repair kit were substituted. Something to keep in mind for designing mounts is that it is very difficult to turn screws if the path for the screwdriver is not kept clear, which I discovered.

The only real area of divergence between all the cat squirters seems to be how to actually squirt water under electronic control.

One project (listed at used a servo on a spray bottle. I designed a servo mount for a spray bottle I had lying around, which you can see in the gallery. It worked, but the Hitec HS-311 servo, rated for 51 oz. in. of torque, could only manage an anemic dribble fed directly from VCC. I thought about adding a large capacitor for energy storage, but only after I had disassembled the mount and moved on.

Another project I saw ( uses a piston pump. Their recommended one is $5, but with $20 shipping. For that much money, I had an easier option in mind. I went to Toys R Us and, it being the start of the summer season, got a Super Soaker Hydrostorm motorized water gun on sale for $16. I took it apart briefly to have a look inside (so many screws!), and determined it would be fairly easy to disassemble and control, but I would rather leave it whole and in working order, to be able to retain its use as a water pistol when necessary.

I briefly considered servoing the trigger, but the trigger pull is as heavy or heavier as the spray bottle, and the handle/trigger guard geometry is complex and would be annoying to design around. Instead, what I have determined to do is to physically tie back the trigger and control the power instead. I printed a replacement battery pack, with holes for two wires to make loops on the contact end. This gets stuffed with some wadded paper towels to provide some  friction and water protection, and I will switch the power (9V from VIN) through a relay (or a MOSFET, but a relay is what I have on hand).

I have tested the replacement pack, and it works in all orientations. More to come....

  • 1 × Arduino Uno
  • 1 × Protoshield
  • 1 × Super Soaker Hydrostorm motorized water gun
  • 1 × HC-SR501 PIR motion sensor
  • 1 × 5V RadioShack relay (275-240)

View all 8 components

  • Cat trained!

    jsc07/01/2014 at 04:51 0 comments

    I have left the Dissuader disconnected for a few days now, and there have been no further "incidents". I think it's worked.

  • Project Complete

    jsc06/12/2014 at 15:32 0 comments

    I finished putting all the pieces together and wrote a little code to tie it all together. It waits 5s after a motion event to let the cat get nice and settled, triggers a 1s burst, waits for 10s to let it clear the field of view and let the PIR settle, then goes back to waiting. Testing seems to indicate it should work well; now to see if any actual training occurs....

  • Driving motors from VIN not recommended

    jsc06/09/2014 at 07:15 0 comments

    Switching VIN as I originally planned isn't going to work. With a 9V 1A wall wart, the motor startup current is too high and resets the Arduino. Dedicating a second power supply to drive the motor and switching it through a relay works, and will isolate circuit ground from any inductive spikes when the motor stops.

View all 3 project logs

  • 1
    Step 1

    Make a cable with a female 3 pin header for the PIR sensor, and wire the other end to GND, VCC, and a digital I/O pin on the protoshield. It is easiest to do this using a male 3 pin header, crossing over two of the wires to put the output pin on one of the outside pins, and connecting to the GND/VCC bus down the middle.

  • 2
    Step 2

    Hook up the relay on the protoshield to switch the power from a 9V wall wart (not the one being used to power the Arduino). Do not connect the switched grounds, or the 9V sides; this should be a completely isolated circuit. Put a diode in parallel with the coil pins to dissipate the flyback current. Run the relay input pin to an I/O pin.

  • 3
    Step 3

    Run the switched power and ground through long wires to the printed battery case. Insert each of the stripped ends through one of the pairs of two holes, bend it around and insert it back through the other hole to form loops that will contact the power conductors inside the Hydrostorm. Stuff the battery case with some paper towels to soak up any water, and to help keep the contacts in place.

View all 5 instructions

Enjoy this project?



Greg Kennedy wrote 07/01/2014 at 05:23 point
Have the same problem with my cat, but no 3d printer...

  Are you sure? yes | no

jsc wrote 07/01/2014 at 14:15 point
The printer is mainly useful for the battery replacement hack, to get the relayed leads to the battery contacts. You could, I think, do something similar by folding cardboard.

It also helps with making nice mounts and enclosures, but those are frills.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates