I’m tired of trudging through the snow in my pjs during cold, dark mornings to let the chickens out at sunrise. I’m also tired of rushing home in the evenings to shut their pop hole and worrying about the wild temperature swings we have here in the Front Range. So, I’m finally doing what I’ve been threatening to do for some time now: automate the chicken coop!! What will that look like?
Our design uses an Arduino Uno + Wifi Shield + various sensors to detect the state of the coop like temperature, light, and whether the chickens are roosting to ultimately determine what the door and heater should be doing at that moment. The Arduino controls the motor that opens and closes the pop hole door and switches the heater on and off. A server application running on an iMac controls the Arduino wirelessly over the local network. The server functions as the “brains” of the operation and runs the automation based on the coop conditions the Arduino is reporting. I also plan on creating an iOS app to remotely monitor and control the coop via the server.
Luckily, I have a great group of folks who are working with me on this project – Jason in Oakland and my husband Nathan. We are collaborating and sharing our work on github.
Hardware list (so far):
- Arduino Uno
- Arduino Wifi Shield
- DS18B20 One-wire temperature sensors (2)
- Flexiforce Pressure sensor
- photo resistor
- 10 rpm motor
- motor controller
- PowerSwitch Tail II
- microswitches (2)
Here are the pin assignments, although these may change. Yikes! Running out of I/O…
Development will proceed in 5 phases:
- Enable sensors (in progress): We’ve got a breadboard prototyping shield and have the temperature sensors working. Wifi is also up and running. The enclosure consists of some cruddy tupperware:
- Data gathering: Write a server daemon to request sensor data from the coop and store it in a SQL database. Generate plots for analysis. I’m interested in the light measurements vs. time all the birds have settled on the roost vs. what time the internet says the sun sets/rises vs. the weather conditions (i.e. sun/clouds/rain/snow) vs. the inside/outside temperatures.
- Construct the door assembly: Build pop hole door which will slide or rotate (vertical operation will require some additional mechanism to hold it in the open position). Connect motor, motor controller, and bumper sensors to operate the door. No locking mechanism is required since this door is inside of the closed run.
- Automation: Derive robust algorithms for opening and closing the door and operating the heater (thermostat). Implement on the server side. Detect and log error conditions. Send SMS messages on errors.
- iOS control app: Write an iOS application that serves as a control panel for the door/heat and associated automation, as well as displays current webcam images (cams already installed).
That’s it! Now back to work…