Continuous Measurement of Fluid Density, Part 1: Concept and Design


One of the chores every brewer performs is measurement of the density of a fluid. This measurement gives two critical data from the brewing process. First, a measurement right before fermentation tells how much sugar is in the wort. This is called original gravity and is one of the key parameters of any beer recipe. A large portion of the work that goes into a brew day is to control the quantity and types of sugars that are in the wort. Second, since the density of the beer decreases as the yeast convert sugars to ethanol and other byproducts, measurement of density allows the brewer to monitor the progress of the fermentation. When fermentation is complete, the last density measurement is called the final gravity. The difference between the original and final gravities can be used to calculate the alcohol content of the beer.

There are two methods available to brewers to measure density. The simplest device is the hydrometer, a glass bob that is submerged in a cylinder of liquid. The denser the liquid, the higher the hydrometer floats. The other device is a refractometer, which measures how much the fluid refracts light. Sugar and alcohol in the beer change its refractive index, so a few calculations can yield the concentration of sugar and alcohol in the fluid.

Considering how important a task this is, it’s embarrassing to admit that I absolutely hate doing it. Each of the above methods requires collection of a sample of the fluid. I don’t mind this on brew day, but collecting a sample from the fermentor using sanitary technique is a hassle. I like to be hands off during fermentation; that’s why I went through the trouble of building an automated temperature controller. It’d be great to add density measurement to my existing system.

I’ve been slowly tinkering with a solution, but the idea of automatic specific gravity measurement on a homebrewer’s scale isn’t new. The homebrew forums have been kicking ideas around for years, and have beaten it to death. Then, the Beer Bug hit the scene with what is probably the best solution. If I’d known about it sooner, I probably would have bought one. However, I’ve put a fair amount of work into my prototype, and I’d like to see it through.

P&ID Legend

There are a few diagrams to follow, and I’ll use symbols that are mostly self-explanatory. Two that may not be well known require some explanation.vThis is a manual valve. It sits at the bottom of my fermentor. I open it when I want to collect yeast or transfer the beer to a keg.cvThis is a check valve, or a one way valve. It allows fluid to flow in the direction of the arrow, but not the other direction.



One of the simplest ways to find the density of a fluid is to measure the pressure caused by a height of the fluid. The diagram above shows the fermentor and two ports at different heights connected to a sensor. The differential pressure measured by this sensor can be used to calculate the density with the following formula:

\Delta P= \rho g \Delta h

\Delta P is the pressure difference between two points in the fluid
\Delta h is the height difference between the two points
\rho is the density of the fluid
g is gravitational acceleration

While this is straightforward, the difficulty lies in the design. The density of the beer will change by no more than 10% from start to finish, so changes of even 0.1% of the scale of the transducer can be significant and indicate that fermentation is still active. Since detecting cessation of fermentation is the most important goal, the precision of the system will need to be within this order of magnitude.


The first design challenge is selection of a sensor. Differential pressure sensors are expensive devices. A device that has the required accuracy, tolerates liquids, and is food safe would easily cost hundreds of dollars. There are much cheaper differential pressure sensors available, but they don’t tolerate liquids and aren’t food safe. Fortunately, with some creative design, they will serve the purpose.


The above diagram shows the first change necessary to allow the use of a cheaper sensor. Instead of attaching the sensor directly to the wall of the fermentor, it is attached to dip tubes extending down to different heights within the fluid. This keeps beer from directly contacting the sensor, which means it doesn’t need to tolerate liquid or be food safe. Instead, gas will transmit the pressure from the dip tube to the sensor.


The above diagram shows the problem with this approach. The left panel shows the desired configuration, but the right panel shows liquid rising into the tubes. In the right panel, the height of the liquid is different than expected, making the calculated density incorrect. To fix this problem, one more change to the design is necessary.


This shows the addition of a small vacuum pump leading into the dip tubes. Check valves prevent the reversal of flow and isolate the tubes from one another as well as from the gas in the top of the fermentor. A microcontroller will occasionally power the pump, which will pull gas from the top of the fermentor and push it into the tubes, clearing any liquid. The pump will then be turned off to allow for the measurement of the pressure difference between the two tubes.

Rejected Design


Commercial transducer with a metal isolation diaphragm

One thought worth mention is diaphragm isolation. This was an idea that was discussed in the homebrew forums and that I had also considered. Diaphragm isolation is a technique for measuring the pressure of a fluid while keeping the sensor separate from the fluid by placing a thin layer of material between the medium and the sensor. The space on the side of the sensor is filled with an inert hydraulic fluid. This would be another way to solve many of the above problems. Interestingly, it would also have the added theoretical advantage of greater accuracy since the height of the hydraulic fluid would have to be subtracted from the height of the beer. This would allow the use of a sensor with a smaller range, yielding greater accuracy and precision. I considered this approach for a time, but decided against it after a conversation with my father, my personal engineering guru. Here are the reasons why:


  • Isolation diaphragms are expensive.
  • A sensor that can tolerate inert liquids is much more expensive than one that is made only for inert gasses.
  • Thermal expansion and contraction of the hydraulic fluid would cause considerable error, likely greater in magnitude than the required precision.
  • The elasticity of the diaphragm and the tubing becomes a source of error with an isolated hydraulic connection, also likely greater in magnitude than the required precision.

While theoretically advantageous, isolation diaphragms are not feasible for low pressure, low cost applications.

Next Installment

In my next post, I’ll discuss the components of the system, pertinent specifications, and plumbing.



My first brew day since the Core exam was spent making a beer with my buddy Cody. We took a shot at a clone of one of his favorite beers, St. Arnold’s Santos. They call this a Dark Kölsch and admit that this is very much a contradiction. Breaking brewing rules sounds like good fun to me.

I couldn’t find any recipes for this clone, so I used Brew Target and the ingredient list from St. Arnold to come up with something.


Mashed at 153 for one hour:

  • 9 lb US 2-row pale
  • 9 lb US pilsner
  • 2 lb German Munich
  • 1 lb Black Patent


  • 1.5 oz Hallertau, 60 min
  • 1.0 oz Hallertau, 30 min
  • 1.0 oz Hallertau, 15 min
  • 0.5 oz Hallertau, 5 min

One hour boil, fermented at 16 degrees C (or as close as I can get) with Wyeast 2565.

OG: 1.050
FG: 1.01
ABV: 5%

A New Tool

This was the first batch for which I used a new tool that I built, which is just a small stainless pot modified with a thermometer and a dip tube that I’ll use to make yeast starters.

I attached a small aquarium air compressor to the dip tube to agitate and oxygenate the wort in an effort to improve the yeast health and number. I was a little more structured with my yeast starter this time, which was made with 2 liters water, 4 cups dry malt extract, and a half-cup of dead yeast. I should have also been able to use the compressor to force the yeast out of the bottom into the fermentor by attaching it to the top port I added, but a little of the dried medium created a small leak in the silicone gasket sealing the top of the pot. Maybe next time.

Brew Day

Cody and his wife Stephanie joined us for this brew day, and it was a great time full of laughter, delicious beer, and great food. Trang made double squid ink pasta with crab, and Cody supplied lots of Santos. Brewing went as smoothly as my brew days ever go, and I was a little rusty. We did multiple sparges and almost nailed the target OG of 1.051.

It’s taken the temperature controller a couple of days to get the temperature down to the target of 16 C due to the warm weather, but it’s holding nicely. Here’s a screenshot from my JavaFX application that interacts with my Arduino-based temperature controller.


Will this beer taste just like Santos? Probably not. Will it be as awful as the beer I brewed for Jeff and Adam? Impossible (sorry, guys!). I think it’ll be tasty, and I hope to have some carbonated by the time my dad visits late this month.



Punch Out!

I’m still a slave to the books, but I occasionally decompress with a little eBay browsing. I’m accruing material for projects I’ve got planned for my glorious post Core Exam days, but I couldn’t resist giving one cool little tool a test drive.


Step drill bit

A common need in making brewing hardware is a hole in sheet metal for a valve or instrument. You can buy a pot with the parts already installed, but you can also do it yourself. So far, I’ve just been using a step drill bit. This certainly gets the job done, but it takes forever, leaves a lot of metallic swarf that’s hard to clean, and leaves a jagged edge that takes a lot of sanding.


Sheet metal is nothing to a hole punch.

The hole punch is a better tool. This is  a bolt with a threaded punch and die that cuts a clean, perfectly sized hole. The Greenlee brand is popular but expensive; the 7/8″ punch required to make a hole big enough for a 1/2″ NPT bulkhead costs over $80! I lucked out and found a used one for $13 on eBay, so I pounced.

Drill a 7/16″ hole for the bolt, place the hole punch, and tighten down until the punch passes into the die. The punch is definitely the way to go.

This hole is in my hot liquor tank for a thermowell. A little Teflon tape and silicone sealant goes on the outer threads, which are 1/2″ NPT. A 13/16″ ID x 1 1/16″ OD silicone o-ring goes into a 1/2″ NPT locknut and will secure the thermowell on the inside, making it water tight.

There we are. A newly mounted thermowell. A thermometer with 1/4″ threads to match the thermowell goes inside.


The nice thing about the thermowell is that I can later install a digital thermometer when I want to automate the hot liquor tank.

All that’s left is to pressure test it.

No leaks! Now I want to find a 1-1/4″ hole punch to put electric heating elements in my pots, but that will have to wait. Back to the books. Just a few more weeks until the big test.

Dark Strong

A couple of friends and I have been planning a brew day, and we’ve been looking forward to it for months. It was tough to wait this long between brew sessions, but it was well worth it.

In building the recipe, we decided to be ambitious and attempt a clone of pFriem’s Dark Strong Ale. As far as I’m concerned, there’s no style superior to the Belgian Dark Strong. Jeff found pFriem’s ingredient list, but neither of us could find any posts about an attempted clone. A little tinkering with BrewTarget yielded a first draft recipe. While the style demands little hops, Adam nudged the hop additions a little higher than what BrewTarget initially suggested would put our bitterness in range for the style. Fine by me! Finally, a great Belgian style deserves a great Belgian yeast, so we went with Wyeast 3787, their Westmalle strain. This yeast is not only used by the Westmalle Abbey but the Westvleteren Abbey as well.

As always, the practical substitutions had to be made at the brew store. Here’s the full recipe:

23 lb 2-row pale
1 lb Carafa II
2 lb Caramunich
Mash at 162 for 75 min

5 lb homemade Dark Candi Sugar, 60 min
1 oz Fuggle, 60 min
1 oz Norther Brewer, 30 min
1 oz Tettnanger, 10 min

800 ml starter Wyeast 3787, fermented at 23.3 degc

OG 1.103

SG to be measured



2016-04-17 11.48.48More than anything, the available food and libations stood out this brew day. Between the
three of us, we built quite a menu of beers to quaff, and we nearly finished them all.

Furthermore, not only did Trang’s mom watch My Lan for the day, she made her incredible chicken wings. All grain brew days are long, but we were neither hungry nor sober!


2016-04-17 11.38.33

Modified pressure cooker

I’ve only made a few small changes since the last brew day. First, I modified a pressure cooker to supply pressurized steam for sanitizing my heat exchanger. I just drilled a hole in the top for a cam lock fitting. When it’s time to sanituze, I put the pressure cooker on a hot plate and attach it to my exchanger. Voila, low pressure steam does the sanitizing for me. I previously had to boil water and pump it through, so this is obviously much faster and doesn’t tie up my brew pump for half an hour.

2016-04-17 11.38.26

Sanitizing with pressurized steam

Second, I added a manifold to my rig. This allows me to divert the recirculating wort to the brew kettle as well as direct water from the hot liquor tank to the mash tun without any fumbling around with hoses. The pump inlet piping still needs some work.

2016-04-17 11.38.59

New manifold for wort transfer and sparge

Lastly, I built a stand for my hot liquor tank so it can drain into the mash tun by gravity. We had some trouble with the flow getting hung up at a high point in the flow path, so I’ll have to pay it more thought.


A stand gives the hot liquor tank the potential energy it needs for transfers.

The improvements were small but made it my smoothest all grain brew day yet. Switching to batch sparging has improved but not completely resolved my efficiency woes. My efficiency was about 60%. This is partly because of the style, but there may be other problems. I may be mashing at too high a temperature, so I’ll try a lower mash temperature next time. I’ll also ask for some advice from the folks at my home brew store, Above The Rest.


Stir it up, guys.

The homemade candi sugar recipe was a little different. This batch was made of 5 lb candi sugar, 1/2 cup molasses, and pickling lime cooked in a slow cooker for 30 hrs. I’ll back off on the molasses next time, as that was still the dominant flavor when it was done cooking.

Cooling was a breeze, although we rushed it a bit and pitched a little hotter than intended at 30 degC. The yeast starter was a good size at about 400 mL, but the heat shock set the fermentation back about a day. It’s going strong now.

The final batch volume was about 7 gallons, but we will be bottling nearly all of it.

I can’t wait to taste the first Dark Strong and the first beer made with the Westmalle strain to come out of my garage!


Dial it in

I attempted a clone of the Houblon Chouffe IPA Tripel last week.


Here’s the recipe:

26 lb 2 Row pale
2 lb Munich
1 lb Crystal 80
1 lb Belgian Biscuit
2 lb Sucrose

Mash at 145 F for 20 minutes and 155 Friday for 40 minutes

11 gallon boil volume, 10 gallon final volume

1 oz Columbus, 60 min
3 oz Saaz, 10 min
1 oz Columbus, 10 min


OG 1.064
FG 1.008
ABV 7.4%

As you might guess from the gravity after the boil, my efficiency was a terrible 50%. This was my second attempt at fly sparging, and it has also failed miserably. I’m ready to switch exclusively to batch sparging. This beer will not be much of a clone, but I hope it will be a respectable IPA anyway. Just look at how full this hop sack is!


At least, a few leaks aside, the RIMS and exchanger are working great.

Better with Family

Here we go! Today is Belgian-style Stout day, and I got to do it in the company of family. Alex and Connie were kind enough to help out.


The RIMS was up and running in no time. Strike water heated from 60 degF to 156 degF in about 40 minutes.

Today’s Recipe
60 min mash @ 156 degF
18 lb 2-row pale
5 lb Belgian pale
5 lb German Munich
2 lb Caravan I I special
1 lb Midnight wheat
1 lb British chocolate
2 lb Special B
3 lb light roasted barley

2 lb homemade candi sugar (added at flame out)

4 oz Norther Brewer, 60 min
2 oz Cascade, 5 min

White Labs 500

Initial wort gravity: 0.075
OG: Approximately 0.084 (estimated, see explanation below)
FG: To be measured.


The mash was messy. It barely fit, and my hose ended up pointing upwards, losing about a pint of wort all over me and the ground. I guess I needed equipment losses somewhere. That’s what I get for running my mash tun right at capacity. This seems to be a recurring theme.


Sparging went smoothly enough, although I underestimated my sparge volume. Boil went smoothly with only a small mess with the hot break.



Chilling went great! It was much easier to manage with the pump mounted to the cart.

Also, I used the new GUI for the data from my countercurrent exchanger. This is just a modification of my fermentation cabinet GUI, with the data feed coming through the serial connection to an Arduino Uno attached to an nRF2401L and programmed to relay data from the board monitoring the exchanger.


The only hiccup during chilling was a malfunction with a new piece. As you can see in the screenshot, there was a hang in the middle of chilling where all temperatures dip low.


imageThis happened because flow stopped on the wort side, while water flow continued and cooled the entire system! A bit of troubleshooting revealed the problem. After last brew session’s big clog, I installed an inline Y strainer. Unfortunately, the mesh in the strainer is too fine, and the small amount of debris from the pellet hops completely clogged it!

Thankfully, I was only trying out this piece and had a redundant, coarser strainer at the bottom of my kettle. Surprisingly, I also had the foresight to mount it with cam locks on each end for easy cleaning. I removed the Y strainer from the line and continued cooling.


After chilling was done, I pitched my yeast and called it a day. During cleanup, however, I realized that my homemade candi sugar was still cooking in the slow cooker! I took some dredges from the bottom of the kettle, made a slurry, and poured it through a funnel into the conical. It was messy but things worked out okay.

The biggest problem is that I didn’t get a sample reflective of the actual original gravity. The running from the mash came out at 1.075. With two pounds of candi sugar in a 10 gallon batch, that should adjust the gravity to about 1.084. That’s what I’ll go with.

I can’t wait to taste my first stout. Cheers!


The Slow Burn

Merry Christmas, everyone! I just put My Lan to bed and am waiting for the family to get back from the airport, so I thought I’d provide an update. My study schedule has curtailed my tinkering but hasn’t extinguished it entirely. I’ve been slowly making little changes and cobbling together a RIMS (Recirculation Infusion Mash System). The past four weeks of IR and nights has left me with many hours that were too odd to study but too scattered to sleep, so I managed to wrap much of it up.


Conical Bliss

Before moving on to the news, I’d like to report that the conical fermenter is working great. I’ve read mixed reviews about the plastic conicals, and getting the conical into the cabinet with a clean-in-place configuration was no small feat. The convenience of 10 gallon batches, precise temperature control, and rapid kegging have proven worth it after only two batches. Watch how quickly I can fill a 5 gallon keg!


RIMS Mounting

I took my seasoned 5400 W Camco heating element and mounted it in a 1.5″ stainless pipe. There’s a 1.5″ cam lock fitting for easy inspection. There’s also a 1/2″ thermowell mounted at the outlet for a 1/4″ temperature probe. The whole unit is mounted on a plastic cart from Harbor Freight, secured with cushioned stainless pipe hangers from eBay and 3/8″ stainless bolts cut to fit and secured to the cart with my Chugger pump and the control box.

2015-12-23 18.06.02


It’s Probably Big Enough

The enclosure has been a difficulty of its own. I underestimated the size of the L6-30 plugs I use for the 240 VAC connections since the circuit has to handle 25 A, so I had to make housings for the plugs only. You can see those monstrosities hanging off the bottom of the enclosure.

2015-12-23 18.05.54

Actually contained within the enclosure are a switch (on the left), an AGPtek PID controller, and an SSR with heat sink. The PID controller will eventually be substituted for a custom board, but that’s a project for the future.


Magic Smoke

The SSR was also a frustration. I initially bought a Fotek SSR-40A, but it failed on its first cycle, giving up its magic smoke immediately. My expectations of evidence are high, so I grabbed the fire extinguisher and tried it twice more. When it looked like Independence Day in the enclosure, I concluded confidently that it was broken. I ordered a higher quality Berme brand 40A SSR, and it passed the initial test with flying colors.

2015-12-23 18.08.45


Wires and Circuits and Breakers, Oh My!

Lastly, I swapped out the 30 A dual pole circuit breaker for a similar breaker with a ground fault circuit interrupter. GFCI is a safety feature that breaks the circuit if there is a current outside the electrical circuit, for example, through your heart. These are the same devices on the plugs for blow dryers that have Test and Reset buttons, and they’re good to use in circuits that are near conductive fluids like wort.

2015-12-23 18.06.38

I’ll be brewing a Belgian-Style Stout this weekend with Alex and Connie. Fingers crossed!

Sweet Failure

Even though I mainly brew beer to try to salvage what’s left of my engineering mind, I also just like beer. I worked hard for the last batch I brewed, but I wasn’t too hopeful it would turn out well. It’s nice when things turn out better than planned.  My first (technically) partial mash came out quite tasty. The fresh wort definitely contributes complexity. More importantly, the nutty flavor that pervades the liquid extract sold at my local brew store is absent. And at 8.1%, it does the trick.

The Tigers are playing Florida. Geaux!

Crash Landing

I’ve been neglectful. Only a few of my friends are into brewing, and fewer still are into coding and electronics, but this is all that’s been discussed in this blog. Most of the people who know me are more appreciative of the ludicrous messes I get myself into. I apologize for the oversight. This one’s for you.

September 16 was going to be a great day because I was planning to go all grain. This is a big brewing step. Instead of making wort with syrup or powder malt extract, the malt is made fresh on brew day from barley. It’s more complicated than just mixing grain with hot water. The grains have enzymes that have to be given time at just the right temperature to break down polysaccharides into
mono- and disaccharides that yeast can ferment into ethanol and other aromatic compounds. It adds time and complication to the brewing process, but brings the promise of more complex flavor.

I heated up some strike water, the hot water that’s mixed with the grain bed.

I’d bought 32 lb of fresh milled grain from the brew store. It smelled delicious.

I put the grain into the mash tun, a container with a false bottom to keep the grain bed.

There are a few ways to dough in, which is the process of mixing the water with the grain bed. I chose to let the water seep in from the bottom. I had no idea, but things were already going terribly wrong. I circulated wort in from the bottom using my pump to improve mass transfer and keep the temperature consistent throughout the grain bed. I still had no idea there was a problem, much less that I was making it worse.

During the mash, I monitored the temperature of the bed. 150 F was the goal, so here is a picture of the thermometer right at 150 F.

Of course, this picture is a gross misrepresentation of the average temperature of the bed. The temperature swung wildly between 140-160 F while I was chasing it frantically with ice and boiling water. I think I even added them simultaneously at one point. Oh well. It was still smelling nice, and it’s not problematic as long as it doesn’t hit 170 F for too long.

Finally, the mash was done and it was time to drain the grain bed into the brew pot. I used a continuous sparge, a technique of flushing the grain bed with hot water from the top while removing wort from the bottom. The objective is to rinse the sugar out of the bed. It wasn’t until this was done that I learned there was a problem.

The specific gravity of the final wort measured 1.04. I only extracted 37% of the sugar. 80% for this technique would have been good. 70% would have been bad. 37% is embarrassing. To troubleshoot, I checked the specific gravity of the wort still left over in the mash. It should have measured near 1.008 to reflect that the sugar had been rinsed out completely, but it came out to a whopping 1.02. Finally, while cleaning my mash tun, I noticed that the entire center of the grain bed was more like dough than spent grain. The problem became a little clearer.

It’s likely that the biggest mistake I made was that I didn’t mix the mash well enough. I had hoped a slow infusion from the bottom of the bed would thoroughly wet the grain bed, but that likely didn’t happen. Next time, I will use a different dough in technique. The other probable mistake was circulating and sparging at too high a flow rate. This has a tendency to create fast flowing channels, which cause poor mass transfer.

Fortunately, I had some dry malt extract lying around. I abashedly threw a few pounds into my brew pot to bring up the specific gravity and started the boil. I also boiled vigorously to decrease the final batch volume, further increasing the specific gravity.

Little did I know that my brew day of horror was only beginning.

I had my first boil over. The hot break was fast and vigorous, and it happened while I was still cleaning out my mash tun. I caught it pretty quickly. The mess was minimal. Compared to the mess that was coming, it was nothing.

I drank a beer with Trang during the boil, which was probably the nicest part of this brew day. She went to bed, the boil ended, and it was time to cool the wort. I made the hose attachments and started to chill, but the wort stopped flowing less than a gallon in.

I took a peek at the outlet hose for my brew pot, and there was obviously debris clogging it. I realized that, in my attention to the mash, I completely forgot to put the straining adapter into my brew pot. I had enough hops additions that I added most of the whole hops straight into the pot instead of in a hop sock. The hops were clogging my pump, and I had to stop them before they clogged my heat exchanger. Since the exchanger is made with 3/8 in tubing, a clog could potentially be incapacitating to my brew day and would be an annoying ordeal to clean.

I cut the power to the pump and disconnected the lines, spilling boiling hot wort everywhere. I cleared the lines manually and reconnected the hoses to eject through a stainless strainer. I was amazed the Chugger held up. There was a lot of hops in that pot. I was spraying hot wort everywhere while trying to hold the strainer in place. At one point, I sprayed the wort right on my hand. I dropped the strainer and the hops I’d filtered out flowed right back into the pump, clogging it again. I disconnected the lines again, cleared them again, and strained the wort again. Finally, it looked like things were running smoothly.

The mess was awful. My hands were hurting from handling boiling hot metal fittings and boiling hot wort. I was sticky. The floor of my garage was even stickier. Here’s the pump, covered in hops.

But, when brew day was over, I had 8 gallons of wort in the fermenter. That’s better than having to throw it all away. The final recipe was:

  • 28 lb Pilsner 2 row (mash)
  • 4 lb Caravienne (mash)
  • 3 lb Table Sugar (boil start)
  • 2 lb Light DME (boil start)
  • 2 oz Northern Brewer (boil start)
  • 2 oz Mount hood (15 min left of boil)
  • 2 oz Mount hood (5 min left of boil)

Initial SG = 1.080

Final SG = 1.018

I now appreciate how much better a crash landing is than a plain old crash.

Work with your hands

When cooling wort with my countercurrent exchanger, it’s important to know the temperature as it comes out. The goal is to bring the wort to the optimal temperature for pitching yeast as quickly as possible. Many commercially available chillers have a thermometer at the wort outlet for this reason. I improvised during my last brew session because I didn’t have time to get the thermometers working. The Saints were doing terrible today, so I turned off the game and worked on getting the thermometers on my exchanger finished. All I really need is to know one temperature, so naturally I installed four thermometers. Yes, four. I’m nosy and I want to know them all.

This is about more than validating the name of the blog. The energy balance for heat exchange looks like this:

\dot{m}_{A} c_{p,A} (T_{A,out}-T_{A,in}) = \dot{m}_{B} c_{p,B} (T_{B,out}-T_{B,in})

So, doing a heat balance on the exchanger requires the inlet and outlet temperatures of both streams, their heat capacities, and their mass flow rates. I may make full use of this later, but for now I can use the change in the temperature of the water to know how I’m doing with the trade off between efficiency and time.

I had already installed my trusty OneWire thermometers in-line on the wort inlet, wort outlet, water inlet, and water outlet when I built the exchanger. They’re the black cables leading into the compression fittings.

2015-08-24 19.02.04

I just needed a way to talk to them. Enter the custom microcontroller with a NRF24L01+ breakout board.


I posted about this little board a while ago. I originally intended it to control a valve with a stepper motor, but that was a bust. I’m going to redesign the valve, but this little prototype still needs a home. Fortunately, it has everything needed for the exchanger: the radio breakout board to communicate with another device and an exposed header that is compatible with a OneWire network.

One step I’d skipped thus far in my misadventures is the experience of soldering my own perforated boards, but it finally came up. I’ve tried before and it was always a mess because I didn’t take the time to do it right. It’s easier to design the circuit on a breadboard, build the board in Eagle, and have it fabricated. I needed a way to connect all the thermometers to one header on the board. It wasn’t a big enough problem to design a whole board, but I did want something nicer than a bunch of spliced wires. I finally unpackaged a small perforated board and soldered a bus board.

It seems pretty pathetic, but getting wire to stay in place while you solder across pads is annoying. Still, a little tape and a nice pair of needle nosed pliers go a long way. I’m not about to start soldering circuits more complicated than this simple header, but it’s nice to know I can manage not to fail miserably if the need arises.

I destroyed yet another old tupperware to make a case, bolted in the custom board and the hand-made header, connected the thermometers, and fastened it to the exchanger. All thermometers were go and radio communication was smooth. The next brew day will be a bit more convenient.