ShotBot - Arduino Powered Pump Project





Introduction: ShotBot - Arduino Powered Pump Project

This Arduino Pump Tutorial is known as the ShotBot Project, demonstrating an easy way to build a simple shot pouring robot. We use two RobotGeek Pumping stations and some quick code to create a dual shot pouring robot. This project uses buttons to trigger the pouring as a basic example, but the buttons could be replaced with more advanced sensors, such as switches, light sensors, or IR sensors. You can follow the directions here, or find this project on the RobotGeek Learn site in two parts: The RobotGeek Pumping Station Assembly Guide, and the Arduino Pump Tutorial.

Step 1: Project Parts List

The following parts are recommended if you'd like to build as we have in this guide. The idea of using a two separate types of button presses to activate a pump via relay in an arduino environment is applicable to other sets of parts, but the parts listed here will guarantee success.

Step 2: Wiring the Pumps

You can follow along in the RobotGeek Pumping Station Assembly Guide for this step.

Each pump will require its own power source, either by way of a single 6V Power Supply hooked to each, or by way of a 6V Power Supply with a Power Squid, splitting a single wall wart off to power multiple devices.

Pay attention to the wiring diagram above. We will be using the Normally Open (NO) side of the relay for regular operation. This means that the state of the circuit is broken, requiring that you activate the relay to close the circuit, activating the pump.

Step 3: Wiring the Project

You can find this information in the Arduino Pump Tutorial on the RobotGeek Learn site.

Device Sensor Shield Port
Pumping Station 1 Digital Pin 2
Pumping Station 2 Digital Pin 4
RobotGeek Push Button 1 Digital Pin 7
RobotGeek Push Button 2 Digital Pin 8

Not too hard to wire once you have the pumps assembled with their respective power supply, relay, and priming buttons. We recommend using the RobotGeek Sensor Shield with this project to keep the wiring clean, though it can be done with a breadboard with some effort and plenty of jumper cables.

Step 4: Hook Up Your Tubing

Liquid moves out of the center tube, in from the tube on the edge. Place your input tube in the drink you would like to serve, and make the output tube into a spout that you can place a drink cup under to deliver the shot!

Step 5: ShotBot Code

You can download the code sketch here:

Mind the lines:
//Time for pumping stations to turn on in milliseconds
#define PUMP_1_TIME 2500
#define PUMP_2_TIME 2500
2500 is the time in milliseconds that the pump will be activated, determining the amount of liquid in your shot. You might need to fine tune this for the perfect shot with your pumps.

Upload your code, get some liquid, and start pressing buttons!

Step 6: What's Next?

This instructable was fairly simple, we'll admit. In this section, we usually cover ideas for what you can do to have fun with and alter this project on your own, but this time, NextProjectAwesome has built what really amounts to a shining (oh gosh, literally with that neopixel ring) example of how to take a simple idea to the next level. Check out the Drinkinator, it's really stellar, and if you like to party, you might just need to make one. Don't let us tell you what to do with your life, but we highly recommend it.



  • Epilog Challenge 9

    Epilog Challenge 9
  • First Time Author Contest 2018

    First Time Author Contest 2018
  • Sew Warm Contest 2018

    Sew Warm Contest 2018

We have a be nice policy.
Please be positive and constructive.




Can you explain the DC power supply? Do you need a power supply for both pumping stations and the Aurduino? or just one DC power supply with the squid cables going into each element?

One power supply connected to the DC Squid powering both of the pumps and the arduino will do.

I would like to try make it... but here in Brazil it's little difficult to find some parts, like the pumping stations...


Hi, I have some questions about this project. Are there cleaning issues with the pump? I was thinking every time after dispensing some liquid such as alcohol or juice to run a "cleaning" function that just runs water through the pumps for like 30 seconds. Would that be enough to clean the insides of the pump?

Anything sugary can leave residue on the pump's internals if left to sit, so it's a good idea to run water through it if you don't intend to use it for a while. The pumping stations have a manual power function (press red button, pump turns on) that is useful for clearing the line. 30 seconds is a reasonable amount of time to assume that the pump has been cleared.

this is amazing. I personally would like to build one for other application like maybe a bottling machine? My question is for the pump, how thick of a substance can this pump? Say vegetable glycerine? Please let me know as im really interested.

Doesn't work for VG. Drips out slowly drop by drop.

Look up "peristaltic pump vegetable glycerin" for more details on these types of pumps. I think they might actually deal ok with VG but they're not typically high throughput. I suppose they do offer good precision but any precision they offer comes at the cost of speed (more precise = less speed) for these kind of pumps. That is, they don't have a wide band of speed-precision

I'm not personally sure what the most viscous liquid that can be pumped through this is. We've only tried water and alcohol. The only limitations I absolutely know of this pump is that it can't pump anything carbonated, and anything that eats plastic/rubber will kill it. As far as using this project for bottling, that's actually a great idea! All of the tubing we have is food safe silicone.

Now to make an attractive case for it for display!