Arduino Egg Incubator




Intro: Arduino Egg Incubator

There are several incubators on instructables... why create yet another? Because choice is good, and I liked something from each of the others, not one in particular.

My Goals:

  • Check once/twice a day to rotate eggs
  • Not spend too much (I had a lot on hand, spent $50 more)
  • Use skill I have to build
  • Not be too complicated

Those last two bullet items mean to write some software, which is what I do for a living. I spent about a day to get this done. I also had my 9 year old and my wife helping. Turned into a great family project!

Here are some of the instructables that I got idea's from:

UPDATE: So I did not have enough fresh air entering the incubator. Because of this my eggs did not hatch. If you follow this build, just make sure you add more ventilation than I did.

Step 1: Container & Egg Holder


  • Hole saw
  • Rasp
  • Utility knife
  • Nail gun & compressor
  • Staple gun


  • Foam container (Walmart)
  • Plexiglass (Lowes)
  • Duct tape (Lowes)
  • 5/8" x 1.5" wood scraps (Wood stakes - Lowes)
  • Nails
  • Screen mesh (Lowes)
  • Staples

Using the hole saw we cut a viewing hole in the top of the container. Using a utility knife I cut a piece of plexiglass a little bigger than the viewing hole. Then traced the plexiglass onto the container and used the utility knife to trip a bit more of the container so the window would sit flush. Duct taped plexiglass into position.

For the egg holder, I used the scrap pieces of wood to make a rectangle tray about the same size as the opening of the foam container. Then stapled the screen to the bottom of the frame. Finally put some slats to be able to divide up the eggs.

I didn't want the egg holder to be on the bottom, but instead suspended. In order to do this, since the container is tapered on the inside, I carved into the styrofoam a tray holder with the utility knife and the rasp on the corners and two long edges.

Step 2: Electronics and Wiring


  • Computer
  • USB cable
  • Arduino software
  • Breadboard
  • Soldering Iron
  • Wiring station
  • PCB holder
  • Wire cutters/stripers


  • Arduino (Adafruit)
  • LCD Shield for Arduino (Adafruit)
  • DHT-22 Temp & Humidity Sensor (Adafruit)
  • Sunfounder Relay (Amazon)
  • Case Fan (Amazon)
  • Solder
  • Wire
  • Wire connectors
  • Shrink tubing
  • Light bulb & socket
  • Old extension cord
  • Old wall wart/power converter
  • Power strip

Code: Arduino Egg Incubator on Github

I am not the best with electronics, but I can follow others work and hack through stuff (sounds like my coding as well). The wiring diagram is attached, and should be correct :)

I then got everything working to what I hope are good specs. The LCD gives a readout of the current temp and humidity. Basically if the temp falls below 100 degrees, then I kick on the light, if it goes about 101, I kick it off. Simple. It seems to cycle the light on and off about every minute to two minutes.

The fan is powered on it's own by a 12v wall wart. I added a connection point so that I could install the fan in the incubator without putting in a big hole.

Step 3: Finishing It All Up


  • Cutters


  • Felt pads
  • Piece of wood
  • Zip ties

I cut a whole in the container for the light socket and all the wires to feed through. I didn't have a nice box to mount the Arduino and relay in, so a tupperware container does the trick for now.

Attached the fan to a piece of wood with zip ties. Put some felt pads between the fan and wood to reduce noise. Was going to glue the wood to the container, but ended up just letting it sit in there.

Finally, used little plastic container to hold some water. Put the tray into the top and was ready to go.

The incubator stays pretty close between 100 and 101.

Things I would/will change:

  • I am probably going to lower the egg tray
  • Better container for the electronics
  • Auto egg turner
  • Alarm if it goes over 102 or under 99 (email alert would be cool)



    • Furniture Contest 2018

      Furniture Contest 2018
    • Plastics Contest

      Plastics Contest
    • Side Dishes Challenge

      Side Dishes Challenge

    14 Discussions


    3 years ago on Introduction

    Nicely done and thanks for sharing this!!... I intend to build something similar and this is really useful... Especially the Arduino code, that I still have to study/learn.

    I've made a basic foam incubator (no microcontroller) that I use, and I really feel the need for an auto egg turner... Going the Arduino route, I was thinking servo(s) or, better yet, stepper-motor(s) for the auto turner tray(s)... Thoughts?

    Two quick heads up on your setup/procedure...

    1 - Don't know if you intend to keep the eggs on that tray at lockdown (you know about lockdown, right?) but, just cover the bottom of the foam container with newspaper (for example) and keep all the equipment above the eggs... It gets pretty messy (egg goo, blood, bits of shell, etc) in there when the chicks hatch.

    2 - For better results (read higher hatch rate), I would recomend turning the eggs at least 3 x day... Personally I do it 5 x day, with good results.

    Again, thanks for sharing!

    4 replies

    Reply 3 years ago on Introduction

    Holy cow! Thanks for the reply. I will be tweaking my design and turn rate to compensate!

    As for the auto turner, I haven't put too much thought into it yet. Checkout the other Arduino Incubator comments, as there were a couple of people trying to implement a turner with a servo.


    Reply 3 years ago on Introduction

    You're most welcome, I thank you.

    A couple more thoughts... Not nitpicking, just small details that help better hatch rates...

    1 - Refrain from marking the eggs with felt pen... The ink is toxic and egg shells are porous... Use a simple (carbon) pencil.

    2 - Didn't see it in there, but you definitely need air vents to outside... An airtight container is a no no, because eggs need oxigen, and release carbon dioxide, during the incubation process... I guess for that size incubator a couple of 1/2" holes (one each side wall) is enough... Experiment with the amount/size of the holes... You need air exchange, yet you don't need heat and humidity loss.

    Thanks for the link, I'll be checking it.


    Reply 3 years ago on Introduction

    I had thought about putting in a fresh fan/vent, but didn't know if it was needed. Something that would work like a dryer vent and open when the fan turned on. Then periodically turn it on.

    This might be a good solution still.

    We got the eggs from a friend who marked them, but we didn't know that.

    Your welcome, and again, thank you :)


    Reply 3 years ago on Introduction

    You don't need to force outside (cold) air in with a fan... That will make the heater/lamp work overtime... Overkill and not needed... Ideally just get/make/improvise some kind of adjustable air vent (you know the ones sometimes you see in kitchen cabinets?)... That's enough... I've seen people retrofitting some curious things for that purpose, like those adjustable opening spice jar tops... How inventive is that?... LOL...

    Regards and good hatch!


    11 months ago

    Pls update with auto egg turner


    1 year ago

    hi.i was wondering if i were using a simple 2*16 characteristic LCD what changes should i make in program and what my connections for lcd would be(lcd pins to arduino pins)?

    1 reply

    Reply 1 year ago

    I am not really sure? Look at the documentation for your LCD and compare it with the one I had? Good Luck!


    1 year ago

    thank u for this post.
    i just have one question:
    how and where should i put my air went so i have air flow but i wont loose any heat and humidity??????

    1 reply

    Reply 1 year ago

    I would put it under the tray at one of the narrow sides of the container. The arduino will take care of the heat with the light and making sure there is water in the bowl should take care of the humidity.


    Reply 2 years ago

    It is around 21 days. But please make sure there is enough fresh air entering the Incubator. There was not in my original design, so none of mine hatched :(


    3 years ago on Introduction

    You might be able to reduce you light bulb switching, and increase the bulb life, by allowing a little hysteresis in your target temperature. Something like this:

    int hyst = 5;

    if (temp < ( 100 - hyst ) )

    { digitalWrite(RELAYPIN, HIGH); }

    else if (temp > ( 100 + hyst ) )

    { digitalWrite(RELAYPIN, LOW); }

    Your temp would hold between 95 and 105. I made a ramping controller for annealing glass, so don't know what range is acceptable for chicken eggs. But it seems like burning out a bulb in the middle of the night would be bad, and this might help reduce the chances of that happening.

    1 reply

    Reply 3 years ago on Introduction

    Just for the record...

    - The correct temperature in fan assisted (circulating air) incubators is 37.5ºC (99.5ºF)... I keep mine within a 1ºC range, meaning between 98.6ºF and 100.4ºF... But I believe this kind of precision is not really mandatory, as eggs can keep temperature for a while... As long as you can keep an average 99.5ºF, all goes well.

    - "But it seems like burning out a bulb in the middle of the night would be bad"... I couldn't agree more... A batch of developing embrios could be lost, for lack of heat for a few hours... A good pratice in incubators is to split the heat souce by 2... Say, instead of a single 60W bulb, install 2 x 25W bulbs in parallel.