• EUR€
  • £GBP
  • $USD
TUTORIALS 3D PrintingRobotics

How to Build a BB-8 Robot

DFRobot Sep 21 2016 1215

That’s right, the robot I teach you to make this time is the BB-8 in the Star Wars: The Force Awakens. Ever since the first official trailer was released in October, the adorable BB-8 in its peculiar design has attracted a large number of fans and its popularity is comparable to some main characters. Of course, it itself is a leading character who played many parts in the film. At the world premiere in Los Angeles, BB-8 also‘rolled over’red carpet as one of the major characters. 

In the film-making process , BB-8 was controlled like a puppet. Hence, it is not easy to build a BB-8 robot that can walk as free as that in the movie. While people was amazed by its performance, the working principle of BB-8 has sparked heated discussion. Some people think that it is the robot’s two internal gears that provide power to itself while remaining balance by adjusting to the weights. When the head using the magnet unit and ball sensor to conduct interaction, it can sense which direction is going upward and which one is moving forward. For the whole process, BB-8 can automatically adjust to its head so that it will not fall off. 

You may wonder what the working principle of BB-8 is? The BB-8’s working principle was not unveiled until one Sphero patent was exposed. Unlike the opinion that the two balls of BB-8 worked independently, this patent revealed that they were actually integrated. According to the patent named ‘Magnetically Coupled Accessory for a Self-propelled Device’, there is a gravity device inside the ball which is composed of two shaft wheel motors and a vertical mast. When the shaft wheels are moving, the center of gravity will deviate and will affect the ball’s movement. The working principle is similar to that of a space ball. Like a space-ball, when an object enters in, the ball’s gravity will change by adjusting to its own position, and will finally make ball to spin and move forward.  

As for the head, many people would think that the head keeps an upward position by constantly moving backward. In fact, it adopts the magnetic suspension technology and installs magnets in the BB-8 body’s interior mast. Hence, it can always remain on the same horizontal line with the ball’s center of gravity. Therefore, we can see that the BB-8 is always tilted in its movement. This is because the center of gravity is always tilted while moving. 

The BB-8 I will discuss is a mini version. The main body parts were made by a 3D printer. The control unit uses a Romeo BLE mini (Small Arduino Robot Control Board with Bluetooth 4.0)by DFRobot. While inheriting all the functions of RoMeo BLE, it also integrates Bluetooth 4.0 communications, a 3 pin sensor interface and 2-way motor drive. Hence, if your project has high requirements for space, this mini controller is your absolute choice without doubt. Besides, the control part utilizes mobile GoBLE APP and Romeo BLE mini board to build communications to control BB-8. In terms of power, I have used a 1000mAh3.7v lithium battery as a power source. You also need a 5v boost module, as the working voltage of the Romeo BLE mini control board can be no less than 5v. 

Now that you know the working principles, let’s start making the robot.

You will need the following components:

Romeo BLE mini X1

Bolts, studs,shims,nuts

Boost Module X1

Switch X1

Adapter X1

Battery X1

Motor X2

Magnet X1

Optical Axis X1


And you need to print the following components

Step One: Make magnetically coupled component for a gravity-driven device

First of all, put two motors in the chassis motor seats separately, fix them with 502 glue, and then solder the motor wires. 

Squeeze glass adhesive on the printed BB-8 hubs to make the wheels and reshape the glass adhesive properly. Put the wheels at a ventilated place for one hour to dry the glass adhesive. Of course, if you don’t want to wait you can also use air blower to dry the glass adhesive for ten minutes. 

Stick the main drive gears on the hubs, insert optical axis bonding to prevent shaft holes misalignment. 

Inset the printed pinions on the two motor shaft separately and fix them with glue.

Insert the optical axis of 4mm diameter into the center of the chassis, and then insert runner, washer and a chock made of the sheath of a pen. 

Install the motor cover and run the electrical conductor through the cover. Fix them with screws. 

Install Nylon stud, battery and Romeo BLE mini controller accordingly. Fix the battery by applying small amount of hot glue at its bottom. 

Install synchronous wheel bracket and fix it with 1x10 screws. Insert the synchronous axle with 3x30 screws and fix it with 502 glue. Use USB cable to connect Romeo BLE mini control board and computer, upload BB-8 control program code. 【The code was already put at the end of this article, you can download if you may like】

Connect and weld the wiring of the switch, microUSB and boost module according to the circuit diagram. Install all of them at battery level and fix them with hot glue. Connect the motor leads to MA1、MA2、MB1、MB2 ports on the Romeo BLE mini control board separately. The outlet terminals of the boost module connect to the positive and negative electrodes of the VIN terminal. 

Use a neodymium magnet to attach the S-pole and N-pole magnets onto the magnetic receiver with hot glue, install them into the top bracket with 502 glue . 

Step Two: Make the body part of BB-8

Stick the two 3D printed half-balled body parts together. Polish them first with abrasive paper and then with fine sandpaper until the spherical surface becomes smooth.   

Wrap BB-8’s body and head properly with masking tape. Draw patterns on the BB-8’s body using compasses and pencil. You can draw many irregular geometric figures according to the original edition. Cut the masking tapes of those parts that need silver spray first with knife, and spray them with silver-paints.

Cut off the patterns that need red spray, cover the sprayed silver patterns with masking tape, and spray the rest with red paints. According to the original edition, BB-8 should be sprayed with yellow paints. Then why I have to spray the robot with red paints? Kids may wonder why but of course it’s because that the Chinese people fancy red color!! Wait a minute, I think I might confuse you~actually I have no other colors but yellow paints. 

To be more like BB-8 patterns, you also need to draw many small circles in the blank space. Isn’t it a chore? Heart-breaking?  

Use electric drill to make two 1mm holes on the head antenna section. To make BB-8 antenna, insert two white leads into the drill and fix them with 502 glue. Cap the long antenna with a section of black hot glue will resemble more like the original one. Also, install the small wheel and magnet on the head (the N-pole and S-pole of the magnet have to pull towards those have different magnet poles in the body), stick head and head bottom cover together with glue. 

Spray with finishing varnish evenly. Don’t spray too much on one time, wait a few more minutes to have the second spray. Repeat the spray until you are satisfied with the exterior. 

Finally, put the magnetically coupled accessory for gravity-driven device into the BB-8’s body. Press the switch and connect to Romeo BLE mini board via mobile bluetooth. Then you can control the BB-8 walk on your mobile phone through GoBLE APP. To this point, a BB-8 robot is born.