Blog - Sketching with Hardware

Team 8: C-3PObstler

Published on: | Author: Ha-Vy Ha | Categories: 2016b, Best Projects


On the first day of brainstorming we tried to associate things that we would do outdoors with the challenge. And drinking games that require some skill like flip cup, flunky bad and beer pong came to our minds. We decided on beer pong because we initially thought about doing moving cups, that would rearrange when scoring. But then we decided to omit the teamplay aspect of the game and change it to a one player game. After gathering some ideas C-3PObstler was born. Or the idea of him at least.

A robot butler that would pour you a drink when you hit the cup.

1.Building a peristaltic pump

How does it work?

A peristaltic pump is a mechanical pump that can move fluids, by applying pressure onto the pump and basically squeezing it. The fluid is in a flexible tube inside a circular pump casing. A rotor is  attached to (in our case) 2 round bearings, which squeeze the tube, while turning with the rotor, which causes the fluid to move through the tube. And when the pressure point is released (the tube is open again), fluid flow is induced to the pump. (

Screen Shot 2016-08-09 at 14.34.33

So basically, a peristaltic pump can suck in fluid from on container, move it through the pump and release it into a different container. C-3PObstler has a cup inside its body on the bottom. One end of the tube is inside that cup with your favorite beverage of choice and the other end is pouring the drink into a shot glas above.


We knew that the most complex and difficult part of our project would be the pump, but it would also be the cool factor of our project. So, peristaltic pump or bust.

Fortunately we found a svg file on ( We changed the size of the hole, the tube would enter or exit to 6mm, since we found a silicon tube perfect for out purposes that was 3mm thick. The tube needed to be resistent but not too thick, so that it could be squeezed easily. We cut out the necessary pieces of the pump out of 4mm thin wooden boards with the laser cutter. We got regular 2 608 ball bearings, which would be in charge of squeezing the pump. Over confident us thought that the pump would only require 2-3 days max. We were quite naive. Because so many more problems would arise:
1. problem: how could we attach the hacked servo (one that is supposed to 360 degrees instead of only 180)?
Hot glue was not sufficient enough, we needed some kind of attachment to hold the body of the servo. We went back to the laser cutter and cut the outline of the servo into a same sized wooded square piece, which is supposed give the servo some stability.

2. problem: too much abrasion, the servo wasn’t able to move the pump quickly enough for the water to be pumped through it. So we used silicon oil, abraded the inner parts of the pump and got a slightly thicker silicon tube (5mm). And it worked, the servo was finally moving and the fluid inside the pump was moving as needed.

3. problem: the tube is pulled into the pump and gets entangled. this problem was kind of tricky and no we did not solve it. We thought about good old hot glue, and after testing whether the heat would affect the silicon tube (it didn’t) we glued the entering and exiting parts of tube together, to give it some resistance so that it wouldn’t be pulled in, but that only caused more problems.

And now we had the last day already and we decided that though we always had to pull the tube back out, the pump did work So we left it the way it was, hoping that it would do a bit of pumping at the presentation (but it didn’t).

2. Beer cup and ball aka. the button

We wrapped the ball into copper tape, glued some steel wool on two opposite parts in the cup. The idea is, that once the ball hits the cup the electric circuit would be closed and the pump would start running. And since steel wool is quite puffy, it made sure that no matter where the ball landed in the cup, the circuit would be closed.


Check out the video to C-3PObstler:


The electronics for C-3PObstler:

Screen Shot 2016-08-09 at 14.24.07


The code for C-3PObstler:

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
const int buttonPin = 2; // 
int buttonState = 0;
void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  pinMode(buttonPin,INPUT); //initialize digital pin 2 as an input

void loop() {

  if(buttonState == LOW){ // button is pressed
    myservo.write(180);   //turn servo on (full speed; 0 == cw, 180 == ccw)
    delay(100000);        // rotate for 100 seconds
  else {                  // button is not pressed
    myservo.write(90);    // don't move the servo

linked categories 2016b, Best Projects


Write a comment