Bartendro software

Here is a link to the Hello Drinkbot fork of the Party Robotics Bartendro software.

Check it out of git and then:

cd bartendro/ui
cp bartendro.db.default bartendro.db
./ --debug

You can now go to to see it in action. You can specify the address it is running on:

./ --debug -t

The main current differences are to create a copy of /ui/bartendro/router/ to /ui/bartendro/router/

Hello Drinkbot at Chimera

I brought the bot to the Chimera Open House and was able to serve a bunch of happy people White Russians, Mudslides, and Irish Russians (and variants on those).

I served a whole bottle of Bailey’s, and of Kahlua.

I used the modified Bartendro software, and aside from a little off by one error, everything worked great.

Front view of Hello Drinkbot prototype at the Chimera Open House
Hello Drinkbot rear view.
Back view of Hello Drinkbot prototype at the Chimera Open House

Case: Pump plates/panels

Added four panels or plates to mount 4, 7, or 8 peristaltic pumps. The designs in SVG and DXF are now live on github. If you have an existing bot, or you want to mount the pumps for a bot in a custom place you can use one of these designs or use it as the starting point for your own design.

Using one of these designs saves you from needing to measure the pumps to determine how big they are.

Case: The Basic Box

The basic box is now on github

Laser cut from 6 mm (1/4″) material. Use 24 M3-12mm screws and nuts to fasten the case together.

This is a basic box with openings cut for four peristaltic pumps, mounting holes for a Raspberry Pi, and holes for the a monitor cable, 12 volt power cable, and USB cable to come out.

This needs to be placed on a shelf, or other support, or mounted to something in order to have it above the supply bottles. No affordance as yet exists for managing the dispensing side of the tubes.

Anatomy of the basic bot…

(this is a draft, please write with corrections or suggestions)

Cocktail robotics can be about more than ‘robots which serve cocktails.’ The Roboexotica model is that it serves as ‘an index for the integration of technological innovations into the human Lebenswelt’ and “radical hedonism in man-machine communication”.

There are a lot of fun ‘cocktail robots’ which don’t dispense cocktails, and there are lots of robots which dispense cocktails without a computer (see ‘Balls of Steel’ and ‘The Corpse Reviver’), but the goal of this project is to get more people making more cocktail robots by providing a simple and affordable solution to the ‘hello world’ problem of ‘how do I dispense cocktails under computer control.’ And to provide options where one can customize, explore, and expand on the basic model.

The bot starts with some laser cut parts and a few other parts. Once assembled the bot presents as a wifi access point. You can connect with it and control its’ operations using a customized version of the feature rich software which controls the Party Robotics Bartendro.

The bot uses a Raspberry Pi with an AdaFruit DC & Stepper Motor HAT to control peristaltic pumps to dispense liquids to make cocktails or Italian Sodas. The Pi can also be controlled with your own custom software using the AdaFruit motor control library code, or you can control the bot through a semi-restful interface.

The Raspberry Pi is a tiny single board computer which runs Linux and supports a graphical user interface. The AdaFruit DC & Stepper Motor HAT is a board which connects to the Pi and allows you to control four (or with a little trick eight) peristaltic pumps (up to 32 of these boards can be stacked so you can control 256 pumps, which is well beyond the scope of a hello world project!).

The motor hat requires a small amount of soldering on the terminal blocks which you use to attach the pump wires to the board, and to attach the headers which connect the HAT to the Pi.


There are many ways to move and dispense liquids in a cocktail robot! We use peristaltic pumps like these from AdaFruit.


A laser cut wood or acrylic frame holds everything together. There are several case designs in the github repository.


AdaFruit provides a python library for the motor HAT. The project comes with sample code which will dispense ingredients from the command line, and (slightly aspirationally) there is a modified version of the Bartendro code which allows you to manage which ingredients are in each position, create and manage a database of cocktail recipes, provide a web based interface to let users select and customize their drinks, and provides a restful interface to dispense cocktails which you can call from your own code.

Doubling pump capacity of Adafruit Motor Controller hat

The Adafruit motor controller hat can control two stepper motors, or control forward and reverse on four dc motors, such as the peristaltic pumps in Hello Drinkbot.

But we don’t normally need forward and reverse, so we can take advantage of that fact to control eight peristaltic pumps with a HAT which can normally control four.

Adafruit DC Stepper Motor HAT

To double the pump capacity connect one side of your first motor to the first of the M1 pins and the other side of the motor to ground, and connect your second motor to the second pin of M1, and ground (and repeat for M2, M3, and M4).

Then in the software move ‘FORWARD’ to control motor 1, and ‘BACKWARD’ to control motor 2.

The downside is that this means that you can’t run those two ingredients at the same time. So perhaps we could put non-rivalrous ingredients on each motor controller. So, for example, Gin could be on M1 forward, and Vodka on M1 reverse, under the theory that one would be less likely to dispense gin and vodka in the same cocktail (though a quick google search finds gin and vodka cocktails, perhaps a better case is cream and soy milk for normal versus Hippie White Russians).

In any event, you can now add four ingredients to the stock Hello Drinkbot for just the price of the pumps and tubing. Yay for cocktail ingredient multiplicity!