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



Step #1: 12V to 5V step down and power the Arduino

KegDuino: Arduino Meets KegeratorKegDuino: Arduino Meets KegeratorKegDuino: Arduino Meets Kegerator
  • 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

Step #2: Connect the solenoid

KegDuino: Arduino Meets KegeratorKegDuino: Arduino Meets KegeratorKegDuino: Arduino Meets Kegerator

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.

Step #3: Connect the flow meter

KegDuino: Arduino Meets Kegerator

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

Step #4: Connect the temperature sensor, ground the Arduino, and modify the sd card file

KegDuino: Arduino Meets Kegerator
  • 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! 128 Test Beer Example:

Step #5: Upload the image

KegDuino: Arduino Meets Kegerator

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:

Step #6: Upload the arduino sketch

KegDuino: Arduino Meets Kegerator

  • Pingback: SaluteNew Project: KegDuino – Arduino meets Kegerator | Salute()

  • Karan Parikh

    Hi 3VILPENGUIN thank you for this lovely tutorial. I’m trying to do something similar. However, I am not using the flow sensor or the temperature sensor, I am only using the plastic solenoid valve from adafruit. I am trying to figure out how to wire the circuit at this point, I have a TIP 120 transistor and a 1N4001 kickback diode. I am trying to control the solenoid valve using an Arduino Uno. Thank you in advance.