Image of grog
Greg's temperature-controlled fridge
Greg's main brewing page
Other beer links
Brew index
“Groggy Ale”
Greg's brewing log
Greg's home page
Greg's diary
The Great Decoction Experiment
Google

This page describes the methods I used to use to keep the temperature constant when brewing beer. It's the second attempt; the first attempt was seriously suboptimal and worked quite badly under some circumstances. For blow-by-blow details of the problems and issues I had setting up this control system, see my brewing log.

Status

I wrote this page in June 2004, and much of it still reflects the conditions at the time. As of September 2021 I'm in the process of updating it; this status paragraph will show how far I have got.

Other documentation

I have presented a paper on this system at GUFIcon#6, at Linux.conf.au 2006, at BSDCan 2006, and at Grain and Grape in Melbourne. The link is updated as I present the paper. There are also some slides.

Overview

The control system uses a computer to monitor a number of temperatures inside a fridge and turn on either the fridge motor to cool the surroundings, or a light bulb to warm them:


https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040605/big/Temperature-control-1.jpeg
Image title: Temperature control 1          Dimensions:          1536 x 2048, 384 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 5 June 2004, thumbnails          All images taken on Saturday, 5 June 2004, small
Diary entry for Saturday, 5 June 2004 Complete exposure details

   
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040605/small/Temperature-control-2.jpeg
Image title: Temperature control 2
Complete exposure details
Dimensions: 601 x 451, 66 kB
Dimensions of original: 2048 x 1536, 384 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Saturday, 5 June 2004:
thumbnails    small images    diary entry

The equipment I used is:

The real fun in getting this working wasn't the hardware, which is easy enough to get. It's also not really the software, which I wrote myself, and which I'm still tweaking. The real problem were the little details and connectors and things. I spent a lot of time—see the brewing log—trying to decide how to connect things. Finally I discovered an old computer lying around without a mother board, so all the front panel connectors were hanging loose. That's exactly what I was looking for to mount the temperature sensors:

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040603/small/Probes-1.jpeg
Image title: Probes 1
Complete exposure details
Dimensions: 601 x 451, 34 kB
Dimensions of original: 2048 x 1536, 240 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Thursday, 3 June 2004:
thumbnails    small images    diary entry

Other issues in the mounting included the fact that the kits are designed for external mounting (and the relay board needs a 12V power supply). I wanted to mount both inside, which had the added advantage that I could use the computer power supply to power the relay board. The problem was a certain amount of external cabling:

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040604/small/Temp-logger-1.jpeg
Image title: Temp logger 1
Complete exposure details
Dimensions: 450 x 600, 72 kB
Dimensions of original: 1536 x 2048, 512 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Friday, 4 June 2004:
thumbnails    small images    diary entry

This one shows the temperature probe assembly. There are no mounting holes on the probe board, so I had to mount it by its 9 pin serial connector. I had already connected to probe cables to a 25 pin connector. I wanted it inside the case, so I had to connect the flat cable to the serial port on the outside of the case (the grey cable going out through another cutout just below the probe board). I need to find some kind of plate that I can use to mount it inside the case.

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040604/small/Relay-board-1.jpeg
Image title: Relay board 1
Complete exposure details
Dimensions: 601 x 451, 54 kB
Dimensions of original: 2048 x 1536, 336 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Friday, 4 June 2004:
thumbnails    small images    diary entry

This shows the 12V connection to the relay board. I mounted it from the top of the cabinet, and the 12V input is from the computer power supply.

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040604/small/Relay-board-2.jpeg
Image title: Relay board 2
Complete exposure details
Dimensions: 601 x 451, 40 kB
Dimensions of original: 2048 x 1536, 240 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Friday, 4 June 2004:
thumbnails    small images    diary entry

This one shows the other side of the relay board with the mains power connections.

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040604/small/Computer-1.jpeg
Image title: Computer 1
Complete exposure details
Dimensions: 450 x 600, 56 kB
Dimensions of original: 1536 x 2048, 352 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Friday, 4 June 2004:
thumbnails    small images    diary entry

A view of the back of the computer. This shows a number of things:

Installation

The next step was installation in the laundry:

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040605/small/Temperature-control-1.jpeg
Image title: Temperature control 1
Complete exposure details
Dimensions: 450 x 600, 64 kB
Dimensions of original: 1536 x 2048, 384 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Saturday, 5 June 2004:
thumbnails    small images    diary entry
 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20040605/small/Temperature-control-2.jpeg
Image title: Temperature control 2
Complete exposure details
Dimensions: 601 x 451, 66 kB
Dimensions of original: 2048 x 1536, 384 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Saturday, 5 June 2004:
thumbnails    small images    diary entry

Note the position of the temperature sensors:

Sample output

The software produces output in a number of formats. The most obvious one is a text display of the temperatures on a screen. You can also get up-to-date information about the current temperatures by contacting my machine:

=== root@quartet (/dev/ttyp3) /home/grog 22 -> telnet brewer.lemis.com 4135
Trying 192.109.197.147...
Connected to brewer.lemis.com.
Escape character is '^]'.
Time      Brew    Brew  Base  Ambient Goal  Offset  Room
            43      44
18:23:39  19.06  18.93  18.99  18.12  19.00  -0.01  23.31
Status: Idle
Connection closed by foreign host.

It's possible that somebody will try to compromise this system via telnet. They won't succeed, but if they bombard me with enough traffic, it'll be expensive anyway. If this happens, I'll remove the facility.

The other representation is a graph. A recent graph (typically less than a day old) is shown on my brewing home page. A typical graph looks like this:

Fermentation temperature graph

Watch this space: it will start to look prettier. The information is:

  1. Y axis: temperature.
  2. X axis: Time. This should be the local time (Australian CST, 9½ hours ahead of UTC in winter, 10½ hours ahead in summer), but currently it's still showing UTC.
  3. Red line: Temperature of first brew (Brew 43 in the example, but this will change).
  4. Green line: Temperature of second brew (Brew 44 in the example, but this will change).
  5. Dark blue line: Ambient temperature in the fridge. This is the temperature of the air that cools or warms the beer.
  6. Base: The temperature that is being controlled. This is somewhere between the temperature of the first and the second brews, depending on what I have told the program. In the example it's fairly clearly the temperature of the first brew, but this will change depending on what I'm brewing. It's very often the average of the two. This information is supplied in the text version only.
  7. Purple line: Goal: The temperature that the wort should achieve.
  8. Offset: The difference between the base temperature and the room temperature. This information is supplied in the text version only.
  9. Cyan line: Room: The temperature outside the fridge. This is purely informational; it (currently) isn't processed in any way.
  10. Brown line: Indicates whether the system heats (line up from centre) or cools (line down from centre).

Current status

I have released the first version of the software, but the documentation is pretty primitive. Since release I've found some minor bugs, but they're not worth fixing yet; when I have the documentation, I'll put up a new version. Download the tarball, extract with tar and read the file README

Other links

Other people have been doing this sort of thing too. In particular, the following links may be of interest:

If you hear of any others, please let me know and I'll update the list.


Greg's main brewing page Greg's home page Greg's diary Other beer links Greg's photos

Valid XHTML 1.0!

$Id: temperature-control.php,v 1.22 2021/09/29 05:04:38 grog Exp $