Introduction: Arduino Controlled Window for Cat

I am submitting this instructable to the Arduino challenge. Please remember to vote!

My neighbor had a little problem with his cat. It want's to go out and back inside too frequently. Usually he opens just his kitchen window and let's the cat in/out. Usually the cat stays only short periods outside and want's soon to come back inside. And then again out and back in. Okay, he could just let the window open, but here in Finland it can be easily -30 C (-22 F) in winter, so this is not a good solution.

We decided to build a microcontroller to the window to open and close the window automatically. Arduino controls a strong servo motor, which moves the window. It has three proximity sensors to sense where the is cat is.

Step 1: Parts List

Main parts:
1 pc suitable power adaptor to juice the Arduino (input voltage 7-12V dc)
1 pc Arduino microcontroller (or equivalent *duino)
1 pc strong servo motor to move the window. I used Towerpro MG995 Metal Servo with Gears (10kg Torque).
3 pc Pololu 1134 carrier board with Sharp GP2Y0D810Z0F Digital distance sensor 10 cm 
1 pc "Third hand" to hold the sensors
1 pc cat (operator)

Misc. parts:
some wire
suitable casing
small window hinge
some metal parts to fix the servo to the window frame, screws, etc

Tools etc:
Solder & soldering iron
Computer & usb cable to program the Arduino

Step 2: Mechanics

We made a holder for servo and attached it to frame. Then we fixed a small window hinge to the window itself. 
We made adjustable arm from copper rod. Don't fix the servo arm with screw until you have first driven the servo to zero (closed) position with the control program. The good thing in this is that the mechanics are easily adjustable.

We chose Towerpro servo with metal gears to get long life for the installation. It does move the window easily enough but it can not slice the cat (nor anything else). The closing speed is set to very slow.

There are dfx files of the servo bracket and actuator arm included.

Step 3: Sensor Placement

We placed three sensors, two between the windows (works well through the glass) and one at the opening window, so the window doesn't close if the cat just looks outside. The good thing that in these Pololu boards are tiny SMD-leds. You see directly when the sensor is detecting an object.

Step 4: Control Center

The box with Arduino is located conveniently below the windowsill. There is no power switch. You just connect or disconnect the power connector.

Step 5: The Program

Here is the program. It is written on 1.0 Arduino software, so you need at least it (or newer). 

The program is pretty well documented. We added delays for detection, because the window opened itself occasionally. 

The program defaults that the window is closed at the beginning. If not, it closes it first. Please check that the servo movements are okay before fixing the servo arm!

Step 6: Connections

Arduino board powers up all the sensors and the servo motor with +5v and GND.

Sensors are connected to following Arduino pins:

 Pin 2 - Inside looking sensor
 Pin 4 - Sensor located in the window opening
 Pin 6 - Sensor looking outside

 Pin 10 - Servo motors control wire
 Pin 13 - Led that is on when the window is on move.

We have thought also to include temperature sensors both inside and outside. This would be a convenient way to get intelligent ventilation in summer... ...possibilities are limitless!

Step 7: Happy User

The cat has to get used to the automatic window. It is a process of learning also for the cat. It went twice BEHIND the window when the window started to open. It was very confused when the window swiped it off the sill and into the snow!


saastamo made it!(author)2016-01-11

The original cat window has been working continuously for 4 years! There has been some minor tweaking in the code (opening/closing speed of the window, better proximity sensor for outside because of sunlight), but basically "it works like the WC in a train" (finnish proverb meaning very simple and reliable design:).

Current proximity sensor looking outside is similar to this:

Also, there is now only 2 sensors in use, because the one looking inside caused too many "wrong alarms": when someone walked beside the window, it detected the movement.

nodoubtman made it!(author)2015-01-05

congrats! how did you do the servo arm?

thank you!

saastamo made it!(author)2015-01-07

Servo arm was made from brass rod. The window side was drilled and thread made with threading tool. The other end was sawn and attached to servo plastic arm with a pin. This configuration has been working now for 3 years. Only one mains transformed was lost in a thunderstorm, no other problems. The window has run many thousands of opening and closing cycles.

joecabezas made it!(author)2013-03-17


can you post a video working?

CatTrampoline made it!(author)2012-03-28

One little thing, how does the sensor distinguish between the housecat and other small animals?
What happens when a varmit shows up at the window? I guess they don't have raccoons or possums in Finland, but what about neighbor cats & magpies?

saastamo made it!(author)2012-03-28

Yes, there is no way how a simple IR detector could distiguish varmit and a cat. However, the alternative of having the window open all the time this is definitely better. A wild animal has also even steeper learning curve to use automatic window. The windows sudden movement is sure to scare wild animal away at least for some time.

If needed, it could be arranged that the cat cas a RFID tag and then the window opens only when right RFID is around. In our case this was not an issue. Good point, though.

drewgrey made it!(author)2012-03-30

Whisker recognition software.......

CatTrampoline made it!(author)2012-03-28

Outstanding! I will not let our cats see this, lest they increase their demands. Supervisor Cat Her Majesty Holly is also a black tuxedo kitty.

AntoineMeillet made it!(author)2012-03-28

Very nice project :)

A video would be great !

10er512 made it!(author)2012-03-27

Sorry for a dumb question, but do you really always need the arduino board to be able to construct prototypes? or can the software be used to program a custom circuit?

I'm new with this arduino thing.

saastamo made it!(author)2012-03-28

Exellent question: of course you can make custom circuit. The easiest way to program the microprocessor though is to program it in developement board "Arduino". You can even take the controller away after the programming to your circuit and buy a new microcontroller into your developement board. Look the link below for ideas.

WWC made it!(author)2012-03-26

Very clean installation. Great project.

sofiadragon1979 made it!(author)2012-03-26

LOL I misread that & read it as "arduino controlled cat" LOL.

saastamo made it!(author)2012-03-26

Lol! Not yet so advancved! It would be totally new approach to the problem!

sofiadragon1979 made it!(author)2012-03-26

LOL I could never do that to my cat master.

rimar2000 made it!(author)2012-03-25

Your cat is like my Heidi!

Awesome project!

saastamo made it!(author)2012-03-26

Greetings to Heidi! Thanks!

PeckLauros made it!(author)2012-03-26

Nice instructables!

About This Instructable




Bio: I am pharmacist and I continuously get quoted that I should be in some other profession because my interests are so wide. Personally, I think ... More »
More by saastamo:Garmin GPSmap 60(CSx) Battery Power Fix = More rugged GPSRepairing and improving of the legs of a chair: increased footprintHanging retro cassette led lamp
Add instructable to: