Introduction: How to Build Your Own Sugru Robot, Fixbot

About: The team behind Sugru, the mouldable glue that makes fixing and making easy and fun. Do-ers of the world it's time to get excited. http://sugru.com



So you saw our video and you've fallen in love with Fixbot, have you? That's okay, it's understandable. We've fallen in love with it too.

We have some great news! You can build your own Fixbot too, provided that you're okay with getting your hands dirty and that you have access to a Makerbot / RepRap / Ultimaker / 3D printer. You don't need to be a code wizard or a da Vinci descendant to get through this instructable, but it will help if you know a bit about how to upload sketches to an Arduino. 

Join us on a journey of bearings, nuts, servos, lots of wires and some ABS, and by the end of it, you'll have your own Fixbot to play with!

P.S. we'd like to give a hat tip to David Chatting for his trigonometry skills and to Benedikt Gross for his movement learning code!



Step 1: What You'll Need

Nuts and bolts and bearings
  • 16 x M3, 16mm long bolts and nuts
  • 16 x M4, 12mm long bolts and nuts
  • 28 x M1.6, 10mm long bolts
  • 3 10mm outer diameter x 3mm inner diameter ball bearings
Electronics
  • 4 x Hitec HS-422 servos
  • 1 x SpringRC SM23/33 microservo (also known as sm-s2309s)
  • 1 x Arduino
  • 1 x 7.5V DC power supply
Other
  • Red, yellow and black solid-core wire
  • 3 cable ties
  • 2 small terminal blocks
Tools
  • M4 allen key
  • M3 allen key
  • Pliers
  • Needle file
  • Wire strippers
  • Small phillips-head screw driver
  • Small flat-head screw driver

Step 2: Print Parts

Head over to Thingiverse and download Fixbot's STL package. You'll notice that you have a choice between two different sets of files. The first set contains all standard parts including the main chassis, the rotation axis, as well as the finger. The second set of files includes the same parts, but we've added some extra feet on the bottom layer to stop the models from curling. If you have a really well calibrated 3D printer or Makerbot, feel free to use the vanilla files. However, if your Makerbot is as quirky as ours, use the anti-corner curling feet variety.

Also, make sure you print one (or all) of the bases for the robot. You have a choice between a vertical screw-mounted base that you can screw onto anything, a GoPro compatible adapter to use with GoPro mounts, or a horizontal screw mounted base.

Step 3: Assemble Main Chassis

A word of caution: You have to do this part in the right order, otherwise you will not be able to fit your trusty allen key into some key parts because it'll be blocked by the servos!
  1. Bolt one of the servos into part A. This requires four M4 x 12mm bolts and nuts
  2. Push one of the ball bearings into the bearing hole of a part B
  3. Screw part B onto the servo wheel. This requires four M1.6 x 12mm bolts and nuts
  4. Take an M3 x 15mm bolt and pass it through the bearing. Screw it into part A's hole until it almost reaches the servo on the other side.
  5. Bolt a new part A onto part B's M3-sized holes. This requires four M3 x 15mm bolts and nuts. Remember that you have to line them up in the right orientation! The edges of part A and part B should be flush.

Repeat this process of building the chassis until you have mounted 3 servos in total. You have successfully built the robot's 3 segment arm!

Step 4: Assemble Rotation Axis

The rotation axis is made up of a Makerbot part and a big servo.
  • Bolt part C to the end of the arm (onto the last part A). This requires four M3 x 15mm bolts and nuts. Remember, these holes need to be in the right orientation. Part C should be centered to part A.
  • Bolt the last big servo onto part C. This requires four M4 x 12mm bolts and nuts.

Your rotation axis is ready!

Step 5: Assemble Finger Axis

This is probably the most fiddly axis to assemble, but bare with us and you won't break a sweat.
  • Mount part D onto the rotation axis servo's wheel with four M1.6 x 12mm bolts and nuts.
  • Screw the micro servo onto part D with four M1.6 x 12mm bolts.
  • Screw the robot's finger onto the micro servo with a screw that came with one of the Hitec servos.

Fixbot now has a finger!

Step 6: Cable Management

In order for Fixbot to move comfortably, you have to do some cable management.

The first thing you want to do is extend the servo cables. You will need 5 cables of different lengths which are progressively shorter. If you want to make your life a bit easier, you could buy servo cable extenders. However, if you don't wanna fork out extra money, just use some black, red and white solid-core wires.

Coiling the cables
  1. Take a yellow, a red and a black cable and put them in your battery drill.
  2. Tighten the chuck so that the cables are held into the drill.
  3. Hold the other side of the cables and press the trigger! You'll notice that your cables are coiling neatly into a nice braid.

Cut your braided cables to the 5 different lengths annotated in the picture. Strip both ends of the wires. Plug them into their corresponding servos. The longest cable goes to the finger servo, the shortest goes to the base servo.

Add some cable ties to keep things neat. Make sure you leave some slack for the wires to move around when the robot is moving!

Step 7: Electronics

Take all the red wires and all the black wires and group them together with two terminal blocks.

Next, plug in the yellow servo signal wires to pins 8 - 12 of the Arduino. The base servo (the one closest to the base) should be plugged into pin 8. The next one up should be in pin 9, etc. etc.

Finally, take your power supply's positive wire and plug it into the terminal block with the red wires. Take the negative of the power supply and plug it into the terminal block with the black wires. Also, plug in an extra black cable and run it from the black terminal block to the ground pin of Arduino.

Download the Arduino sketch from the Fixbot Github page and upload it to the Arduino.

Your robot is almost ready to rock.

Step 8: Mounting the Robot

This is the point where you have to choose how to mount your robot. You should have printed one of the available mounts from Thingiverse. The robot can be positioned vertically or horizontally. You can also use the GoPro mount converter so that you can use it with any GoPro suction cup, chest strap, helmet strap, etc.

All of these mounts attach in exactly the same way. Use four M3x12mm bolts and nuts to attach the robot to the mount.

Step 9: Software

The robot communicates with a Processing sketch that translates a virtual model of the arm to motor movements.

Download the Processing sketch from Fixbot's Github page. Plug in the Arduino to your computer's USB port and run the Processing sketch. The robot should follow the movements you're doing on the computer! 

Click to move the robot's finger!

There is an alternative, more experimental sketch that you can use to draw movements for the robot. The robot then executes them repeatedly.

Note: If you get an error whilst trying to run the sketch, it's probably because the Arduino is on a different port than the one that's hardcoded into the program.

Go to this line in the program:
String portName = Serial.list()[0];
and try to change the 0 to 2 or 4. Most of the time, that fixes everything and you should have a healthy robot.

Step 10: Extend and Experiment

Fixbot has been built to be extended and experimented on, so please feel free to come up with new ways of using it. In the video, the robot uses a moulded sugru finger tip to fix things.

You could alternatively use sugru to attach a pen to its finger. You could then use the horizontal mount to get it to draw on a piece of paper!

We want you to come up with cool ideas for Fixbot. Think of new things to attach to its finger, new configurations for the chassis or cool mounts for sticking it to weird places!