The NHC Fermentation Controller – Hardware Build

The project chosen to showcase the possibilities of the Galileo single board computer is a fermentation controller. This will have the following features:

  • The device will manage the applied power to a domestic freezer into which up to three brewing vessels will be placed. Each brewing vessel will be fitted with a brew belt to heat the contained liquid and an immersed digital temperature probe to monitor each brew’s current temperature.
  • The device can control the fermentation temperatures for up to three brews simultaneously. The freezer will be powered on to grossly cool the temperature of all brews while the brew belts will be powered on to raise the temperature of individual brews.  In this way, each brew can, within reason, be set to a different temperature.
  • The primary user interface will be via a web page hosted on the Galileo itself. The webpage will be, as much as possible, a single page application that will be optimised for display on a mobile device. It will use HTML5 and a modern JavaScript library like jQuery to manage the UI components. I’ve included a small SD card in the Galileo to allow using the card as a server. At 2GB this will provide ample space to store the necessary images and JavaScript libraries.
  • Fermentation profiles can be set individually for each brew whereby the temperature of the brew follows a curve over a period of time. This is to allow proper hands free lagering for instance.
  • Alarms will be available to deal with such issues as over-limit and under-limit conditions; power failures (after power has been restored), etc.

The Hardware

First, the mechanicals. I had a largish junction box lying around that looked perfect for the job. It is about 100mm deep, 220mm wide and 150mm height and made of polycarbonate.  Into this I’ve bolted one or the SSRs on a homemade heatsink. This SSR will drive the power feed to the freezer. The freezer will draw about 3 amps when running but may surge to double or even triple that when starting up. This level of current is borderline for a bare SSR. A heatsink is needed for safety. I had some aluminium strip lying around and made up a suitable heatsink from this and some heat conductive grease. The other three SSRs are used to drive the brew belts. Each of these draw about one tenth of an amp each and, unlike the freezer, do not provoke surges. We do not need heatsinks for these as a result.

The unit will be powered by the mains. A switched and fused C13 male socket is located on the right side of the case for this purpose.

The freezer and the brew belts will receive their power through sockets located on the right side of the case. These controlled power feeds are output through standard C14 female panel sockets. The brew belts’ feeds are clustered together to differentiate them from the freezer’s.  Female sockets are used for safety so that if a brew belt or freezer cable becomes disconnected, that there is no exposed connector pin. These pins would be at mains voltages and would be potentially lethal. Female sockets protect against this by shrouding the live pin.

The bottom side of the case contains all the low voltage connectors. This includes the USB port and network port connectors of the Galileo board and the panel mounted connectors for the temperature probes. Inside the case I’ve added to aluminium strips to carry the Galileo PCB. Intel provides appropriate standoffs and screws for the job.

The power supply for the Galileo is mounted internally in the case. I bent another strip of aluminium to form a bracket onto which the power supply can secured with a cable tie. The power supply comes with interchangeable pin modules to allow it be used in various countries. Because the power supply will be connected to the switched fused C13 socket internally, no particular pin module is needed. Instead, I will need to solder connecting wires directly to the power supply itself. Here, I’ve repurposed the US pin module to make handy solder terminals.

Finally, four LEDs are mounted on the front panel. One is blue and the other three are red. These are used to show that the power is applied to the freezer or to the brew belts respectively.

Now, the wiring. The following diagram is a schematic showing how everything is connected together.


Here we see the “mains in” socket is connected so that the live wire goes first to a Schematicfuse. This is rated at 10Amps and should be loads for this application. The fused live and the neutral then connect to a double pole illuminated switch (the socket, fuse, switch and lamp are all actually one mechanical unit). The switched neutral is distributed to the power supply, the three heater outlet sockets and the freezer outlet socket. The earth from the “mains in” socket is distributed to all outlet sockets as well. The switched live wire is distributed to the power supply and to one contact on the switched side of each of the SSRs. The other contact on the switched side of each of the SSRs is connected to the live terminal on their respective outlet socket.

The input side of each SSR is connected directly to a GPIO pin via a header that connects to the Galileo board. Each SSR input is also connected to a resistor/LED which is brought out to the front panel to given a visual indicator that the freezer and/or the heaters are individually receiving power.

Three temperature probes are wired in parasitic power mode to mono headphone plugs. Three mono headphone jacks are wired with pull up resistors and are connected to individual GPIO pins on the Galileo header.

Altogether the electronics are fairly uncomplicated. No addition PCB will be used and all wiring will be done using a screw driver or a simple soldering iron. No reheat ovens or expensive SMD soldering gear is needed.

Next blog will include the first steps in software. For now, here are some images of the parts used, the mechanical construction of the case and its contents and the internal wiring.



The case is a spare junction box I had lying around. Dimensions are approximately 220x180x110mm



The SSRs are 25A rated with optoisolation and zero crossing switching.  Zero crossing ensures that no radio frequency interference occurs when these switch on and off.4




I constructed a heat-sink from a strip of aluminium I had to hand. The SSR that will switch the freezer on and off is mounted to this using heat conducting grease.



The first image above has the output female socket, the male plug to be used for the freezer and each heater and the switched and fused mains in male socket. The second image above shows the digital temperature probes are waterproofed behind stainless steel cases and each have two metres of PVC coated cabling. At the temperatures we dealing with during fermentation, PVC is food safe (most syphons use PVC tubing, for instance). Do take particular care, though, when sanitising these. There are nooks and crannies that must be dealt with. If there is a concern, perhaps additional thermo-wells mat be considered as an additional layer of protection.


The front panel is drilled to take four LEDs. These show the state of the SSRs. They are individually lit when their respective SSR is activated. The LED associated with the freezer SSR is coloured blue and the heater LEDs are coloured red. Although not labelled here, the LEDs are, from left, freezer, heater 1, heater 2 and heater 3. The power connectors on the side are arranged with the freezer connector to the back (bottom in this picture), and with the heater connectors in a group.  These are not yet labelled but are, from the top (or right in this picture): heater 1, heater 2 and heater 3.

9 11

The bottom of the case shows the sockets for the temperature probes. These are unlabelled for the moment but are, from left, probe 1, probe 2 and probe 3. There are standard mono audio jacks. Each probe is wired to a corresponding mono audio plug.


Also visible are the two apertures I’ve cut to provide access to the Galileo board network connector and the USB port. I used a Dremel multitool for this. I would have preferred to use punches but I had none to hand. Punches would have been neater, but the multitool  is adequate for this prototype.

On the left side of the case I’ve mounted the switched fused power mains connector. A standard 10Amp power cable with a C13 plug fitted plugs in here to supply mains to the unit.



Internally, I’ve mounted the SSR for the freezer and its heat-sink towards the top of the case. Holes have yet to be drilled in the case top and bottom to allow air to flow over the leaves of the heat-sink. The freezer is expected to draw somewhere in the region of 3 Amps when powered up. Normally an SSR would not need a heat-sink at this current level (just), but I’ve fitted one anyway to protect against any additional current spikes that may arise due to the freezer’s compressor starting and stopping. It is possible that these current spikes will cause a temperature increase and kill a bare SSR.  The heatsink is just a little extra security. The SSRs for the heaters will need to carry about 100mA each. No heat-sinks are needed here.

I’ve added some mechanical supports for the Galileo power supply (a U bracket on the left) and for the Galileo board itself. The power supply will be secured by cable ties to the U bracket.  Intel provides four stand-offs with the Galileo board and I’ve used there here to separate the board form its supports.



The wiring began with the high voltage circuits first. Here the switched fused mains-in socket is wired to the Galileo power supply, on to the SSRs and from there to the controller power outlets. The overall high voltage wiring is shown in the last image. Notice that the earth wire, the green and yellow connects directly from the mains-in to all controlled outlets.

At the moment, the high voltage connections remain exposed. Once I’ve verified that high voltage wiring is working, each exposed high voltage connection will be wrapped in shrink wrap insulation before we move on. All hi voltage connectors must be insulated or otherwise shielded from someone placing their hands inside the box (someone like me, in particular).




The low voltage wiring connects the Galileo to the SSRs, the temperature probes and the front panel LEDs. The low voltage wires carry very little current. As such, they are very much thinner than the wire used for the high voltage circuit.

The next stage is a round of verifying that all is wired correctly, that all component work as expected and that no errors have been made. That, and the first steps in software, will be the subject of the next blog instalment.

Author: JD