Introduction: Mechanical Iris Door

About: We're born, we make, and we die. So start making!

For a really long time now, my dad has wanted an automatic chicken door coop. A few weeks before fathers day I decided I would make one for him. But on the fathers day I knew I wouldn't have time to finish. I then decided I would continue to think about it but wait until summer to start it. It's a good thing I did. This project ended up taking way longer than I thought it would. However, I am really proud of what I have made. I think it was well worth the time I put into it. I certainly learned a lot.

If you want to learn how to make the bow tie featured read this Instructable.

Step 1: Materials/Tools


  • Formica
  • dc motor
  • Toggle Switch
  • 2x Limit Switch
  • plywood
  • Epoxy
  • Acrylic
  • Packing Tape
  • 25x Post Screws
  • 3x Bolts
  • 3x Nuts
  • 3x Washers
  • Primer
  • Paint
  • Arduino
  • Arduino Motor Shield
  • 12v Power supply


  • CNC Router
  • CNC Laser
  • Drill
  • Forstner Bits
  • Regular Drill bits
  • Roller Brush

Step 2: Laser Cut

Scale the plans to whatever size you want. There are a couple things you will need to change. Pretty much all of the slots and holes are dependent on the hardware size. So buy the hardware, modify the design, and THEN cut it. At the time I was building this, my dad was putting together a CNC router. So I laser cut as much as possible, but on the last day, he finished building it and we cut out the final piece.

One key part of laser cutting the Formica was to keep it flat. We also found that if it is too much power/too slow the Formica will bend and mess up the cut.

Step 3: CNC Router

I don't have much to say about this step. I don't really know how to use a CNC router that well. My dad helped me a lot with this step, as we were both learning how to use it.

Step 4: Assemble the Iris

Sand all the wood lightly

Follow the instructions in the pictures

Cut spacers, mine were about 1&1/2 inches thick

Drill holes in the edges of the spacers the size of your bolt

Step 5: Paint

  1. Prime
  2. 1st coat
  3. 2nd coat

I found some paint in my shed that I liked, but there wasn't too much. I decided that the inner side doesn't have to look good, so I used the nicest colour for the outside and then used some other paint to finish the 2nd coat of the inside. I am really happy how it turned out. The paint is "espresso" coloured. I just poured the paint on and used a roller brush to apply it more evenly.

Step 6: Mount the Iris Mechanism to the Bracket

  1. Drill through holes for the bolts in the bracket.
  2. Push in the bolts from the outer side and flip over. It helps to secure them with some masking tape.
  3. Mount the iris with the spacers onto the bolts
  4. Add washers
  5. Add bolts and tighten slightly past hand tight.

Step 7: Electronics

Start out by attaching the 12v power supply to the motor shield. It's really easy. Just strip the ends of the wire, use an ohmmeter to determine polarity, and then put the wire in the corresponding hole. Then just tighten it with a little flat head screwdriver.

The next step is to wire all the switches. Using the image above, wire in the limit switches and then the toggle switch.

Wire in the motor. The motor is the easiest thing to wire. Simply run a wire out of the motor shield "A" section to the terminals of the motor.

Tape the whole Arduino block to keep it from shorting out. Then take some sort of plastic container and cut a groove in the male threads, and a little bit more. Place the Arduino in it and screw on the lid. Then use hot glue on the lid to secure it to the backside of the iris.

Once you have completed all this, it's time to download the code and test it.

Step 8: Programming

This code enables a switch to open or close the door, and the limit switches stop it. If it does not work, switch the limit switches. It's easy to do by simply switching the inputs on the Arduino. It took me a couple of tries to get the code to work, but it works flawlessly now.

Once you upload the code to the Arduino, test the whole setup. You want to debug the system before you put it all together. It may seem like a pain, but it's worth it in the end.

Switch Code

const int forward = 2;
const int reverse = 4;
const int oc = 7;

int forwardState = 0;
int reverseState = 0;
int ocState = 0;

void setup() {

//Setup Channel A
pinMode(12, OUTPUT); //Initiates Motor Channel A pin
pinMode(9, OUTPUT); //Initiates Brake Channel A pin
pinMode(forward, INPUT);
pinMode(reverse, INPUT);
pinMode(oc, INPUT);


void loop(){

forwardState = digitalRead(forward);
reverseState = digitalRead(reverse);
ocState = digitalRead(oc);

if (forwardState == HIGH) {
digitalWrite(9, HIGH); //Engage the Brake for Channel A

if (reverseState == HIGH) {
digitalWrite(9, HIGH); //Engage the Brake for Channel A

if (forwardState == HIGH && ocState == HIGH) {
digitalWrite(12, HIGH); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 255); //Spins the motor on Channel A at full speed

if (reverseState == HIGH && ocState == LOW) {
digitalWrite(12, LOW); //Establishes backward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 255); //Spins the motor on Channel A at full speed

Step 9: Switches

The limit switches are pretty easy to install. Just screw them down close to the main gear. Think about it to make sure it is facing the correct way.

Toggle switch. Take off the washers and bolts. Use the inner diameter of the washer to find a drill bit. Then use a forstner bit that is larger than the whole switch to make an indentation in the backside of the mounting bracket. This is only necessary to make sure the threads of the switch reach the other side. Then use the other drill bit to drill a through hole through the center of the large indent.

Step 10: Setting Up Limit Switches

Position the iris to either the open or closed position. Then glue up some scrap wood to trigger the switch. Repeat on the other position.

Step 11: It Works/Training

It now works, but the chickens are too dumb to use it. When I first made it, they wouldn't go out. But now they will. They have always gone in. To train them to leave I set each chicken on the threshold and encouraged them to jump off. After a couple times, they learned to do it automatically.

Step 12: THE END

I will be updating this instructables soon with a video of all the chickens walking out. I really hope you enjoyed this project. I worked really hard on it, and had a lot of fun.

I am finding more and more that on big projects, the two best parts are thinking of the idea and finishing the project. I had a lot of fun during this whole project. The key is to be relaxed and take a lot of breaks from it.

If you have anything to say, comment below. If you think this looks futuristic and awesome (it does) vote for me in the entered contests.

Makerspace Contest 2017

Runner Up in the
Makerspace Contest 2017

Before and After Contest 2017

Participated in the
Before and After Contest 2017

Invention Challenge 2017

Participated in the
Invention Challenge 2017

Home Improvement Contest 2017

Participated in the
Home Improvement Contest 2017

Power Supply Contest

Participated in the
Power Supply Contest