Arduino Food & Beverage
Arduino Controlled Cooling/Heating System for Beer Fermentation


TEC cooled beer fermenter

Temperature control during fermentation is a key factor for the perfect home-brew, and it’s mandatory if you would like to brew like a professional. There are lot of techniques that are used to control classic fridge or heating element and lot of automation implementations—this project started out as a classic fridge modification, adding a thermo regulator in the range of fermentation and eventually a complementary heating element.

The idea is to leverage the Peltier effect—and a thermo electric cooler (TEC)—that is the main functional component in a lot of cooling applications as there are lot of advantage for controlling the temperature of a small amount of beer (small volume) trough an electronic device rather than using a classical mechanical compressor.

First of all you can modulate the power instead having an sharp on/off control, so you can achieve better precision and stability via a PID /PWM algorithm as well as reducing the power consumption, when the beer reach the stable set point (as the fermentation will produce a small amount of heat). The other key factor is that you can revert heating and cooling so you can compensate for your room temperature in summer and in winter—here is no need to coordinate two different process the e/o elements and the TEC are “all in one”

Final, the other intrinsic advantage is that there are no mechanical parts involved so you can design a very compact and low noise system for the home environment.

I have done many previous implementations (non-Arduino based), both with air to air exchange creating a fermentation chamber, and air-water exchange recirculating cool/hot water with a chiller inside the fermenter to chill the fluid.

TEC cooled fermentation chamber

Now I’m porting the solution to an Arduino based control system and I’m trying to set up the basic core code for both PID controlling temperature and PWM / H-bridge motor shield to drive the TEC

Arduino PID-PWM-HBrdige TEC controller

The block diagram shows my solution. Arduino read temperature from digital sensor (Dallas oneWire DS18B20 series) and the PID algorithm producing a PWM signal with variable duty cycle. The PID provides the “direction” of the control—either for heating and cooling—while the PWM signal and direction are sent to an H-bridge power device that (DC motor driver) that drives the cells. A fan speed is also controlled accordingly to power of the cells.

At this stage I set up a laboratory test enviroment with a single pettier cell, 2 heater exchangers, and 2 fans in order to develop and debug the control algorithm and the service logic

Arduino TEC test set up

One side of system with heating/cooling element and fan has been inserted in a ice cream polystyrene box in order to simulate the fermentation chamber.

TEC fermentation chamber

I was able to reach good stabilty with this air/air set up as demonstrated the below graph obtained with serial print value of the arduino PID.

PID control output

The next step is to scale the solution to the air-water heat exchanger and add all the end user interaction menu.


Davide Arzarello founder of arzaman engineering is Electronic engineer with solid design and engineering competence DIY enthusiast , curious , passionate, experimenter, maker Fond of food&beverage , professional sommelier, lecturer &trainer, wine/beer/cheese taster..and producer longtime homebrewer and craft beer expert

View more articles by arzaman