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.

34 thoughts on “Smart Kegerator Bills Based On Beer Consumption

    1. Yes, it would be very easy to fool. The facial recognition I run is as quick and cheap as possible to keep the framerate acceptable on the limited power of the pi, but I record frames from each pour, and since it’s just friends, I don’t anticipate rampant fraud :)

      1. “…since it’s just friends, I don’t anticipate rampant fraud :)”

        If your friends are anything like mine, you’d be recording a lot of Guy Fawkes, Ronald Reagan, the Grim Reaper, and Bozo the Clown. (c:

        Still, that’s a cool project. (Get it? Beer? Cool project? (c;)

  1. 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 :)

    1. 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.

  2. 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.

    1. 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.

    1. 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?

  3. 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!

  4. 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)

  5. 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…

    1. 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.

  6. 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?

    1. 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.

    1. 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

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.