Tuesday, November 20, 2012


We used to have an old bar as our dining table. It kind of came about by chance. It wasn't designed for that and was a bit of pain to use - not much overhang meant you couldn't get your knees under. But we liked the height.

When thinking about a replacement, I thought of making the underside more functional too.

Why not put a chest freezer under there to hold our beer? An upgrade from the 2-keg system we had would also be welcome. Chest freezers are great for the job - they are well insulated and when you open the lid, you don't let all the cold air out.

So in early 2011 I got a new chest freezer, built a collar, a bigger 4'x4' birch hardwood table top and installed our taps.

I built up a temperature controller to maintain the beer temperature (turn off before freezing).

All good. Only problem was it quickly accumulates junk, so often it isn't opened easily. Which makes checking beer levels harder.

There is nothing worse than running out of beer.

So I started scheming on ways to detect the beer level in the kegs.

The method I decided on was to weigh each keg.

I had seen a hack online where a guy had modified his bathroom scales to log his weight each time he got on. I think the hack involved wiring the display output to a micro controller.

I got a $15 set of bathroom scales thinking I could do the same. But the scales I had only turned on when you got on, and first needed to calibrate itself with no weight on it. Not so good for continuously weighing the kegs.

So I started to poke around the load cells it used. It had one in each corner. They seemed to be 3-wire units setup as a 2 wheatstone bridges. But they also seemed pretty insensitive. I could only get a single load cell to give a 0.5 mV change with the weight of a full keg when driven at 10V.

I originally hoped that I could use one load cell from each corner of the bathroom scales for each keg. But that signal was just too small. The gain needed would make the amplifiers unstable and susceptible to noise.

I ended up using 2 load cells for each keg, in a wheatstone bridge (so about 1mV signal at full deflection) and some INA129 instrumentation amplifiers setup with a gain of about 2000.

The circuit consists of + and - 5V regulators supplying the load cells and amps. Each amp has a low pass filter and diodes to clip the signal to 0-3.3V to keep the micro controller happy.

The display is a pretty simple bar graph and estimation of the amount of beer left.

Finally a demo of it in action: