The aim of the workshop was to construct a basic, low-cost incubator from parts commonly available. Incubators are devices allowing to adjust and keep environmental conditions such as temperature, humidity and CO2 concentration. They are commonly used to grow microbiological cultures, hatch chicken, or also to care for premature newborn infants. Unlike lab-grade incubators, the design we are using only allows to maintain constant temperature (it only has a heating element). In the framework of BioDesign for the Real World, such an incubator could be used for the following.

  • Prepare cell or bacteria cultures for analysis (e.g. E. Coli contamination), to distinguish fecal coliform bacteria, which will survive at 44oC, vs total coliform bacteria at 35oC.
  • Prepare fermented food (yoghurt, natto, tempe, etc.) as an introduction to DIY biology.

Modern biology relies on increasingly complicated instruments and machines. This makes it practically impossible for anyone outside a university or company lab to have access to this technology. By creating open, easily replicable designs using freely available parts, we hope to bring the technology and the knowledge out of the lab to be used by communities.

Location and audience

To reflect this out-of-the-lab philosophy, the workshop was held at Atelier Hirokouri in downtown Lausanne (instead of EPFL campus). We were two instructors (Sachiko and Robin) and eight attendees, most of them from a graduate biology/life science background.

Incubator design

The incubator design is a simple one. It relies on a single heating element (a standard E27 light bulb), a temperature sensor (LM61CIZ), and a control board that controls how long the light bulb is on/off according to the sensor reading. For the container, we use a Styrofoam box such as those used for food (fish, meat, etc.) or biological sample. We salvaged the boxes from the biology department garbage, but such boxes can also be found in fish markets, supermarkets, or bought new in a shop.


Except for the control board that we custom designed, all the parts can be found in a hardware store. Here’s what you will need.

photo 4

Because we want the whole system to have a single power cord, we also attach to the board an electrical socket where we can plug the 5V wallwart that will power the board.

photo 1

Finally, two important points. First, since the environment can get pretty humid in the incubator, the temperature sensor needs to be thoroughly waterproofed. Second, there should be enough distance between the light bulb and the Styrofoam to avoid the latter melting. Here’s a picture of our setting.

photo 3

Temperature control system

The control system design is based on a previous homebrew clock design which had already been used similarly for an oven hack. This design had a 7-segment display, a 32.768 KHz crystal (to keep track of time), temperature sensor, a button, and everything was driven from an ATmega328p (the same microcontroller used by Arduino). In the oven hack, the design relied on an off-board AC relay to switch the main alternating current to the heating element. For this project, the board was redesigned to include the relay on-board and with an additional button for easier settings. In addition, the board has a serial breakout, and the microcontroller is pre-loaded with the Arduino bootloader to make it easy to change its firmware. The schematics and CAD files can be downloaded from the BioDesign github.


The temperature control is done using a PID loop. We divide time into 5 seconds interval. The PID loop then computes the ratio of how long the bulb should be turned on as a function of the error (difference) between the current temperature and a target temperature. In the code, we use the Arduino PID library. The parameters of the PID loop were set manually to achieve satisfactory performance. They are by no means optimal! 🙂

We first ordered the board to be fabbed by Seeed Studion in Shenzhen, but we soon realized that they would not make it in time for the workshop. We thus decided to “homebrew” them. To make the manufacturing process the Fermento_1side_masklayout of the board was redone to be single-side (all traces on the same side of the PCB). Then, we printed a mask on transparent using a laser printer. Finally, we realized the PCB at the Atelier pour le routage et la fabrication de circuits imprimés who kindly provide resource and knowledge to students.

A few weeks after the workshop, we received the nice board from seeed. 🙂

The step by step soldering instructions on this board are all the way below.

2013-12-21 11.06.19


Most of the time during the workshop was spent assembling the electronics. This was a good time for most people to learn how to solder, or refresh rusty skills. But everybody did a great job and the outcome was three functional incubator control boards. Note that the sensor was waterproofed to avoid short circuits when dealing with very humid environment.

2013-12-25 11.56.15

The second part was to do the cabling of the light bulb socket, the electrical outlet and the control board. Then, holes were made in the Styrofoam boxes to accommodate the light bulb and the temperature sensor. Finally, all the boards were programmed and debugged until all the incubators were functional.

Food recipes

Important: do not use the same incubator for fecal bacteria culture and food!!

Yoghurt. Ingredients: milk, yoghurt (~40g/l of milk).

  1. Boil milk in a pot for 20-30 minutes. Letting some of it evaporate will make for a creamier yoghurt. Try to scoop any skins forming on top.
  2. Turn the heat off and wait until the temperature of the milk goes down to 45 degrees Celsius. For this step, a cooking thermometer can be useful.
  3. While the milk cools down, sterilize some pots with boiling water.
  4. When the milk reaches 45 degrees, mix in the yoghurt. Stir.
  5. Pour the mixture into the pots.
  6. Place the pots in the incubator set to 45 degrees for 4-6 hours.
  7. When the time is up, place the yoghurt pots in the refrigerator.

Natto. Ingredients: soy beans, natto (20 grains/kg of soy beans).

  1. Boil the soy beans for 3-5 hours. They should be sufficiently soft to be crushed easily with chopsticks (or your fingers).
  2. Place the beans in a box, mix in the natto beans.
  3. Place the box in the incubator for 24 hours at 40 degrees.
  4. Place the box in the refrigerator for another 24 hours.
  5. Enjoy.

Alternative DIY incubator designs

Step by Step Soldering

10 thoughts on “DIY incubator

  1. Pingback: DIY Incubator Cooks Bacteria… Or Yogurt!

  2. Pingback: Belgaum news | About Belgaum | Belgaum information | Belgaum district | Belgaum city | Belgaum Hotels | Belgaum People | Belgaum tourism | Belgaum entertainment | Belgaum students | Inside facebook | Hack | make use of | technical news | | DIY Incubator C

  3. Pingback: DIY Incubator Cooks Bacteria… Or Yogurt! | Hack The Planet

  4. Pingback: Catching Up: Recap of DBL’s Synthetic Biology Workshops | Denver Biolabs

  5. Pingback: PCB printing using Laser Cutting | biodesign for the real world

  6. Pingback: Student project ideas for freshman design seminar 2016 | Gas station without pumps

  7. Hi bio team,

    I’m an amateur mycologist, and I’m curious about something. Most of the people involved in my hobby use tub-in-tub incubators, which are notoriously bad. They, however, have way more floorspace than your model. Would it be possible to heat a larger floorspace with this same electrical setup, with only a higher wattage bulb and computer fans?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.