Introduction: How to Make a Life-Size BB8 With Arduino

Hello everyone,

we are two Italian students that have built a BB8 clone with cheap materials and with this tutorial we want to share our experience with you!

We have used cheap materials because of our limited budget, but the final result is very good :)

Step 1: Understand How BB8 Works

BB8 has a spherical body, like a ball, and a domed head. The body rolls independently from the head, which always stays stable during the movement.

This is a very good site to understand how BB8 works (you can see the images of the two possible mechanisms and the wireframe).

Step 2: Materials

Step 3: Harden the Spheres

We have used PVA glue and newspaper to avoid breaks and then a layer of wood putty to harden the entire spheres.

Then you can use some magnets to improve the quality of the closing.

For the head, you need to cut the 20cm sphere in order to reproduce the BB8 shape.

Step 4: Internal Structure

To build the main structure of the body you have to cut plywood to obtain three wood circles, and for the head another one.

Step 5: Placing Components

The next step is placing components above the circles with nuts and bolts. It's a very important step that requires precision.

You can choose your measures, but on the bigger and central circle we recommend to place Arduino, shields, trim spheres and wheels without motors.

Above the first and more little circle you can place the magnet and in the other you can place two or three motors, according your needs, with the battery pack and some iron plates.

After placing components, you have to join the circles with some little wooden columns.

Step 6: Arduino and Shields

Regarding the electronics, you have to join Arduino USB Host Shield above Arduino Uno, and then Adafruit Motor Shield above USB (with the Kinivo Bluetooth Dongle).

There are a lot of compatibility problems so you have to re-route some pins both hardware and software, welding wires and editing libraries, as in the picture above.

Step 7: Add Bluetooth Module

Arduino communicates with PS3 controller using USB Host Shield, but if you want to control it even through your smartphone, you should use HC-06. You can connect it using the diagram above.

Step 8: Upload Arduino Sketch

This is the code you have to upload into Arduino with official IDE.

You can download it here

Step 9: Create Your Android App

We are developing our app even for iOS and Windows 10 (universal).

At the moment we have realized only an Android app using App Inventor. You can contact us if you want the entire code, but the app is very personal so you should personalized it with your preferences.

Step 10: Paint Everything!

You almost done! Now you have to paint the body and the head with spray and draw with a pen the particulars.

For the eye, you could use a Christmas ball painted with black.

You could also paint the internal structure as the photos.

Step 11: Battery Charger

Finally, you could create a circuit for charging the droid, without to remove the batteries when they are offloaded.

You can see in the pictures the necessary components (resistors, capacitors, diodes). The transformer circuit is attached to a plug and placed outside the structure, while the rectifier circuit is inside and you can attach a switch or a relay to turn BB8 easily.

Step 12: Test Your BB8!

Try to drive your droid with your PS3 controller or with your Android app!