Introduction: Bro Bot Fist Bump Bot

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

Haven't you always wanted that best friend that always sits there, ready to give you some skin when you've done something awesome? Well Bro Bot is your man! A project that I developed for the MAKE: Hands on Engineering Design course at the University of South Florida.

This project is fairly simple, and is very easy to complete if you have an Arduino laying around and some basic Arduino accessories. For the design of the body, you will have to have access to a 3d printer, or if you're creative enough, lego's or other similar building materials could work too. I printed my BroBot from a couple different printers out of PLA plastic in the lab at school.

Step 1: Designing Your Brobot

I have included all of my Cad .Stl Files for easy upload to any 3d printer, But feel free to get creative and add your own personal touch.

Since I was kid, Bender Rodriguez was my favorite robot, and I always wanted my own to talk trash and tell me to bite his shiny metal ass. While Brobot has a dull painted PLA derriere, and a dull personality all together, he's still designed to be your awesome Bro.

Youll have to start with a solid base. I used my Black box that came with my Make Course set.

The body design is fairly simple, as it has to be large enough to feed all the wires through and stable enough to hold your Bro up so he can deliver some mean High Five and Fist Bumps.

Autodesk Inventor, Solidworks, Google Sketchup, or AutoCAD can all be used to design your best Bro.

Step 2: Assebly

There are many ways you can assemble your Brobot. I chose one of a few options. The head is Controlled by a stepper motor, supplied with your make kit, or you can pick from a variety of alternate small steppers available online or at your local hobby/electronics store. For simplicity, it is nice to have a hot glue gun nearby, or, my favorite, some JB weld.

You will have to glue the stepper motor to the bottom of the head piece, and glue the head to the stepper shaft. For the head, you just slide your sonar Eyes into the eye holes of Brobot, and it should hold itself in place securely. Run your wires down the head and through the body.

Next, I used three servo motors for the body movements. Again, Glue one servo inside each shoulder with the main rotor coming out of the arm holes for arm movement. Glue a servo anchor securely to the bottom of the body for attachment to the body servo. Glue a servo arm onto each arm in the servo arm slot. (looks like the shape of a small servo arm)

For the body servo, you'll have to drill out a small hole in the middle of your top box plate and glue a servo motor on the inside with the rotor gear coming out for the body to be attached to. Cut out a small semicircular slot in the top around the servo motor for the wires to fit through allowing some room for movement. Feed all your wires down the inside of the body and through the hole on the top of the box to the arduino.

When all the glue sets, attach the base plate to the body, and attach the body to the top box plate using one of the provided servo screws to secure the body to the servo. Next, attach the arms and the head/stepper combo to the top of the body.

Find any good spot for your IR receiver, it doesn't have to be too special, just somewhere in the open so your IR remote can hit it.

Step 3: Wiring

There are a lot of different wires, so keep track and use different colors to be able to differentiate which wire goes to what accessory. Use Red wires for your 5v source and vcc, and use Black wires for all of your grounds.

Run all your wires through the body of Brobot, down the body and through the base. Inside the box, I used two arduinos. One arduino serves as the main code processor, and I used a second arduino for power supply. Any form of power supply will suffice, but you mainly just need to allow a source to power your servo motors separately.

On your main arduino, you are going to attach the following wires to the listed pins:

Pin 2: Right Home button

Pin 3: IR Reciever Pin

Pin 4: Left Home Button

Pin 5: Sonar ECHO Pin

Pin 6: Sonar TRIG Pin

Pin 7: Fist Arm Servo

Pin 8: Hand Arm Servo

Pin 9: Body Servo

Pin 10: Stepper

Pin 11: Stepper

Pin 12: Stepper

Pin 13: Stepper

Put a breadboard into the box so you can run your Stepper power/ ground and your home button Power/ground to the power rail on the breadboard. Run a Power wire from the power rail to the 5v pin on the arduino and a ground wire from the breadboard power rail to the arduino ground pin.

Step 4: Waking Up Your Bro

Now its time to flip the switch and watch your bro come to life.

Use the highspeed USB cable to upload your Brobot code into the arduino, and watch as your Brobot wakes up and waits for your first command.

Enjoy your new Bro. (High Five)

Step 5: Edits to Brobot Code

Brobot was designed to be controlled by an IR remote. The one I used may be different from the remote you may be using. You will have to open an example IR Remote arduino decoder program so you can get the code interpretations and designate what buttons command your brobot.(I've included an example in the files)

Go into the Brobot code and replace my IR receive if statement values with your button values of choice so your Brobot will work properly.