Introduction: ShotBot Robot

This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (


Wires, Arduino, 6v food safe Submersible DC Water Pump, 2 stepper motors, 2 ULN2003 Driver Boards, H-bridge, 180 Servo Motor, 5v and 6-9v Power Source, Breadboard, IR Senor and remote, Hot Glue Gun, Food safe tubing.

Step 1: Model Your Robot

Create a 3D Model of your robot of how you want it to look. Take into account how will you place the wheel and axis, the motors, the mechanisms for the cupholder, the wiring and electrical components, and the water tank. You can see in the picture that I have a planned the size (8x8x4in) and the placement of my components and wires. If need be, find the dimensions or 3D models of your actual components. You can also see in the back corner that I created a slot to put wires through.

Step 2: Side View

You can see I created a slot for the stepper motors and axel for the front wheel.

Step 3: 3 Main Components

There are 3 major mechanisms for the Robot.

1. The Motion: The wheels and drive functions.

a. This Requires the two stepper motors and driver boards

2.The Cupholder: Creates a placement for the cup and precise pour location

a. This requires a servo motor.

3.The Pouring: Mechanism for pouring out each shot.

a. this requires the H bridge and water pump

For the breadboard, connect the ground rails to each other and connect one of them to Arduino to create a common ground.

This Bot will be controlled by an IR Sensor and remote. You will need to connect it to one of the digital pins on the Arduino and connect it to to the Arduino power and ground.

Step 4: The Motion: Stepper Motors

Connect your Stepper motors to each driver board and connect the IN pins to the 1-4 to pins 2-9 on the Arduino. Connect the power source to an external 6v+ battery and ground out each system with common ground(or Arduino ground)

When you program the stepper motors, you can either use the stepper motor library or hard code it. For this project it will be hard coded.

Step 5: The Cupholder: Model

This is a model of the cup holder I created. Notice the open joint on the back for the mechanism.

Step 6: The Cupholder: Mechanism

For the Cupholder, you will use a servo to control its motion. Following the picture above, You want to create a two joint system with a joint at the end of the servo arm and a joint on the back of the cupholder. This will turn a rotational motion to linear. For this I used cardboard and Q-tips. I cut a small rectangular piece of cardboard and put a small hole and each end. I put a Q-tip, through each end and attached it to the servo and cupholder. Then used hot glue to cover the ends of the Q-tip.

Step 7: The Cupholder: My Mechanism

Step 8: The Cupholder: Circuit

You want to connect the servo motor to the power and ground and connect it to one of the PWM pins.

Step 9: The Pouring: Circuit

Connect the DC water pump to OUT1 and OUT2 of the H-bridge. Connect the H-bridge to common ground. If your external power source is less than 12v connect it the +12v on the H-bridge, if not remove the jumper cap behind the connection and connect it to the +12v. For this Project I used a 9v Battery as my external. Next, remove the jumper on the ENA pin and connect it to a PWM pin on the Arduino. Connect IN1 to the Arduino pins. Note: Normally we would connect IN2 also, but we don't have to in this case because we never need to change the configuration of the DC motor.

Step 10: The Pouring: Cont'd

You want to put the water pump at the bottom of the tank and feed it out of the top of the tank. You can then angle the tubing to come from the top of the robot and aim it at the cupholder.

Step 11: ShotBot Code

The Main code and functions