Raspberry Pi Controller Automatic Drink Dispensing Robotic Bartender

Introduction: Raspberry Pi Controller Automatic Drink Dispensing Robotic Bartender

This bartender uses pressurized bottles and solenoid valves controlled by a raspberry pi to dispense the beverages. The user can interact with the GUI on the pi to select their drink of choice, they will be prompted to add any required garnish, then they can put their cup under the spigot, and the correct mix of drinks and mixers will be dispensed into the cup.

This project was made for the Mechatronics class at Rowan University.

We originally planned to use peristaltic pumps to dispense the beverages, but they are expensive. We thought using the pressurized bottles was a new and innovative solution. However, several other instructables have been posted using this same method, and they have taken the concept much farther. Definitely check these out:



Step 1: Enclosure

When you build the enclosure, it can be as big or small as you need it to be. We made one large enough to hold five bottles. It is a five sided sort of half circle, with a bottle strapped to the outside of each side using bungee cord to hold the bottles tight to a v-channel. You should also put a cap on the top to mount all of the electronics, valves and hoses, and a spill tray on the bottom.

Step 2: Valves

We got valves from adafruit at the link below:


They are not food rated, so we probably shouldn't have used them. They were just super cheap. We did make food grade adapters to make the pipe thread small enough for the push connect fittings... which are also not food grade.

The tubing leading into and out of the bottles and valves is food grade, which is good! And zip tying the hoses together keeps them rigid enough to act as a spigot.

Step 3: Circuit

The circuit uses the digital output pins on the Raspberry Pi do trigger an opto-isolator. This prevents the sensitive Raspberry Pi pins from coming in contact with the higher voltage solenoid side of the circuit. A diode across the solenoid is necessary to prevent damage to the N-FET from flyback voltage on closing. The circuit below is very similar to the circuit that we used.

Step 4: Program

Python was used to program the GUI for the bartender because it’s simple and easy to use on the Raspberry Pi. The GUI consists of button boxes that contain The base for the GUI can be found at the link below


We edited to suit our own purposes but the basic idea is still intact. We also included our code and pictures in a zip folder. You need to make sure you have the PySerial and RPiGPIO libraries installed on your Pi. And I’m sorry for the lack of comments in the code.

The code that we used can be seen in the zip archive.

Be the First to Share


    • Pocket-Sized Speed Challenge

      Pocket-Sized Speed Challenge
    • Super-Size Speed Challenge

      Super-Size Speed Challenge
    • Audio Challenge 2020

      Audio Challenge 2020

    4 Discussions


    1 year ago

    what exactly did you use to keep the bottles pressurized? only part i'm not sure of in this


    Reply 1 year ago

    We just used a regular old air compressor, but that's really not food safe, because some of the lubrication oil gets into the air and contaiminates the drinks. But if you wanna do it right, get a co2 cartridge they use to pressurize beer kegs, and hook it up to a regulator. The co2 will also help stop the soda mixers from going flat.


    Reply 1 year ago

    Alright appreciate it
    I had assumed a cow cartridge of sorts but had just read pressure regulator and had been wondering how other people had done it but that'll work fine


    Question 2 years ago

    hi can you show me how you connected the raspberry pi and the circuit I want to make something similar please