Mobile Chicken Coop with some automation

Written by: roboguru

Picture of Mobile Chicken Coop with some automation

My wife and I have wanted to raise chickens(for the eggs) and we finally decided to do it this spring.  I have read a lot about pastured chicken and wanted to create a mobile coop so that the chickens would not destroy the yard.  I have a fairly decent sized yard for the burbs so I hope to move the coop every day or every other day if possible.  Hopefully there will be enough space to rotate efficiently   I am planning on using mobile fencing to limit the chickens to an area around the coop. This would be moved with the coop everyday as well.  So coming up with a system to make this simple is an important goal.

Also I have messed around with the Arduino over the years and thought it would be a great tool for reporting the temperature, water use and closing the doors at night.  I hope to use Zigbee to transmit the data back to a pc in the house, then display the data on a web page for remote viewing.  The general dimensions are 4 feet by 3 feet with a height of 5 feet on the high side and 4 on the low.  It will be raised 2 feet off the ground to keep the critters away and have less impact on the grass.


Items left(items will be removed as they are add to the instructable):
Update:
Still searching for some cedar shingles for the siding.

Added Roof Step 5
Added Door and Ramp Step 6
Added Electronics Step 7
Added Software Step 8

Automation(motor problems)
 

Step 1: Building the frame(lessons learned)

Picture of Building the frame(lessons learned)frames_finished[1].jpgpocket_screws_broken[1].jpgside_bracket[1].jpglateral_bracket[1].jpgframing_almost_done_blanked out plate.jpg

The basic design was to build a frame similar to the slanted roof  in the example picture.  I initially used a pocket screw jig but it caused some serious structural integrity issues so I used small steel brackets.  I talked to one of my coworkers and he said I just did not set up the jig correctly.  Maybe in the future I will see if it can be used in a better manner.

Step 2: Adding the sides

Picture of Adding the sides3_sides_on[1].jpg4_sides[1].jpg4_sides_back[1].jpg4_side_inside[1].jpg

We plan on added cedar shingles to the sides for aesthetics   Cedar shingles would not provide enough support or protection themselves on their own. So I decided to put 5.0mm plywood(subflooring) on the sides because it would be a good balance of weight and strength .  I did not want the coop to be too heavy and hard to move around the yard.

Step 3: Perches and Nest boxes

Picture of Perches and Nest boxessupports[2].jpgnest_box_hole[1].jpgnest_box_lid[1].jpgperch_and_mesh_1[2].jpgmounts_no_flash[1].jpgnestbox_frames[1].jpgfull_nest_box_frame[1].jpgmounted_nestbox[1].jpgdetached nestbox.jpgfully_assembed_nestboxes[1].jpg

There is a 1 foot gap in the floor that two perches are mounted above.  One perch is placed directly over the gap and the other one in right front of the nest boxes so that the chickens can hop right in.  The gap is covered with 1/2' mesh to allow the chicken droppings to fall onto the grass instead of building up in the coop.

Step 4: Attaching the Tires

Picture of Attaching the Tiresone_tire[1].jpgBoth_tires[1].jpg

The original and future designs will entail 4 wheels but due to budgetary concerns I just mounted two wheels on one side.  The coop can still be moved very easily by lifting the non-wheel side. 

Step 5: Roof (and painting)

Picture of Roof (and painting)items_of_the_day[1].jpgsupports_and_hinges[1].jpgfrontview_lid_open[1].jpgbackview_lid_open[1].jpgouter_pieces_screwed_in[1].jpgmiddle_sheet_powergrabbed[1].jpgroof_open[1].jpgPainted_with_roof_and_nestboxes[1].jpg

Originally, there was no plan to paint the chicken coop, but the plywood that I used can easily disintegrate if it gets wet. We had some leftover exterior primer + paint, and my wonderful wife painted as much of the coop as she could before the primer + paint ran out. 

The roof is 40" x 52", and I was able to acquire some metal roofing that was 8 feet by 25".  I forgot that the longer of the two lengths was horizontal, not vertical, down the roof.  Fortunately, I was able to use 3 pieces.  I screwed in the outer two then glued the middle piece over the top, covering the screws.  The final dimensions of the roof are 48" x 60" with 4" of overhang on all sides.

Step 6: Ramp and Door

Picture of Ramp and DoorBlock[1].jpgRamp_and_cutout[1].jpgdoor_open[1].jpgdoor_closed[1].jpgdoor_Opener[1].jpg

The ramp and door have been a quandary   I have been trying to figure out the best way to automate the opening of the door and dropping of the ramp.  I went with a simple hinge setup for both the door and the ramp.  I have done some testing with the door opening mechanism, but the motor is stripping the wood.  I have not been able to figure out a ramp lift mechanism yet.

Step 7: Electronics and Sensors

Picture of Electronics and Sensorsbubble_wraped[1].jpgdoor_sensor[1].jpgfinal_setup[1].jpgxbee_pc[1].jpgIMG_20130127_211426[1].jpg

There are three sensors in the system: thermistor for temperature, capacitive sensor for  water level and contact sensor for door status.  All the sensors are connected to an Arduino Uno via a custom board I built..  Xbee communication is handled with an xbee shield from Sparkfun and an xbee adapter/FDTI cable from Adafruit.  Here is a great basic tutorial for Xbee.

Thermistor is just a standard NTC with a 10k pullup.  The water sensor is two pieces of aluminum on both sides of the water bottle.  One side is grounded, the other side is tied to the sense pin.  A 1 Mohm resistor is jumpered between the receive pin and sent pin.  The capsense library for Arduino makes this fairly straight forward.  The door sensor is just two piece of aluminum that connects the pin to ground when the door is closed.

Step 8: Software

Picture of SoftwareDartium_python.jpg

All of the code has been committed to github and can be found here.  The code is broken down into three parts: Arduino, Web and pc side.  Arduino reads the sensors then formats the data into a json message.  This is sent over Xbee to the laptop.  The python code reads the data saves it to a text file then uploads the file to the web server via ftp.  In the future I would like to have a way to push commands to the controller from the website.

I have been messing around with Dart, Google's attempt to replace Javascript and I like the syntax it is closer to C so I am more comfortable with it.  There seems to be a bug with the dart to javascript conversion so the website is not optimal in browsers that don't have the DartVM.  The webpage should auto-refresh every 10-30 seconds.

Leave a Reply