Egg Incubator

The goal in making this incubator was to replace a 1950's incubator from a school with a more automated version with greater capacity. The original had a temperature controlled light and space for 12 eggs. I had decided to go shopping for a disposable styrofoam cooler to house the incubator when I found a Microwave oven at the recycling center. It looked promising with a workable door, room on one side for the Arduino controls and stuff like the cord I could use. Once home I discovered that the oven had no insulation just one or two layers of sheet metal. If you decide to go this route you might want to see if there is a microwave/convection oven combination oven that might already be insulated. A dorm size refrigerator might work well too. A neighbor wanted a large version of this incubator and there is no reason that the control would not work for a 400 egg refrigerator size incubator. The motor used to tip the eggs would need to be scaled up or greared down and the relay for a heater might need to be switched with a larger one or a solid state relay capable of handling the amperage.

What I ended up with was an incubator that could handle 3 dozen eggs at a time, a fan to circulate the heat from a 25 watt light bulb. The heat is controlled within 0.2 F. The eggs are tilled once every four hours. The humidity is checked and a beeper goes off when low to remind you to add water under the eggs. The tipping mechanism is removable and is not used for the last three of incubation. The fan is controlled by the door switch. Maximum and minimum temperatures and humidity are tracked. The keypad from the microwave is used to control the LCD screens and to manually control the egg tipping.

Oven minus the guts

To start with I removed the cover to the microwave and removed most of the components. I left the door switches, electrical cord and touch panel. This image shows the left side of the oven with insulation added.

Arduino installed

After removing the circuit board from behind the touch panel it was replaced with a piece of plastic and the Arduino and a relay board were mounted on it. The ribbon cable from the touch panel was attached to its own circuit board and mounted on the plastic also. Below the Arduino and above the relay board is a stepper motor controller board. Only the light green corner is visible behind the wires.

The center of the bottom the left side has a regular 110 v outlet mounted to the metal base. Two screws attach to holes in the base that were tapped. Power from the 110 cord go to this outlet and to the relay for the light bulb/heater. The cord is grounded to the oven using the original grounding screw. A 9v transformer powers the Arduino and a second one powers the small 12 volt air circulating fan. Above this in the center is a fabricated sheet metal bracket that holds a geared down stepper motor. This was something I had on hand and a servo would have been easier to program and easier to track its position. The stepper motor has a piece of 1/4 inch square stock steel with holes drilled and tapped to mount it on the stepper and to connect to the wire used to tip the eggs. The light spot to the right of the stepper is an opening cut into the main oven to allow the wire to go in.


A newer version of the incubator code has been loaded up. It includes the ability to replace the stepper motor with a servo to turn the eggs. A few of the pin assignments have been changed so if you have the incubator set up with the old code check out the new pin assignments.

All the user set variables have been moved into a setting.h file. This include the pin assignments, the minimum and maximum angle the servo will travel, the delay used to slow the servo down and if the tipping is enabled at startup.

A screen was added to the options on the LCD screen to allow the tipping to be enable or disabled for days 18 to 21 when the eggs should not be tipped. file has both the Incubator2014 sketch and the settings.h file.

Files download


New with servo

Incubator with servo replacing the stepper

A servo has replaced the small stepper motor. So far it seems to work well. It will get tried out with 3 dozen eggs start soon. The servo is attached to custom cut and bent piece of sheet metal. A small section of wire bent with loops on both ends form a push rod to tip the eggs. has a couple of fixes and now uses the "New LCD" library. It replaces the built in library that comes with the Arduino software.

It can be found here.

Read the section near the end on"Downloading and Installation"

Here is the download page for the library.

Please send any comments or questions to