The goal of this project is to provide a simple, cost-effective DIY solution to awesome kegs. Check out the images to get a feel for what it can actually do. If you want to build this yourself, I’ve open sourced the code on GitHub and will provide a parts list and tutorial.

I started this after completing my Kegerator, and saw how popular the Arduino was getting. I follow a lot of gadget hacking sites, and saw a big post on the KegBot. This project is simply awesome, but I dislike the amount of overhead needed. The KegBot is A) Expensive and B) Requires parts you may not want/have. After this, I decided, why not use an Arduino with just a few components? Thus my idea was born. After some time and setbacks such as shipping delays and the amount of time to get up to speed on the Arduino itself, it’s finally finished!


IMG_0684 IMG_0685

Project Steps

12V to 5V step down and power the Arduino

Set up the 12V to 5v step down as seen at this tutorial:

Connect the output from the 5V step down to the Vin on the Arduino

Connect the solenoid

The TIP120 left prong (facing the transistor) goes through a 10K resistor into the Arduino’s Digital 2.

The TIP120 middle prong connects the 1N4004 to the +12V line. The middle prong also connects to the – side of the solenoid.

The TIP120 right prong goes to ground.

The + side of the solenoid goes directly into the +12V line.

Connect the flow meter

Yellow goes to Arduino Digital 3, red to +5v, black to common ground.

Connect the temperature sensor, ground the Arduino, and modify the sd card file

Connect the temperature sensor. +5v into pin 1. Analog 4 from the Arduino goes into pin 2. +5v through a 10K resistor also goes into pin 2. Pin 3 unused. Pin 4 to common ground.

Connect the ground pin on the Arduino to the ground line on your breadboard you set up as the power supply on the 5v ground rail.

Put data.txt on the sd card that contains (note that {numberofounces} should be an integer that represents how much beer is in the keg at the time of setup and {nameofbeer} is the string name you want to display for the beer). Note2: Do not use the {}’s. Those are there for clarity, don’t use them! See sdcard/data.txt as an example!


Test Beer


Upload the image

Put beer.bmp on the sd card. Please note you can’t upload a JPG, only 24-bit bitmaps are supported, so grab the one off my github to get going.

The image in question:

Upload the arduino sketch

Upload the latest sketch INO into the Arduino from

Ensure you have the correct libraries loaded to get it to compile.

Change NUMSAMPLES to 3 in libraries/TouchScreen/TouchScreen.cpp! (This makes the touch screen refresh to a median value, meaning that on each refresh it will not try to detect a new press, but continue to realize a hold)