A cocktail dispensing robot. Controlled over the Internet or a local WIFI network, it is capable of mixing a variety of drinks from up to five different ingredients.


The Barbot is a cocktail dispensing robot which allows users to order cocktails from a webpage. The robot hosts a wireless access point which local users can connect to, or it can plug into a wired network which allows it to be accessed remotely over the Internet. The webpage lets the user input the liquor they have on hand and a list of potential cocktails is generated. The webpage then allows users to order cocktails and also rate the cocktails they've enjoyed.


The device is based on a BeagleBone Black with a USB WIFI adaptor. The BeagleBone takes inputs from 5 sets of switches, one to toggle the pumps and another to select the direction of flow, which allow the user to prime and purge the pumps. The pumps are standard peristaltic pumps which are driven by a H bridge for direction control. The control buttons and pumps are all set in a laser-cut plexiglass control panel. The control panel and other plywood panels are all mounted on a sturdy angle iron frame.


The BeagleBone Black runs Ubuntu 13.04 with Apache2, MySQL, PHP, bind, and dhcpd installed. Apache2, MySQL, & PHP are used to host the web interface and bind & dhcpd are used to create a captive portal for WIFI users. The web-server directly controls the pumps by using PHP to write into the GPIO sysfs files.

A web based interface allows users to order and rate drinks. A list of drinks is available, which shows their ingredients and current ratings by other users. Configuration tasks are also accomplished over the web; such as selecting the liquor for input, enabling and disabling the physical prime & purge switches, and restricting access by function (browse, order, rate, configure) to certain users and groups.

Additional detail on the software configuration is available.

Try it Out Yourself

A publicly available mock-up of the web interface is available at


More Information

Project Categories: 
Single-board Computers
PHP (Scripting Language)
An image of a HTML file
A image of a LED
An image of an ethernet jack
An image of a palette
An image of a chefs hat
An image of a wine glass


Hi, that's a really nice project.
But were did your get those medical style pumps.
I participated to a similar project but the pump we used had some cleaning issues.
A link would be very appreciated.
Sorry for my poor English skills.

Hi Ben;

I'm using peristaltic pumps which can be found fairly easily on eBay or from Adafruit.

Nice build! Can you please tell me which type motor you used?

Kind regards,


Hi Tijmen;

The motors were included with the peristaltic pumps that I purchased (see my comment to Ben above). According to the sale listing online, the motors draw 30mA at 6V.

Really cool project. Are you going to release any of the source code?

I debated publishing the source code, but in truth that's pretty difficult since this project resulted in a large number of small configuration files scattered all over the file system. The best way to distribute the code would be publishing an image of the entire system, but I would need to spend significant time sanitizing it and I don't have the resources to host a file that large.

Addendum: I've put together a more though explanation of the software side of the system at: Let me know if you would like additional detail on anything.

Scattered config files and code are fine. Someone else can maybe wrap it all up in a deployment script (using Fabric, Ansible or what-not).

This is really cool. Do you do any flow control? (ie do you have any way to sense that the liquid is flowing at the correct rate and/or if the bottle is empty?)

Nope. Generally the liquids are flowing at a consistent rate, since the pumps move at the same speed and the tubing is the same diameter, so I'm choosing not to worry about it. Happily no one has brought out a graduated cylinder to get exact measurements of the ingredients for their drink.

hey im in the final semester of school for electronics engineering technician program and for our final project were supposed find a project online and build it.

i would love to build 1 of these things for myself. would it possible?

Totally, I don't see why not. If you are in an electronics engineering program then you are far more qualified than I am.

very nice project btw, looks classy. Great to hear this was accomplished by a self-taught.

Any thoughts on publishing the BOM and crafting the schematics? This is probably an advanced project for a newbie to emulate (though you've laid a lot of pieces out there, it could be worked out). Cheers.

I don't have any plans to publish any additional information on this project.

Ultimately, I enjoy building and designing things far more than I enjoy documenting things. I don't have any strong incentive to work on detailed documentation for my projects when I could be moving on to the next fun and exciting project.

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Filtered HTML

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.