Hooray it’s load cell day! My sample components have arrived from around the world and it’s high time that we wire them up and run some experiments. “Huh? What’s a load cell and how does it relate to kegs?” you ask.  Well before we start, allow me to explain just what a load cell is and why I’m so excited to spend a day fiddling around with them.

Two differential load cells

Two differential load cells

Load cells are used in your digital bathroom scales to measure weight. Technically they measure the strain on a bit of metal and output a small voltage that’s proportional to the amount of force bending that metal. Add some simple signal conditioning circuitry and presto you’ve got a voltage that tells you exactly how much something weighs. There are just so many ways this can be useful in the processes of brewing, fermenting and serving beer that I just can’t wait to build some prototypes and start experimenting to see how we can improve our world brewniverse with these awesome sensors.


Weight (or mass) is a super useful measurement throughout the all-grain brewing process. For instance, I use kitchen scales to weigh my malt, jewellery scales to weigh my hop additions and an industrial digital scale to weigh water additions during mash in and batch sparging.

Digital scales on my brew rig

Digital scales on my brew rig

Incorporating these load cells into an automated brewing system might make a lot of sense but, alas, I feel the brewing process is the least suitable candidate for automation considering that it only lasts a few hours at most. With a number of awesome offerings already available in the brewing (as in wort production) automation scene (BrewPi, Brauduino etc.) it’s best we keep our focus on the other aspects of brewing such as fermentation and serving for now.


Many of Digital Homebrew’s products are aimed at helping you to achieve a better fermentation and we’ve also put in a lot of R&D on the BrewMonitor project as a way of tracking fermentation using airlock activity as an indicator (amazingly, no kittens were drowned in this process). Fermentation is an unpredictable and time consuming process making it an ideal candidate for automation and monitoring. It just so happens there are a number of ways we can track changes in specific gravity throughout fermentation using (you guessed it) load cells.

Indeed the BeerBug project makes use of a submerged torpedo that hangs off a load cell to track fermentation progress – the downside of this being that you have an extra object to sanitise and it doesn’t mate up with some fermentors (good luck if you’re a glad wrapper).

A much simpler approach (in theory) is to sit your fermentor on some scales and track the slight change in mass as the CO2 escapes. Unfortunately this method involves a number of complications that make it less than trivial in practise.

  1. You have to account for the weight of your fermentor to calculate how much wort is in there. This will necessitate some initial configuration to enter the details for your equipment and if you change fermentors frequently you’ll have to change these parameters each time.
  2. You have to approximate the amount of wort mass that’s being converted into yeast instead of CO2 using what’s known as the Balling formula. This formula is only an approximation and in reality the proportions of mass that’s turned into yeast and CO2 could vary a little between batches.
  3. You’re measuring a change in mass that is relatively small in comparison to the overall mass being measured – somewhere in the order of a couple of percent which reduces the potential accuracy of readings by an order of magnitude or more.
  4. Load cell signals can drift with temperature and time (known as creep). When you use your bathroom scale it’s able to tare and recalibrate every time you step off it, but measuring a fermentor could take days or even weeks without re-zeroing the scales and the error that creeps in over time could be very significant compared with the slight change in mass during fermentation.

On the plus side, having a scale that weighs your fermentor would be universally adaptable to almost any fermentor style, regardless of what kind of opening it has up top, or whether it uses an airlock at all. Also, aside from the possible technical limitations of budget load cells, I feel the other drawbacks are all perfectly manageable.

Diagram of a fermentor sitting on bathroom scales

Diagram of a fermentor sitting on bathroom scales

With this in in mind, one of my goals will be to find out if we overcome the accuracy limitations of budget load cells by logging data over a long period of time. It’s kind of a secondary goal at this stage as I don’t hold too much hope for the cheap load cells, but time will tell.


Serving great beer is another core focus of Digital Homebrew. After all, when you brew a good batch it’s a shame if the presentation lets it down. That’s why we designed our Font Snake which helps you to pour beer with great head by keeping your beer lines cool. Another problem with serving beer is when your keg blows dry unexpectedly (which happens ALL OF THE TIME in my experience). You could avert the surprise by lifting and swirling your kegs every now and then to get a feel for what’s left but that rouses all the slurry resulting in cloudy beer for the next few days.

Clearly our world would be a better place if our kegs could monitor themselves and notify us when they’re running low, right? Right.

I don’t claim to be the first to envisage a keg monitoring product, indeed some commercial keg scale systems already exist, but they’re not without their drawbacks. My favourite system at the moment is the Keg Meter which attaches to your font and uses a liquid flow meter to measure the amount of beer you dispense. It’s a great idea, but I don’t always fill my kegs the same amount, and having unnecessary stuff in contact with my beer gives me the willies.

Using load cells to continuously weigh our kegs and report the amount of beer remaining may provide a more elegant solution which is why one of the primary goals of my load cell experiments will be to test their accuracy in cold environments and over very long periods of time. On the plus side, accuracy isn’t as critical in this application as it would be in a fermentation monitor and most kegs are kept in a relatively stable temperature environment so I think it’s going to work out okay, but only time (and testing) will demonstrate whether the load cells can remain calibrated over long periods without too much  creep messing up their measurements.


The final thing I’m testing concerns connectivity. In this day and age, internet connectivity is so trivial that if a monitoring device doesn’t upload to the cloud or push notifications to my mobile device then it had better have a good reason not to! I mean, if something can make my life easier by notifying me when important events happen when why shouldn’t it? Sure there are probably some die hard brewers that actually like to manually check their kegs but I’m certainly not one of them!

Diagram of the Keg Scale for a connected world (i.e. today)

Diagram of the Keg Scale for the connected world (i.e. today)

For the experiments I’m running, I’m pushing data up to thingspeak.com. I’ve already checked up on the progress numerous times on my mobile phone because the experiment is running in my build room (next door). Most importantly, sending data to thingspeak only took a few lines of code.

This connectivity ties in very well with our goals for a keg scale. What I want is something I can set underneath my kegs and FORGET, then when my kegs empty to predetermined levels, THEY TELL ME! Not the other way around where it’s my responsibility to check them repeatedly.

The experiment

So today I drove out to Target to pick up a $15 digital bathroom scale, then upon arriving back home I promptly tore its guts out to see how it worked.

Kmart $15 bathroom scale in Box

Kmart $15 bathroom scale in Box

On a cursory glance, it appears to operate with four separate half-bridge load cells, wired into a small PCB with a dedicated Chip-On-Board (COB) that handles all the analog measurement, digital conversions and driving the LCD display.

This is what it looks like inside the scales with the bottom removed.

This is what it looks like inside the scales with the bottom removed.

I’m only really interested with the load cells so I took away the custom PCB and connected up my own breadboard with a Particle Photon and a HX711 module. Pretty simple stuff.

Breadboard added with Photon and HX711 load cell interface chip.

Breadboard added with Photon and HX711 load cell interface chip.

I quickly banged out some code that would take weight measurements and upload the data to thingspeak every minute, then I left the unit with a fermentor sitting on it for the long data-gathering process.

Testing the sensors while connected over USB.

Testing the sensors while connected over USB.

Testing the hacked bathroom scaled with a barrel of water.

Long-term testing of the hacked bathroom scales with a barrel of water.


To wrap things up, the test is now running as I type. It’s collecting data and uploading to a thingspeak channel and this data is going to allow me to measure the variance in the signal coming from a stationary barrel of water and determine its suitability for long term measurements.

Thingspeak Data from ccales test

Thingspeak Data from testing load cells

In the future hope to use a similar system for weighing kegs in a fridge, or maybe even weighing fermentors as they ferment!

You can check out the live data at is accumulates here.

Also, you can download the .ino file I flashed into the particle photon here.

Share this with your friends: