Raspberry Pi Kegerator Monitoring

Measuring the flow through a multiple kegs to determine how much is left and displaying details on screen along with kegerator temp.

Similar projects worth following
Using flow meters in line with the beer output to determine approximately how full the kegs are.
Displaying the keg levels, details about the beers, date/time, and kegerator temp.

I recently got into brewing my own beer and as I found bottling took a lot of time and space, so I expanded into kegging.  I loved having my own beer on tap, but a problem soon arose.  I would be pouring a beer and all of the sudden the keg would sputter and be empty.  I had no clue, as I wasn't keeping track in any way.  So I began my search.

Searching the internet I found a few solutions, but most of these were for large breweries and bars, too expensive for my tiny home brew setup.  A bit more searching I discovered Adafruit's Keg-Bot <>.  The issue with their setup was I had 3 taps and they only had the one with other features I wasn't fond of.

So I set out to modify their code to meet my needs.  I was looking to display the beer info and amount left in the keg for each keg I had.  Later on I decided to add the temperature.

With the help of a few friends and lots of trial and error, I got the code working, mostly how I wanted.  For those python and linux people in the know, I'm sure the code and steps I did can be done in other faster ways, feel free to leave comments here letting me know of ways to make the code better.

I then set out to test and implement everything.  I started with a Raspberry Pi Model B+ and found an old Model B laying around, so I figured I would use that instead, no wiring differences.  I also attempted to wire in a second temperature sensor for the draft tower versus the actual kegerator, but was unable to get it working.  I worked from Adafruit's example again <>.

I finally found the time and got everything hooked up, make sure the flow meters are facing the correct direction or you can fry them.  Found that out the hard way.

I had done some more research and found measuring the weight of the kegs might be a better idea.  That might be in my future, but this works for now.  I'm not looking for exacts, just want to get an idea when the beer will run out so I can plan on making more.

Sorry about the pictures, I forgot to take some as I was installing the hardware, so I took a few after the fact.

If there are any questions, feel free to add them to the comments which I will attempt to check once a month.

My code:

Screen display

Monitor and Raspberry Pi on kegerator

Some of the files will need to be updated as kegs are changed out.

Connect to the Raspberry Pi via SSH, I recomend using WinSCP and copy the and flowMeterValues.txt to your desktop so you can edit them.  I recommend using Notepad++ to edit the files. - This is the file you update to list the details for each beer.

  • scroll to the bottom under the Beer 1, Beer 2, and Beer 3 sections.
  • enter in the information as you like between the quotation marks, be sure to leave the quotation marks in
  • save and close the file

flowMeterValues.txt - This is the file you update to note the amount of beer in the kegs initially.

  • top number is the left tap
  • middle number is the middle tap
  • bottom number is the right tap
  • for a new full 5 gallon corney keg change the value of the corresponding tap to 5.0, do not change the others

Connect back to the Raspberry Pi via SSH and copy the files in the exact same locations they were pulled from overwriting the existing file.

If the Raspberry Pi freezes, simply restart it.  I also keep the monitor powered off when not in use.


For whatever reason, I'm not being allowed to edit the instructions so here are the remaining steps.


Connect Electronics


Plan out the locations of the Raspberry Pi, monitor, and all of the sensors, so you can get an idea of the amount of wire and wire wrap needed.

Since my kegerator is in my garage I added heat syncs...

Read more »

  • 1 × Kegerator or Keezer fully functional, with at least 1 tap
  • 1 × Raspberry Pi 1 Model B Raspberry Pi 2 Model B works as well
  • 1 × GPIO Breakout Cable
  • 1 × Raspberry Pi Case
  • 3 × Liquid Flow Meter - Plastic 1/2 NPS Threaded

View all 15 components

  • 1
    Install Raspberry Pi OS

    Download the latest OS from

    Format the SD card.

    Extract the ZIP file to the SD card.

    Select the Rasbian OS and install.

  • 2
    Configure the Raspbian OS
    sudo raspi-config

    1 - Change default pi user password

    2 - Hostname

    • choose a host name of your liking

    4 - Localization Option

    • I2 - Change Timezone
      • select your country
      • select your time zone
    • I4 - Change Wi-fi Country
      • select your country

    5 - Interfacing Options

    • P2 - SSH
      • Yes

    8 - Update

  • 3
    Disable Text Terminals from Blanking
    sudo nano /etc/kbd/config
    • Edit the following lines to show as follows.

View all 11 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates