I decided to enter the exciting world of Arduino devices with a project that I have been meaning to attempt since college. Electronic, cocktail mixing devices have been built by many on the internet and I always find them interesting because of the multitude of approaches to make them work ... and of course, also because of alchohol. I got an Arduino UNO starter pack just to figure out what this Arduino stuff is all about. I used that to test out how my peristaltic pumps worked before I figured out how I wanted everything to work.
I'm not much of a hardware guy, so I opted for a very basic circuit. A single Darlington Array to drive the pumps, with each pump controlled by a digital output from the Arduino.
Below you see the basic setup from the back. Five pumps, five pins, five separate bottles of liquor. I quickly noticed that five ingredients isn't enough to make a whole lot of different types of drinks, in v2 I'd like to up this number a good amount.
Being a software guy, I wanted to use this project as an opportunity to try out a few things in that domain too. Lately, I've been playing around with my Amazon Echo and the Alexa Skills Kit (ASK) API, so I decided that would be my primary interface. The Amazon Web Services Internet of Things (IoT) service also peeked my interest. Hence my project became an Arduino powered, voice controlled, internet connected, electronic bartender. Later I intend it to expand to include a website (complete with BAC leader board) with a Restful backend implemented with AWS API Gateway, but first things first.
Here is my demo of v1:
There are a few things I noticed on the first pass that I think can be made better. The pumps I'm using take a while to pour, I'd like to try some different pumps/tubing to see if I can get more reasonable speeds. Also, my current software needs a little more work to stabilize it. It's been a long time since I've programmed in C and my Arduino Sketch code shows it. I would also like to tune the voice interface, I had some problems with recognition of some commands and Alexa is hit or miss at recognizing the word Negroni. Once I get some of that straightened out, I will put some code on github.
Overall the project was not too bad for a pretty cool result. I enjoy using AWS lambda's and programming for my Echo. They are two AWS services that are very easy to work with. It took me a bit longer to figure out how to use AWS IoT, and there are some features that I wish it had, but it works and I would certainly be ready to connect my whole house up to an IoT service. If you have any interest in this project, here's a list of the hardware I used:
Consumed parts, totaling about $160 for my build:
- 5x Peristaltic pumps
- Silicon tubing
- Barrel power connector pigtail
- Half-size breadboard
- Arduino YÚN
- ULN2803: 8 Channel Darlington Driver
- 1" x 4" x 4' pine board
Other items used that you might have lying around: