Use the power of a Windows 10 UWP app to control and monitor a kegerator to keep your beverages cold, fresh and always on tap.
Disclaimer: First off, this project no way promotes the use or misuse of alcohol, it is completely up to the users what beverages will make up the contents of this kegerator.
This project was born out of the desire to better manage the contents of a kegerator. A kegerator works on the basic principal of keeping a beverage cold as well as keeping the beverages carbonated at a certain PSI. In addition just by pouring your self a cold beverage you have no idea how much is left in the keg. It would be a shame to have folks over for a Sunday football game and run out of root beer half way through the game.
So the goals of this project are:
- Maintain a consistent temperature of the beverages, ensure the beverages do not get too warm or too cold and freeze
- Ensure that an acceptable amount of carbonation is applied to the keg to maintain optimal flavor
- Keep track of the amount of beverages in each keg and provide visual feedback to ensure plenty of beverages are on hand for the big game.
- Keep track of the amount of CO2 left in the tank used to carbonate the beverages
The basic electronics components and their use:
- A chest freezer is used for the cooling unit and to provide a frame to create a nice piece of furniture
- Raspberry PI 2 Running Windows 10 IoT core is used as the brains of operation
- Small postage scales are used to measure the weight of each keg as well as the CO2 tank, these postage scales have the electronics removed and a load cell amplifier and small Arduino built in to the scale. These scales will communicate with the Raspberry PI 2 via I2C (more on this later)
- There are 5 Digital Temperature sensors that are installed on the unit, one on the bottom of the chest freezer, one attached to the underside of the top, one each installed in the towers where the tap handles are (more on this later) and one installed on the outside of the unit to measure ambient temperature. These temperature sensors are connected to a small Arduino and also communicate with the Raspberry PI 2 via I2C
- A Honeywell pressure sensor is attached to the air lines that are used to provide carbonation to the kegs. Although the adjustment of PSI is manual (for now) this will provide an accurate gauge of how much CO2 is applied to the kegs.
- A 5V power supply is used to provide power to the Raspberry PI2. A larger version (providing up to 6 amps) was chosen so it could also power an addressable LED strip.
- A simple relay is placed in-line to the power for the compressor. Using this relay the power can be applied and removed from the compressor, the compressor will then in turn control the temperature of the kegerator (more on this later)
The Ultimate Kegerator contains a web server to allow for remote configuration via REST services as well as simple static view of the current status. This web site can be reached at http://slsys.homeip.net:9501 .
In addition the Ultimate Kegerator uploads it’s vital statistics to a Windows Azure event Hub. You won’t be able to use the standard Nuget package for talking to the event hub however, you the easy to implement library provided by fellow Windows Embedded MVP Paolo Patierno available at
For ultimate processing by Stream Analytics
Eventual plans for Stream Analytics would be to:
1) Monitor and notify if temperatures get too warm or too cold
2) Monitor and notify when the CO2 tank gets too low
3) Monitor and notify if there is a leak detected in the CO2 tank (gradual decrease in weight)
Here are some additional pictures of the assembly process:
Source: Ultimate Kegerator
Current Project / Post can also be found using:
- raspberry keg-list