Smart Kegerator Bills Based on Beer Consumption

Kegerator ownership is awesome, but it has its downsides. It’s hard to keep track of who drank what without cans or bottles to count. [Phil] was looking for a good solution to this problem when it came to sharing beer with his roommates and friends and has just completed the first iteration of his smart kegerator.

He has devised a system based on a Raspberry Pi.  His software recognizes the face of the person pulling a beer and adds a charge to their tab based on the price of the keg and the volume of the pour. The system also keeps track of current and historic temperature and humidity values inside the kegerator, and everything is displayed on a Mimo 720S touch screen.

[Phil] has a flow meter on each keg to detect and monitor pouring. This triggers the Pi camera module to run the facial recognition. The walk-through found after the jump might be a bit confusing; at the time it was recorded, the unit was only capable of facial detection. [Phil] wrote the UI in QT and C++ and used Python scripts for the flow interrupts. His plans for future iterations include weight sensors underneath the kegs, liquid probe thermometers for more accurate beer temperature readings, a NoIR Pi camera module for low light conditions, and a really snazzy UI that you’ll see on his build page.

If you don’t have a Pi, here’s an Arduino-fied kegerator that reports temperature and controls beer cooling.


  1. Phil says:

    Could it be fooled by wearing a mask of your room mate?

  2. PeterF says:

    Back in my day, everyone just put down the same amount of money until the keg was payed. Regardless of how much you had to drink, and noone dit care…
    But interesting project, high points for skill :)

    • Thanks Peter! We’ve been using the rough $ split up until now, this was more a learning project for me. But now that I have a record of each pour, I’ll be able to show some really cool plots of drinking habits/patterns. This video is immediately after getting the system to work, many more revisions to come.

  3. pcf11 says:

    How does this device know if a beverage is consumed, and by whom? What if I ask someone else to get a drink for me?

  4. Anon says:

    I wanted to do exactly this ever since I built my kegerator, (except with RFID or a login in lieu of facial recognition.) Awesome!

  5. Bogdan says:

    I like the idea a lot and the implementation. Great job!
    I am just wondering if it is possible to shift the whole thing on an android tablet + IOIO or similar I/O board. This will make it more compact and cost effective.

    • Mike Szczys says:

      If you can get the Android tablet to do the facial recognition then I don’t think there’s a need for an IOIO. Instead, I’d go with connecting the flow meter via Bluetooth.

    • Thanks bogdan! I really wanted to make use of the raspberry pi, so that was my intended hardware from the start, mainly due to low power consumption and a full linux stack. A tablet would certainly work and I did entertain that idea after struggling to get the touchscreen working, but all-in-all I’m happy with the hardware, and I’ll only improve on it from here.

  6. XOIIO says:
  7. vonskippy says:

    If you can’t bring enough to share – don’t bring any at all.

    Geeeeesh, cheap ass kids today.

  8. 0c says:

    Flow sensor = egregiously foamy beer. Avoid!

    • Hi Oc! I’m not sure what flow meters you’ve used in the past but I can confirm I get no more foam with the flow meters installed compared to without. If they did cause foam I would have find another solution, luckily enough they don’t here. Maybe you had your CO2 pressure too high?

  9. Thanks for running this Hack A Day! Sorry for the confusion with the facial recognition. The recognition code is in, and working, I just had it disabled for this video (I rushed it) and for some reason phrased it as being done soon instead of just being disabled. I’ll be posting updates as I work on them so expect to see it working soon!
    Thanks again!

  10. I’d say graph consumption for bragging rights, it certainly beats throwing the cans in the back of the truck as proof! (Rednecks throw their cans on the side of the road, Good Ol’ Boys throw em in the back so everyone can see how much they drank)

  11. Harvie.CZ says:

    These flow meters should be placed flat against the ground, so turbine inside rotates around the vertical axis. I’ve been messing with such flow meter and i’ve found it to be more accurate when placed like that…

  12. Voltatek says:

    Thank you for this great post! My buddy is building a small brewery in his basement and I think this post will be interesting for him!

  13. Shakipu says:

    For big parties, I would use RFID cards. You can have a bunch of them from China.

    • I personally like the idea of a “digital keg cup” for parties where you buy a card allowing a certain number of pours before “expiring.” Although you’d need to install valves into the beer lines as well, it would be pretty simple to achieve.

  14. mattg says:

    I’ve built something similar with the Adafruit flowmeters which was used only for Oktoberfest parties. It was Arduino-based and used RFID chips. The flowmeters don’t seem to be food safe, so I didn’t like the idea of long-term exposure. Have you found any issues with using these full time? Off-tastes/odors, toxic poisoning symptoms, cravings for human brains, etc?

    • Hi mattg, I’ve only had the system running for a couple of weeks, and my cravings for human brains is no higher than normal, so I haven’t noticed any ill effects. Before I ever ran beer through the meters I ran 10s of gallons of water, so they should’ve been rinsed, but in terms of leaching I’m not sure. I will probably move to the Swiss flows for better accuracy and certified food safe in the near future, but for now these are working great.

  15. Beerit says:

    Looks like a feeble copy of kegbot ( which I’ve been using for years. they have an android app too.

    • Hi beerit, thanks for your helpful comment. The Kegbot is built on an entirely different platform than mine. You may think the raspberry pi and an android tablet + USB hardware are the same, but they are considerably different in terms of development. I wanted to use my raspberry pi, so that meant creating it from scratch (more fun!) My system also uses facial recognition instead of nfc/rfid tags, and does not publish the pours online. The two projects’ goals are considerably different and built for entirely different platforms so I decided to share my particular solution in hopes of helping others with similar goals.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s