DIY Life-Size Phone Controlled BB8 Droid




Introduction: DIY Life-Size Phone Controlled BB8 Droid

About: Hi! I am Angelo, others know me as TechBuilder. I am an Electronics & Communications Engineering major. Instructables has been my home ever since I was 10. Hope yall enjoy my projects!

Today, I'm going to teach you how to build a working, life-sized, phone-controlled Starwars BB-8 droid! In this tutorial, we are only going to use household materials and a little Arduino circuitry.


My Christmas Gift For Dad: One of my dad's hobby is being a toy collector (Hot Toys, Enterbay & Etc..). He grew up watching movies from the 80's, including Starwars! He is a really huge Starwars fan. When the Sphero BB8 was announced, he wanted it so badly! The Sphero toy cost $150 online, $210 in our country (Philippines), not to mention that they ran out of stock easily! It's not the typical toy that you would buy impulsively. Knowing with my past experience in building robots, I figured I could build a life-sized version of the Sphero BB8 for less than $100. I also saw this as an opportunity to spend some father-and-son time with him. This is what we ended up building in the week of Christmas! Anyway, my mom and I also got him a Sphero BB8 and used it as our reference for building this project. For him I guess, the best gift was the time we spent building it together.


Why Household Materials?

Due to the limitation of materials, I resorted in using the materials around me. (deodorant roll-ons as ball bearings, canvas as fiberglass, Christmas balls as the eye & etc.. ). A lot of people could relate to this. My approach on building the project doesn't require 3D printers, CNCs or Milling Machines!


The full video tutorial is finally out! (MUST WATCH!)

RECENT UPDATE: BB8's First Day At The University (v1.0 Demo)

DIY BB8 (v2.0) in Progress Update:

If you liked the video, feel free to subscribe to my YouTube channel - TechBuilder! Also, please don't forget to VOTE! Thank you! ^_^

Step 1: Reverse Engineering BB8's Design

Step to be written soon!

Step 2: Gather the Parts and Materials

Step 3: The Science Behind BB8's Magic!

The first time I saw (comicon-reel) and heard that they we're going to use a real BB8 robot for the Starwars movie, my initial reaction was; A ball? A ball than spins with a head that stays upright? What kind of sorcery is this?!?!?


Aside from being extremely cute, BB8 also has a very intriguing design and build. You just can't stop wondering how this droid works! It really took some advanced engineering and a creative mind to invent such a thing. The idea of how the mechanism works, greatly involves concepts of physics and electronics. It's all about maintaining the right center of gravity. The original BB8 design which was used form the movie, used a hamster wheel design. Basically, there's a two wheeleed robot rolling around inside a sphere. The head stays uprightdue to the presence of magnets.

How The Sphero Version Works: (by: Tested)

In addition, this website explains really well, how BB8 works! (

Step 4: Inflate the Beach Ball

Pump enough air until you reach the maximum diameter of your beach ball (50cm).

Step 5: Prepare the PVA Glue Mixture

We will use PVA glue (Elmer's glue) as our paper binder/ hardener. Mix 2 part water to 1 part PVA glue.

Step 6: Prepare the Newspaper Strips

Gather a bunch of old newspapers. Align them carefully and cut them using a cutter knife and a ruler.

Step 7: Make the Paper Mache

Lay strips of newspaper on the surface of the beach ball and brush them with your mixture of glue. We're basically making a huge piñata. We're going to use the beach ball as our mold for the paper mache.

Step 8: Tip* - for Faster Drying

If you're in a hurry, use a blow dryer to speed up the drying process. Or maybe point an electric fan to the paper mache and leave it to dry overnight.

Step 9: Add a Layer of Canvas

The store, where I buy fiber glass, ran out of supplies. I used plain canvas instead of the fiber glass. The canvas hardens really well and works as a good paper mache. (cloth mache)

Step 10: Let It Dry

It was raining cats and dogs when I reached this step. I took my paper mache indoors and used a fan to try it overnight.

Step 11: Smoothen the Surface

After the canvas mache dries, you may notice there are overlapping sheets of canvas. You can simply plane it off using a sharp cutter blade. Smoother surface = smoother ride!

Step 12: Apply Wood Putty to BB8's Body

Let's begin the smoothening process! Get a can of wood putty and carefully apply it on the outer surface of BB8's body. Use an metal applicator to do the job. The putty fills in the gaps. Any excess putty will be removed after the sanding process.

Step 13: Sand BB8's Body

Once the putty dries. Sand the surface of BB8's body. Use a coarse grit (100-400 grit) of sand paper. I used my Makita electric sander to make the job easier.

Step 14: Draw Details and Outlines on BB8's Body

Download the file package below. I have included a template of BB8's detailed artwork. I had help from my dad to put this up. I'm very bad at drawing. We used videos and images from the net as our reference.

Circular shapes can be achieved by using a compass. While straight lines which falls on the curved surface of the body can be traced with a tailor's tape measure.

Step 15: Mask the Body

Use lots of masking tape to mask the areas that you don't wan't to get paint on. 'The art of masking'.

Step 16: Paint BB8's Body

We painted BB8's body with 3 different colors of spray paint: white, grey and orange.

Step 17: Peel the Mask

Once the paint dries, peel the masking tape. Just be careful in peeling! Sometimes, the paint tends to go with the tape.

Step 18: Let's Make the BB8's Head

BB8's head masures 30cm in diameter. Basically it's a semi-circular head with a beveled edge, a little off from the median. Use a trash bin as a stencil, then use a marker to mark your cutout. Use a hacksaw to cut the Styrofoam ball in half (nearly half).

Step 19: Build a Styrofoam Bevel Cutter

The beveled edge can be achieved by building a makeshift styrofoam hot-wire cutter. I did that by recycling a piece of wood from an old picture frame, which I then used as the base of the stryo cutter. I mounted a metal stand-off at the middle as the pivot for the stryofoam. I mounted another metal stand-off for the hot-wire. The hot-wire can be stripped from a thick insulated wire. I then connected a switch and a 3.7v (18650) lithium-ion battery in series with the hot-wire. Whenever I press the push button switch, the wire heats up. Clean styro cuts for me!

Step 20: Hollow-out the Head Using Heat/ Fire

You can reduce weight by hollowing-out the inner portion of the styro ball. You can do that by melting/ burning the styrofoam using a blowtorch or a lighter.

Step 21: Apply Putty on BB8's Head

Then again, apply a layer of wood putty on BB8's head, then sand it with sandpaper.

Step 22: Draw the Details on BB8's Head

Step 23: Paint BB8's Head

We painted BB8's head with 3 different colors of spray paint: white, grey and orange.

Step 24: Make BB8's Eye

It was Christmas when I reached this step. I grabbed a frosted Christmas ball from our Christmas tree and used it as BB8's eye. I cleared the frosting by wiping it out with Acetone. I painted the inner portion of the ball with black spray paint, leaving the outer portion with a little luster.

Step 25: BB8's Eyelids (lens Cap)

Cut a piece of plastic from a plastic cup, and spray it black! Viola!

Step 26: More Parts and Details for BB8's Head

BB8's has two antennas. We took a WiFi antenna an hot glued it to the head. For the other antenna, we used a white solid wire. I added an MP3 module and a speaker on more Version 2.0.

Step 27: Build the Mechanism - Cut Some Wood

I used a 1/4" thick MDF wood as the base of the robotic mechanism inside BB8's body.

Step 28: Build a Makeshift Lithium Battery Pack

This is my new thing now. I save tons of money by assembling my own Lithium-ion battery pack. In this project I'm using a 4 cell battery pack. I simply just soldered four 18650 (3.7v 2000mAh) Lithium-ion batteries in series. 18650 rechargeable batteries are very cheap and common nowadays. I made two sets of these and connected them in parallel. I now have a total of 14.4v (4,000mAh)! It also costs less than my Turningy bats!

Step 29: Mount the Metal Gearbox

Mount the metal gearbox together with the brackets on the MDF/ wooden platform. Use nuts & bolts, not glue.

Step 30: Establish the Electronics (+How It Works)

How It Works:

The phone app sends characters via Bluetooth every time you press a button. The Bluetooth module receives the data while the Arduino interprets and processes these data. The Arduino sends signals to the Motor Driver shield to give a go signal for the switching of the motors.


1st.) Mount the Arduino to the platform

2nd.) Stack the Motor Driver Shield

3rd.) Connect the left motor's wires to M1A & M1B

4th.) Connect the right motor's wires to M2A & M2B

5th.) Mount The Lithium-Ion Batteries

Step 31: Add the Bluetooth Module

Step 32: Program the Robotic Mechanism

Here's the Arduino Code. Before you upload the code/ program to your Arduino Uno board, be sure to install the Pololu Motor Driver Library. Also, please do not forget to disconnect the TX-RX lines of the Bluetooth module from the Arduino. This is done to prevent the Bluetooth module from interfering with the Arduino during the programming process.


Don't know how to install an Arduino library? Find the instructions here! (click me).

Step 33: Download the Phone App

Here's a link to the phone app that I've used. It's named as 'Arduino Bluetooth RC Car'. It's a very simple app to use.

How To Use It:

1.) Download the app form the play store/ itunes.

2.) Launch the app

3.) Open the configure window (wrench icon)

4.) Tap; connect.

5.) Select HC-05 (The name of the Bluetooth module)

6.) The red light should turn green once it establishes BT communication.

Step 34: Cut BB8's Body in Half

Use a hacksaw to cut BB8's body in half.

Step 35: Build Makeshift Rollers!

Roll-on deodorants!

Step 36: Build BB8's Internal Magnetic Head Mechanism

BB8 has a magnetic mechanism that keeps the head upright. He has a Internal and External one. In my design, I hot glued four Roll-on deodorants (as my makeshift rollers) on a round wooden plate. I then attached a servo with two large magnets attached to it. The plate is mounted to the base with four elongated wooden shafts.

Step 37: Where Can I Find Magnets?

Speaker drivers are good sources of strong magnets. I recycled two blown out speakers and extracted the magnets from it.

Step 38: External Magnetic Mechanism - Add Magnets to the Head

Make A Delta Roller:

Again, I made a roller set, this time for the outside (BB8's head). I made a delta/ triangular roller set. Then again, I used roll-on deodorants for the makeshift rollers and then I used a light weight plastic shaft to connect three rollers together. The shaft was taken from a plastic segment of a clothes hanger.

Position The Magnets:

Install the half of BB8's body (above the internal mechanism) then throw your magnets where the magnet is located from the other side. Let them attract each. Ta-daaa! You don't have to take measurements in order to find the exact position of the other the magnets from the other end. Finally hot glue the magnets to the Delta Roller and then hot glue the Delta Roller to the Stryofoam head of BB8.

Step 39: Add an MP3 Module (w/ MP3 File Download)

Downloadable MP3 Files:

Find a the lightest MP3 module you can find. Attach a loud but lightweight speakers to the audio output and upload these BB8 audio/ voice files. Download these MP3 files containing BB8's voice. Copy the files to a SD/ Micro SD card, then insert the card to the MP3 module. Now BB8 can talk!

Step 40: Seal the Robot

Encapsulate the robotic mechanism and use superglue or wood glue to seal BB8's body together.


1.) Temporarily stick strips of ductape while you glue the sections of the ball. The ductape will hold and align the both semicircular spheres as you glue them together

2.) If you're confident with your work and decided never to crack it open again, use some wood putty then sand it off. This will hide the line of your cut. Repaint BB8's body, and it will look like a solid sphere!

Step 41: Moment of Truth - Test It!

Step 42: Findings

Step 43: How Do I Charge It?

Step 44: Building a BB8? Join the BB8 Builder's Club!

Join the official Facebook group of The Builder's Club! Learn and share idea with fellow members who are building a 1:1 scale BB8 droids! (Visit The Page)

Step 45: Future Upgrades

Step 46: Version # 2 - Coming Soon!

In the early stage of testing in my DIY BB8 (v2.0), I tested if the inner and outer magnetic mechanisms work.This is v2.0 of my build. It uses the same materials but uses a different mechanism (single axis orientation). I'm currently remodeling the head to make it lighter. The external head rollers works! Same as my previous build, no 3D printers nor CNCs were used. The body is made with paper mache, deodorant roll-ons & wooden mechanism chassis. Hope this would give motivation and hope to those who are struggling to make theirs work. Never give up! May the force be with you!


Step 47: People's Reaction in Encountering a Real BB8 in Public

I'll bring this guy to the mall and make a reaction video.


Reaction video coming soon...

Sci-Fi Contest

Grand Prize in the
Sci-Fi Contest

Arduino All The Things! Contest

Grand Prize in the
Arduino All The Things! Contest

Full Spectrum Laser Contest 2016

Grand Prize in the
Full Spectrum Laser Contest 2016

8 People Made This Project!


  • 3D Printed Student Design Challenge

    3D Printed Student Design Challenge
  • Halloween Contest

    Halloween Contest
  • Made with Math Contest

    Made with Math Contest



Question 22 days ago on Step 14

can you please add the stencils, i dont see them


2 months ago

Hello how do you recharge your BB 8?


Question 4 months ago on Step 15

Where can I find the mask template?


Question 4 months ago on Step 14

How can I add the arduino ethernet shield?
Where would I put it?


Question 7 months ago

Is there anyone who can tell me what to do for the servo? I tried uncommenting the servo parts in the code, and going through a quick guide about how to connect the servo and the bluetooth module. And when I tested it out, my arduino board was smoking and the electronics didn't work anymore. Everything was working well until I tried to do the servo part. The motors, motor driver, batteries, and bluetooth module still work fine, but I needed to order a replacement arduino board. I uncommented the */ parts in code that activated the servo code. What did I do wrong? Can someone plz help me? The servo I am using is the MG996R Tower servo

Update 3/23/2021: I just burned out my second Arduino Board and have to purchase a third. If anyone can still please tell me what they did to get the servo operational without frying the Arduino board, it will be a big help. Otherwise, I will just make the head stationary without any movement (If I ever work on the BB8 Project again). It's safe to say that this project is not good for beginners as the instructions are missing a lot of important information for beginners to complete the project.

Update 3/27/2021: I figured it out. I (***Demonetization word***) FIGURED IT OUT!!!
Ok. To those who tried to make this and were wondering how to do the servo, here is what I learned.
First, the Uno boards fried because the servo motors draw a lot of current to run that the Arduino cannot manage. So if you are going to use a servo the same size as he did, you need to connect a 5.5 - 6.0V power supply (a battery pack that can run 5.5 - 6.0V of power) to the servo. The Signal wire (Yellow/white/orange) needs to be connected to the pin that is being used for the servo in the code [myservo attach(servo pin number)], the 5V wire (red has to be connected to the red wire of the battery/power pack, and the GND wire (black/brown) has to be connected to both the arduino GND pin and the GND/black wire of the battery (you will have to solder the wires to where there are three ends instead of two).
Next, both the DualVNH5019MotorShield.h and servo.h libraries use timer 1 and cannot be run at the same time. So, you will have to use a library that lets the servo be run in timer 2 instead. Just look up "Servo Timer 2 Library Download" in Google and something should come up. Follow the instructions on how to download the library, and change the values in the code to get it to work.
The electronics are stable and working. Now I can work on the body (FINALLY)


Question 7 months ago on Step 27

Hi i was wondering were i could find the blueprint's for the wood


Answer 9 months ago

the battery wires go in the middle two pinholes of the motor driver, between the motors wires. The positive on the left and the negative on the right


Question 1 year ago

Hi there! I was wondering if I were to use a different brand of motor shield, would the code you linked still work with it. Also does the code you linked include the code for the servo attached to the head. Thank you!


Answer 9 months ago

The code does include the servo code


Question 10 months ago on Step 46

Can I use something different than Pololu 19:1 because I can't find it anywhere.


1 year ago

Where can I find the B.B.-8 v2.0 instructions?


3 years ago on Step 43

Bro... Is there is any way to charge batteries externally... Bcz internally options are either open the Bb8 and charge.. Or fix it again... If the motor rotate the wheels... We can't charge it from externally... And I want external charging point..


Reply 1 year ago

since you always know where "bottom" is, why not put an induction coil in the very bottom of the motor tray (adds even more weight at a lower Centre of gravity) and then have a charging base for BB8 to sit on/in which engages the induction coil - similar to the principles used in electric toothbrushes. If the induction coil had a ferromagnetic core to it, more weight, and better magnetic coupling.


Reply 1 year ago

Did you ever find an answer?


Reply 2 years ago

i was thinking the same....heres my insight....yes it is either wirelessly or plugged via male charging plug out side... since bb8 always stands his head up, we coud drill a whole (enough for charging male plug to pass through) at the top and place the charging female port inside so when bb8's is removed we could charge him up...just a though but really is possible!


Answer 1 year ago

hey! if you are on windows 10 go to microsoft store and search for Arduino IDE
if you are on mac or linux , browse for
from here you can code online or download the software.


Question 1 year ago

Is there a way to program BB8 to follow me around?


Question 1 year ago on Step 38

Alam ko naman na pilipino ka kasi nga ayun lol. May tanong lang ako haha. Hindi ba nagalit parent/s mo tungkol sa hanger? 😆 dejok

Angganda kaso di padin ako makabili nung arduino at bt module kaya diko pa natapos haha pero yun lang angganda. Try kong tapusin pagkatapos ng quarantine dito samen haha

Gege tenks sa tutorial lol