Overnight Cat Shelter -Cornerstone Project

The problem we're solving is getting stray cats temporary shelter so they aren't on the street. We know that stray animals, in general, is a huge problem so we are hoping to minimize just a few of the problems.

Our project is basically a safe trap. When there is motion detected at the front of the structure a door is opened using a pulley system powered by a motor. The motion code is set on time and when the cat is safely inside the door closes back down. We want to allow certain animal humane societies to use these structures at places they know lots of stray animals wander around. These structures will hopefully cut down the number of stray cats on the streets that possibly could catch diseases and or possibly die.


Step 1: Materials and Tools


-sheets of plywood

-2 by 4 planks of wood

-sheets of plexiglass

-sheets of acrylic

-air vents

-insulation sheets



-chicken wire

-metal rails for door








-jumper/ connecting wires

-stepper motor

-motion sensor

We found most of our materials at home depot and most Arduino materials were provided by our school





-chop saw


-table saw

-step drill

-star and cross screw bits


Step 2: Plan Out Your Process

Plan out exactly how you want to build your structure and the order you want to build in. Draw blueprints and maybe even make some small prototypes. Make sure you have all the materials and tools you need. Once you start your projects make sure you regroup and look back to your plans and make a "To Do" list to keep alongside the whole building process

Step 3: Structure Building

For our structure, we decided to construct all the 4 walls and base first.

We measured and cut all our wood using the chop saw.

We decided to make the base with 2 by 4's so the base is supportive and sturdy. We built our base to measure 3 by 2 feet. We then drilled and screwed in all the wood for the base.

We then continued this process for all the walls but used 2 by 2 pieces of wood. 2 of the walls were 4 by 2 feet and the other 2 walls were 4 by 3 feet.

Once all our walls were built separately, we then screwed all our walls to each other and down to the base.

Step 4: Walls

First, we cut plywood to cover the outside of the wall and plywood to measure the inside of the wall. Then we cut the insulation to fit inside the 2 pieces of plywood.

We then did this for 2 other walls but only the bottom halves of them.

Step 5: Vents

To get air flow we decided to put 2 big air vents at the top of this wall. We put our structure down so this wall was facing up, measured and outlined the vents on the wall and drilled 4 big holes at each corner then used a jigsaw to cut the pieces of plywood and insulation out. Then we were able to drill and screw the vents to the wall. For the inside of the vents, we wanted to block it off so the cat couldn't reach but we still wanted to allow air to circulate through. We laser cut holes into panels of acrylic and then used the step drill again to drill and screw the acrylic on the inside surface for the 2 small vents at the bottom. for the two big vents at the top, we added chicken wire on the inside surface of the vent. we did that by drilling and screwing wood to the outer edges of the chicken wire.

Step 6: Window

For the window, we cut acrylic down to the fit the outside of the structure. We clamped the acrylic to the wood and since we were drilling and screwing into acrylic we needed to use a step drill bit so the acrylic wouldn't crack. We then slowly screwed the piece on successfully.

Step 7: Door

For humans to easily access and remove the cats from the trap, we decided to make a door. We also wanted to make the door clear so the humans are able to look inside and so the cats have more light. We wanted to frame out the door by adding 2 by 2 planks to the inside of the door so it's a better fit. We then added hinges, a handle and latch to keep the door locked.

Step 8: Base and Roof

For the base/ bottom of our structure, we added in wood and carpet for the cat to scratch at but not destroy.

For our roof, we had a little bit of a complication with the metal and wood materials we needed and weren't able to get the right materials in time and also thought that the metal would conduct a lot of heat even with insulation and plywood under. So we decide to use a 2 by 4 piece of wood to lift up the roof a little bit but then we realized that there was way too much space for another animal to get in. Since the 2 by 4 would cause other problems, we ended up just screwing a wooden sheet for the roof.

Step 9: Coding

Towards the beginning of our project, we tried to get all the coding out of the way and soon realized we needed so much more time to work on the coding.

We wanted to code a motion sensor on the side cat door, to open when a motion was detected within a certain vicinity.

We also wanted to code this to be set on a timer for a few seconds to let the cat have enough time to enter and safely be inside, but we haven't quite figured this out yet.

The door would also be connected to a pulley system powered by a motor which also had to be part of the code, but we haven't figured that out either.

We had a lot of problems with this code and couldn't code it the way we wanted, but we finally did and here it is.

int plug = 13; // the pin that the plug is atteched to
int sensor = 8; // the pin that the sensor is atteched to int state = LOW; // by default, no motion detected int val = 0; // variable to store the sensor status (value) int timer = 0;


// Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48

// Define a stepper and the pins it will use AccelStepper stepper1; // Defaults to 4 pins on 2, 3, 4, 5

void setup() { pinMode(plug, OUTPUT); // initalize PLUG as an output pinMode(sensor, INPUT); // initialize sensor as an input Serial.begin(9600); // initialize serial

stepper1.setMaxSpeed(1000.0); stepper1.setAcceleration(100.0); stepper1.setSpeed(200); stepper1.moveTo(200); }

void loop(){ val = digitalRead(sensor); // read sensor value if (val == HIGH) { // check if the sensor is HIGH digitalWrite(plug, HIGH); // turn LED ON timer = 0; delay(100); // delay 100 milliseconds Serial.println(timer);

if (state == LOW) { Serial.println("Motion detected!"); state = HIGH; // update variable state to HIGH } } if (val == LOW) { timer++; Serial.println(timer); } if (timer >= 1000) { digitalWrite(plug, LOW); // turn LED OFF delay(200); // delay 200 milliseconds if (state == HIGH){ Serial.println("Motion stopped!"); state = LOW; // update variable state to LOW } }

//Change direction when the stepper reaches the target position if (stepper1.distanceToGo() == 0) { stepper1.moveTo(-stepper1.currentPosition()); } stepper1.run(); }

Wiring (goes in order with the pictures)

-The blue and yellow wires are to connect the Arduino to the breadboard.

The blue wire is in 5v and plugged into the positive row.

The yellow wire is in GND and in the negative row.

-The orange purple and blue wires connected the relay to the circuit.

The orange wire is connected to the positive prong on the relay and also the positive row on the breadboard.

The purple wire is connected to the negative prong on the relay and also the negative row on the breadboard.

The blue wire is connected to the S prong on the relay and connected to the 13 on the Arduino.

-The blue wires connect the relay to the stepper motor and the grey wires connect the stepper motor to the battery.

The blue wire connecting relay and stepper is plugged into the positive prong of the stepper motor and on any slot in the relay.

The other blue wire connecting the relay and battery is connected to the white wire that connects to the battery.

-The brown, grey and white wires connect the motion sensor to the Arduino and breadboard

The grey wire connects to the left prong and the negative row on the breadboard.

The brown wire connects to the middle prong on the motion sensor and plugged into 8 on the Arduino.

The white wire connects to the right prong on the motion sensor and the positive row of the breadboard.

-This group of black, white, grey, and purple wires connects the breadboard and motion sensor together.

These wires plug into 2-5 on the Arduino and plug into 1N1-1N4

The last picture just shows the stepper motor and all the wires that we already connected to it.

Step 10: Cat Ledges

Since there's not a lot of room inside the structure we put 3 step ledges for the cat to kind of interact and have more to do than just be on the ground of the structure. We initially weren't gonna add these ledges but we had a lot of scrap pieces so we just decided to add something interactive.

We used scrap 2 by 4 pieces of wood and cut them down to small triangles that would be drilled in under the actual ledge piece so it would support the cat on the ledge. We drilled the triangle onto the wall first using extra long screws. Then we drilled down the flat wood piece on top the triangle. Again using long enough screws to make sure the ledge is sturdy.

Since we didn't have time to sand down the ledges we just hot glued some carpet to all the ledges so the cats wouldn't get splinters.

Step 11: Caulk and Paint

To fill in just a few of the holes and gaps in our structure we added caulk sealant to the edges of our structure to be sure no water or small bugs could get through.


To be sure we only painted the wood, we put tape over the vents and acrylic. We painted all the outside a nice blue color, the inside a cool gray color, and the roof white.

Step 12: Project Conclusion

Overall our group thought this was such a good learning experience. We all got closer to each other, learned how to work with each other, the struggles and strengths of each of our teammates. We also obviously learned more about engineering and the processes that didn't work and did. We come to a lot of points in our project where we thought we were stuck and couldn't continue unless we fixed that specific thing. Or other times where we didn't have the right materials so we actually couldn't continue to build. We soon realized that we could put things aside to focus on other things we knew we could do. This really helped us actually move forward and make process with our project.

Some major struggles we had with our project were with the coding, initially, we wanted to use facial recognition but we didn't have the right software. So after we researched that for about 2 weeks we realized we had to move on and find something new to do for our coding. We also had problems with just finding all the right codes to actually use. While researching we couldn't find a code that fit exactly what we needed, so, we had to combine separate codes into one. That was definitely a huge struggle for us.

When we first started the project we never thought we would get this far in our project so yes, our team believes we met our goal and feel very accomplished. We successfully built a whole structure with windows, vents, and doors. We all put in so much time and effort for this project and it really showed and paid off in the end.

To make our project more efficient we could take more time fixing the air vents. Initially, we didn't really spend a good amount of time on constructing the vents, and you can really notice that at first glance. It was very hard to screw in nails through the vent because there was nothing but insulation behind the outside and inside plywood.

We could've taken more time implementing the solar panel we initially wanted to use to our project. We just ran out of time and didn't know how to connect all the wires the way we wanted.

-This is a link to a document describing our Pros, Cons, what worked and what didn't while building.

Stray Hotel



    • Party Challenge

      Party Challenge
    • Fandom Contest

      Fandom Contest
    • IoT Challenge

      IoT Challenge

    2 Discussions