DIY electronic fermentation chamber heater - Home Brew Forums
Register Now For Free!

Home Brew Forums > Home Brewing Beer > DIY Projects > Fermenters > DIY electronic fermentation chamber heater

Thread Tools
Old 01-22-2009, 12:11 AM   #1
Dec 2008
Posts: 22

My house temperature fluctuates a lot during the day. My basement goes from 68 F to 56 F throughout the day. For the Ales i plan to brew during these cold months, I plan to make a temperature controlled chamber. At the moment I'm only focusing on heating the chamber. When spring comes I will setup up a cooling element too.

Coincidentally, I had all the pieces i needed lying around. The thermistor I used was a Vishay 2381 640 which is 10K ohm at 25 deg C. I used the PIC24FJ64GA002 micro controller. For logging temperatures, I used a VDIP1 module to write the temperatures and various other parameters to a USB thumb drive. I used a couple power resistors to generate around 18 watts of heat into the chamber. It's not a lot of heat, but I'm limited by the power supply I'm using. I also used an LCD to display the temperature.

I stuck the heating component into a mini fridge, which is unfortunately too short for a carboy, but a plastic bucket will fit. The temperature range i picked was 76 - 79 deg F just for testing. The ambient temp was about 68.

Here's the temps inside the mini fridge (mini fridge was unplugged):

Here's the circuit in operation:

You can see the white ceramic power resistors inside. I used 4 of them so they don't get hot enough to be a fire hazard. Ideally, I would use a 100+ watt resistor strapped to a huge heat sink but i don't have one on hand. There's a small computer fan in there too to circulate the air and there's a FET switch transistor with a black heat sink. The grey wire coming over the top is the thermistor which is used to calculate the temperature.

Here the display shows 68 F because the door is open:

I'm using a 12v 2amp, 5v 2amp laptop power supply. The circuitry runs off 5v which is stepped to 3.3v with a regulator (LP2951). The 12v is solely for the heating resistors which is controlled with a transistor. It wouldn't be hard to replace the power resistors with a relay to switch on something more powerful.

Now i need to make a larger chamber to fit a glass carboy.

If anyone is interesting, I can post the firmware and schematic.

Reply With Quote
Old 01-22-2009, 12:23 AM   #2
Aug 2008
Bowling Green, Ky
Posts: 185
Liked 4 Times on 4 Posts

You happened to have all those parts laying around? Do you also have a hunchbacked assistant?? *no offense if you or any member of your immediate family is, indeed, a hunchback*
Baby, to a hammer everything looks like a nail...

Reply With Quote
Old 01-22-2009, 12:48 AM   #3
Dec 2008
Posts: 22

Sweet, just found this: Which would be perfect.

Hah! Deacon, I don't have a hunchback assistant, but that would be awesome! I just finished a bachelor of computer engineering, so I actually did have all that stuff lying around.

Reply With Quote
Old 02-03-2009, 10:24 PM   #4
Dec 2008
Posts: 22

I was PMed about the schematic so here it is. Nothing fancy but it's what's on the breadboard. I'll include some notes on using this too.

I used a pretty proprietary LCD (optrex im50240) with shift registers. So you might have to skip the LCD or wire it for a different unit.

Also the VDIP1 has gone up in price by a lot, so the project isn't totally economical.

The heater control is opposite of convention, so high signal turns the heater OFF. Low turns the heater ON. Stick an inverter in there just in case the PIC fails, so the heater turns off.

I don't recommend building this unless the user accepts all responsibility for any damages it may cause, like a house fire. The power resistor can get very hot and resistors that are too small will burn up and cause a fire. The user should also have some electronics experience to debug the circuit.

Edit: Code is too long to post in here

Reply With Quote
Old 02-04-2009, 03:32 AM   #5
Dec 2008
Posts: 22

I'm going to reply to a PM here since it's related to the project and might be useful for anyone else looking into similar projects. This will outline my method for reading thermistors.

The method i used to sense the temperature is with a thermistor. The one I'm using is NTC (negative temperature coefficient) which means the resistance goes down as temperature goes up. It's essentially a resistor that changes resistance with temperature.

The temperature of the thermistor is calculated from a formula from the data sheet:

Temperature = 1/(A + B*log(R/Rf) + C*(log(R/Rf)^2) + D*(log(R/Rf)^3))
A = 3.354016E-3
B = 2.56985E-4
C = 2.620131E-6
D = 6.383091E-8
Rf = 10000
R = the resistance of the thermistor

This sounds complicated, but the data sheet also lists a table so you don't need the formula. The formula is too complex to implement on a microcontroller; as an alternative I used a look up table (in C):

long resistance[214] = {86173,

int degf[214] = {0,

float degc[214] = {-17.8,

The look up table works by comparing the thermistor resistance to the values in the resistance array. The array index of the nearest value is recorded. That index is then used to get the degf and degc. So 75973 ohms means 4 degrees Fahrenheit.

If you do use the formula, you might note that my numbers are slightly skewed. This is just because of the way i check the resistances.

The PIC, as with other micro controllers, have analog-to-digital pins. These record the voltage at the pin. The PIC's 10-bit AtoD will read 1023 @ 3.3v, and 0 @ 0v. To convert the thermistor resistance to a voltage for the AtoD to read i stick another resistor in series with it. Since the thermistor is 10K ohm at 25 degC, I used a 10K ohm resistor in series with it. This will make the pin voltage at 25 degC be half of 3.3v, 1.65v. Now when the temperature goes up, resistance goes down, voltage goes down.

So, now we can read the voltage and (with a bit of math) the resistance. If you look at the value in the micro controller you might see that the number is slightly skewed and you'll have to add, subtract to compensate. In my case I had 1.65 volts read as 516 (out of 1023) instead of 512. However, a fancier way to compensate is to setup a bridge. I put two more resistors in series which were both 10K ohms and 1% tolerance (very precise). I then read the voltage between these resistors and low-and-behold it gave me 516.
The voltage read between the two 10K ohm resistors is a reference.

I did a bit of math and came up with a formula that converts the reference and thermistor voltage into the resistance (in C):

thermistor = (double)TEMP / (double)(REF+REF-TEMP);
thermistor = thermistor * BRIDGE_RESISTOR;

Where TEMP is the AtoD reading of the thermistor.
REF is the AtoD reading of the reference.
BRIDGE_RESISTOR is the 3 resistors' value in the bridge, 10000 in this case.

The 'thermistor' variable has the resistance to apply to the look up table.

So far I used 2 AtoD pins on the micro controller, but the PIC24 I used has about 5 usable pins for AtoD. I can keep adding resistor+thermistor pairs (~$0.93 each) for more temperature sensors while keeping only one reference for them all.

To use the VDIP1 to write to USB is a bit more complicated and i'll cover it in a post following this one.

Reply With Quote
Old 02-04-2009, 11:15 AM   #6
Jan 2009
Lincoln Park, MI
Posts: 299
Liked 1 Times on 1 Posts

Originally Posted by Nebuch View Post
I'm going to reply to a PM here since it's related to the project and might be useful for anyone else looking into similar projects. This will outline my method for reading thermistors.
Nebuch - Thanks for posting this information, it's going to be a great starting point, and I suspect it will consume many upcoming nights and weekends.

Nice job!!

Reply With Quote
Old 02-04-2009, 05:47 PM   #7
Sep 2008
Raleigh, NC
Posts: 193

Wow, and I just bought a $5 space heater with a thermostat on it. Your heater is WAY out of my league!

Reply With Quote
Old 02-09-2009, 09:19 AM   #8
Feb 2006
small island paradise, the lost atoll
Posts: 3,500
Liked 26 Times on 26 Posts

Check out this company below on their strip heaters, they range from 20 watts to 1,000 watts 120 volt to lower than 1,000 watts and higher at 240 volts.
With what you have in equipment add a computer fan to come on with the heater plus add a snap thermo over temp around 120 degrees to a chamber or sheetmetal duct for the element and fan to mount in. The element can run without any fan without over heating but you will not get the heat were you need it without a fan. Check out pages 5, 6 and 7 for round disc heaters if they can help you with their specs and wattages of these strip heaters.

Hope this helps. Cheers. Carl........
Bier Jagdwaffe... Bier 30 zeit.....~~=o&o>..........

Reply With Quote
Old 02-09-2009, 04:23 PM   #9
Dec 2007
El Paso, Texas
Posts: 1,357
Liked 102 Times on 79 Posts

Nebuch very nice project.

I converted a cube Heier fridge into a incubator.
The heater is a Sylvania 500 W, 230 V IR SYLVATHERM element.
I use the heater as a 125 W unit on 120 V.
Installed a over temperature snap action switch on top of the mounting plate.
For my application the air circulation is done by my stir plate fans.
The stir plates are equipped with cutouts.


fc36 Likes This 
Reply With Quote
Old 02-11-2009, 04:10 AM   #10
Dec 2008
Posts: 22

Thanks for the ideas. I'm now rolling around the idea of using a peltier for cooling.

Reply With Quote
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Control Fermentation temp with Aquarium Heater chemist308 General Techniques 20 12-15-2012 12:13 AM
heater for fermentation OHIOSTEVE Beginners Beer Brewing Forum 5 09-18-2009 11:29 PM
Fermentation Chamber Seeves1982 Fermenters 1 07-15-2009 08:21 PM
Heater for fermentation chamber dunleav1 Fermenters 7 04-08-2009 11:27 PM
Fermentation Cooler/Heater from a Coleman Xtreme? ColoradoXJ13 Equipment/Sanitation 8 03-27-2008 07:10 PM

Forum Jump