Introduction: Beer Keg Scales
I came back to Australia in 2016 after some years living in Thailand and I couldn't believe the price of a carton of beer, around $50.
So I set up my own brewery again, this time using kegs instead of bottles. No secondary fermentation, no time-consuming washing and sterilizing bottles, and most importantly, no waiting for 3 weeks.
I converted an old fridge for the purpose with 2 kegs each holding 23 liters and 2 taps on the door. I had a D size bottle of CO2 (from BOC) to carbonate the beer at the side of the fridge. This ran to a 2 way manifold to supply each keg separately.
This was great, I could just carbonate overnight at 40psi and the beer was ready the next day.
One problem I had was when the keg became empty, without notice, arrrggg no beer!!
So I decided to make some scales to fit under the kegs to weigh the beer and display it as liters so I would know what quantity of beer I had remaining in each keg.
This project is fairly simple using readily available parts on eBay or AliExpress.
I designed a case for the display that sits on the fridge, it has a bracket to screw to the door (I have yet to do).
The scales that go under the kegs are made from 19mm thick plywood and were milled on my CNC machine.(could be 3D printed, I have included STL files)
I have included STL files for all the parts of the display case for 3D printing.
I made a Veroboard PCB assembly for the screen and brightness pot.
I made Vero board PCB's for both scales.
Here are a few useful links:
https://github.com/bogde/HX711 for the HX711 load cell library
https://github.com/arduino-libraries/LiquidCrystal for the LCD library
Arduino Nano HERE
2004 LCD display HERE
10k pot and knob HERE
10k trimpot HERE
2 x kits of 4 x 50kg load cells with HX711 boards HERE
4 x 10mm M3 Male/Female Spacer
4 x M3 nuts
4 x M3x6 CSK screws
16 x Screw Terminal Blocks HERE
2 x 10 way IDE ribbon cable sockets PCB mount HERE
2 x 10 way IDE ribbon cable sockets cable mount HERE
1.5 meters of 10 way ribbon cable HERE
USB socket PCB mount HERE
Short USB cable HERE
22-24g instrument wire
12VDC plug pack HERE
Step 1: Make the Scales Woodwork
I have provided drawings in PDF format, DXF files, and STL files for the two scales woodwork pieces.
If you are lucky enough to have a CNC machine I have included the toolpaths for milling the woodwork. You may need to change the file extensions to TAP or NC to suit your machine.
These pieces need to be good quality plywood as they are very likely to get damp inside the fridge.
If you are 3D printing them I suggest the infill be of a fairly high density.
Step 2: Making the Display Case
Included here are the STL files for the display case and the mounting bracket.
Note the holes for the push button switches have been deleted as they are no longer used.
I printed at 0.2 layer thickness in PLA, color is your choice.
Clean up and re-drill the holes if required.
Ensure the screen LCD fits the aperture.
The 4 holes for mounting the PCB need to be countersunk on the outside/back of the case.
Step 3: Wire the Display PCB
The photos show 2 pushbutton switches (red & blue), these are no longer used.
Mount and solder the LCD screen, the brightness pot, the contrast trimpot, and the 10-way ribbon connector as shown in the pictures.
I was lucky enough to have some plastic spacers to mount the LCD screen but some hot glue will work just as well.
wire as per the 'Screen Board' section of the schematic.
Fit the 4 x M3 x 10mmm spacers to the PCB and secure with the 4 x M3 nuts.
Make the 10-way ribbon cable sufficiently long enough to run from the scale to the display, plug it into the PCB underneath, and feed it thru the slot. Fit the female connector to the other end. Make sure you get this oriented correctly; pin 1 to pin 1.
Mount the PCB into the case and secure with the 4 x M3 CSK screws from the back.
Step 4: Make the Main Scale PCB
Cut a piece of Vero board about the same size and shape as shown in the pictures.
Mount and solder the Arduino Nano, one of the HX711 boards, 8 x terminal blocks, the USB socket, the DC power socket, and the 10-way ribbon connector as shown.
Wire as per the 'Main Scale Board' section on the schematic.
For the USB connector I made green = SCK2, white = DT2, red = VCC, black = GND
Label the 8-way terminal blocks 1 to 8.
Fit the PCB into the woodwork, hold in place with some hot melt glue.
Fit and glue 4 of the load cells in place as shown, wire facing inwards.
It's a good idea to label them, upper right, upper left, lower right, and lower left.
Connect the load cell wires to the 8-way terminal blacks as per the schematic, Some of the wires are connected together in the terminal blocks.
Step 5: Make the Sub Scale Board
Cut a piece of Vero board to fit the cavity of the 'sub scale' woodwork as shown in the pictures.
Mount and solder the HX11 board and the 8 terminal blocks.
Wire as per the 'Sub Scale Board' section of the schematic.
Label the terminal blocks 1 to 8.
Connect the USB cable wires to the PCB as per the schematic. I made green = SCK2, white = DT2, red = VCC, black = GND
Fit the PCB into the woodwork, hold in place with some hot melt glue.
Connect the wires from the load cells as per the schematic. This is the same as the previous step.
Step 6: Calibrate the Scales.
If you don't have the Arduino IDE. Downloading and Installation instructions of this software is readily available from HERE.
You will also need to install the LCD and HX711 libraries. Instructions for installing libraries are readily available on the same website you download the IDE software. Links to the libraries are on the introduction step.
Restart the Arduino IDE after installing the libraries.
Connect the scales together with the Short USB cable, connect the screen ribbon connector, and connect the 12VDC plug pack to the Main Scale PCB. Switch on.
Connect the Nano to your PC by USB cable. You will need a USB Type-A to USB mini cable.
In the IDE menu; select Tools > board > Nano
In the IDE menu; select Tools > Port > and select the port your Arduino is connected to.
Open the Calibrate.ino file and upload to the Nano, open the Serial Monitor from the IDE menu Tools > Serial Monitor.
Follow the instructions given in the serial monitor screen, make sure you set the baud rate to 9600.
Write down the zero factors and the Calibration factors that are obtained. You will need these figures in the main firmware.
Step 7: Edit and Upload the Firmware to the Arduino
Open the Beer_Scales_V2.ino file in the Arduino IDE.
At lines 41 to 44 enter the zero factors and the calibration factors that you got from running the calibration program.
At lines 50 and 51 edit the keg weights as zero for now.
Upload to the Nano.
You will need to weigh your kegs, preferably with the ball locks and lines attached.
This can be done on your new scales which should be reading zero for both scales.
Take a note of the weights.
Now re-enter the weights at lines 50 and 51 as per your keg weights you have just taken.
Upload the firmware to the Nano.
Install the equipment in your beer fridge, fill your kegs, carbonate, and enjoy.