Freezer / Incubator

This page describes how to build a freezer/incubator using a thermoelectric device. The thermoelectric device creates a temperature gradient: cooling or heating the interior of a container relative to the outside air. We place it between two heatsinks with fans to improve the heating and cooling.

  • In open air, it can refrigerate the contents.
  • Inside a refrigerator, it can freeze the contents.
  • Inside a household freezer, it can provide a consistent -20°C, useful for storing biological compounds.
  • By reversing the polarity of the thermoelectric device, you can use it as an incubator (for example, for petri dish cultures).

Beyond aiding lab work, the system provides a chance to learn about feedback loops and basic control theory.


  • foam cooler
  • thermoelectric device (from sparkfun)
  • heat sink grease (from newegg)
  • two heat sinks with fans (from newegg)
  • zip tie (6 to 8")
  • 12V power supply
  • barrel connector adapter
  • Arduino Uno
  • Grove shield
  • temperature probe
  • relay
  • potentiometer
  • OLED display
  • Grove wires
  • short red wire
  • hot glue
  • double-sided foam tape


  1. Cut a hole in the foam cooler for the heat sink stack. Use one of the heat sinks as a guide.
  2. Place the thermoelectric device between the heat sinks. Apply heat sink grease if the heat sinks don't already have it.
  3. Secure the heat sinks using a zip tie.
  4. Connect the black wires from the fans and thermoelectric device to the negative side of the barrel connector.
  5. Connect the red wire from the thermoelectric device to one side of the relay.
  6. Connect the short red jumper wire from the other side of the relay to the positive side of the barrel connector.
  7. Also connect the red wires from the fan to the positive side of the barrel connector.
  8. Place the Grove shield on the Arduino.
  9. Connect the relay to D8.
  10. Connect the temperature probe to D4.
  11. Connect the potentiometer to A0.
  12. Connect the OLED display to an I2C pin.
  13. Use a drill bit to create a hole (slightly undersized) in the foam cooler for the temperature probe.
  14. Place the heat sink stack and temperature probe into the foam cooler. If desired, secure them with hot glue.
  15. Use double-sided tape to hold the relay and OLED display.
  16. Create a data flow for the Arduino.

Exploration Questions

  • What is the largest temperature difference you can obtain with your thermoelectric device?
  • Is the amount of cooling different when starting at a lower temperature?
  • How much of a difference is made by running the fans?
  • How often does the relay switch when running the data flow?
  • What improvements would you make to the data flow rules?