Introduction: Cocktail Mixer Robot - Drink Responsibly

In this project I had many goals, but primarily I wanted to dispense two mixed drinks for my wedding. When dispensed I wanted it to take about a minute and with accurate amounts of liquor. The plumbing would require cleaning in an easy fashion.

My stretch goals included menu selections by a knob, WiFi connection for menu with phone, and encoded pumps for more accurate measurement. These goals during wedding planning were not met due to time constraints. In this design I choose to use materials I had available for free. The materials used is up to the builder. For the plumbing I suggest food grade stainless steel and food grade silicone tube. The pumps I choose for this build were under sized and I highly suggest larger pumps for faster drink production.

As a final note, this project was made for adults age 21 and above. I do not take responsibility for how this project is implemented, your use of tools, nor how you program your device. Any code provided is for this project's implementation only and do not reflect how you like your drinks. Keep in mind this device is not constrained to alcohol drinks, just write a recipe in the program for the mixture.

Please drink responsibly!!!!!!


In this project I used the following but is not limited to


lathe and mill

Tig Welder

hand tools

Brad Nailer

soldering iron

Step 1: The Enclosure

In this step, I had to decide the dimensions of my enclosure and what size cup I wanted to fill. I first started with the liquor bottles grouped together and built an enclosure around them. You will notice a difference in the pictures because I had to remake the enclosure to be bigger. From the first enclosure I learned that I needed more room for my cup to fit under and wider base to allow more bottles. I was trying to mimic a soda drink dispenser or slushie machine. I added the top with a hinge to allow top access to prevent having to move the machine. Finally, I needed a hole for the pipe to come through to dispense the drink.

Step 2: The Plumbing

I started by making one manifold and quickly found out my pumps were too small so I had to make a second. To build both manifold, I found two 3/4" x 6" stainless steel bolts. I used the lathe to turn these down to a smooth shaft without threads or hex head. I then drilled out the center to then bore out the center for 7/16" hole. This is the drill size for a 1/4" NTP pipe tap. I wanted to keep the wall thickness to handle the heat from welding the pump fittings. After tapping both sides I then moved to the pump fittings. I made these from several 1/4"-20 bolts. I turned the bolt down just like the manifold to remove the threads and hex head. I kept in mind to not take off too much material so to not cut into my wall thickness. I then drilled out the center and in one turning pass I cut a shoulder for my tubing to fit. I left extra material on the fitting so I could later weld to the manifold.

I then moved to the mill and starting with the manifold body. On the first one I made 4 holes on one side and the second I decided on 6 holes. This made welding harder but I got it done. In my CAD model I thought I wanted the spout on the manifold but after testing found it was not enough. When I drilled these 10 holes I first drilled the hole for the fluid to go through since I was using a manual mill with no DRO. After drilling a through hole I changed to a drill bit for a size matching the diameter for the fittings I made. This allowed me to set the fitting in loosely while welding and to line up the hole for the fluid. I repeated this for all 10 holes.

Now on to the welding for this project. When it comes to welding its always helpful to clean the parts. Since these parts were just soaked in cutting fluid, I cleaned them with degreaser and compressed air. I used the lathe to polish every part to give a better look and to deburr. After welding doing any finish work would be very difficult.

I turned up my argon flow because of my tungsten stick out (its a tight spot). I used the foot petal to control my puddle. I did not need to add much filler because the under cut from the fitting flowing into the joint. I will note I did not have the best setup to do this properly with out under cut.

To finish this step I used the wire wheel to clean up the coloration from the welding process.

Step 3: The Circuit Board

The circuit is very simple. I needed to turn on/off 10 motors. For the motor control I went with a simple transistor with fly-back diode configuration from parts I had laying around. I stalled my motor and found it was less than 1 amp. I found 10 of the same transistors (TIP41C)with more than 1 amp current to keep the transistor package temperature down, otherwise I would need a heat sink. I used a resistor to bias the BJT transistor and added a bulk capacitor to the power line for the switching of the motors.

This board was designed to use a Teensy 3.5. This board has a microSD slot, DAC, ADC, and many other features. This board shown was to be a fall back plan if I could not add the extra features in time. I made a separate board for the encoding. With this extra board I wanted to try encoding magnets I placed in the pump. I used a DRV5053, this is a hall effect sensor that will produce a change in voltage based off the polarity of the magnet. I was able to trigger on every pump roller and count the pulses. While programming this became difficult and inconsistent with the interrupts missing pulses. The challenge is with each pump creating an interrupt at the same time as another pump. The teensy will only count 1 pulse for a motor and thus ignores other pulses. Then tried to sequence the pumps but this extended the time for filling. The final decision was to use timers. This allowed .1mL accurate results.

Maybe in the future I could design a board that will attach to each pump with an encoder. This could allow 4 wires sent to the motor, 2 for power and 2 for communication. If it was I2C I could send a character for a given amount and second character for time.

Step 4: The Assembly

In the assembly, I had to make a bracket for the pumps and manifold. I used some Plexiglas I had laying around and cut holes in it for each motor. I cut some spare aluminum sheet and bent it to make a bracket to hold down the manifold. I used a drill to twist some wires together and solder to the motors. Connected hoses to all the pumps and the manifold while leaving enough hose to reach each bottle. Wired up the battery to the main board and added lights to help see the tubes in the dark. The board I ordered to hold the teensy did not have I2C broken out or WiFi added like I wanted to add. I put all this on a protoboard and connected the front LCDs and RGB Switches to this spare board. If there is a next revision, I will add these features on a designed board. For the WiFi, the ESP8266 is being used and has a web site on it to debug and select drinks.

Step 5: The Test

In 1 minute I was able to fill a 16 fl. oz. solo cup. This was using all 10 pumps. With the attached .ino file, it applies to an ESP8266 NodeMCU.