The team (from the left) includes Pamela Cortez, Allison Cavis, Casey Kuhns, Maurice Woods, and Felipe.
The team (from the left) includes Pamela Cortez, Allison Cavis, Casey Kuhns, Maurice Woods, and Felipe.

When the Star Wars: The Force Awakens trailer was released, the internet was buzzing about this new round droid.

With a renewed interest in practical effects, our curiosity was piqued. “Are they going to actually make one?” This question was answered at the Star Wars Celebration. Our curiosity became an obsession as we watched BB-8 roll around and size up R2-D2. The ball droid was real, and hackers and Makers around the world thought they had the answer as to how it worked. Concept art, 3D prints, and prototypes started popping up on YouTube and we knew we had to throw our hat into the ring.

BB-8 inner structure materials
The unassembled materials used to build the inner structure of this BB-8 robot.

Since there are others trying to crack the BB-8 we wanted to work quickly on our proposed solution. With the help of ServoCity and their online CAD models, we quickly leveraged the Actobotics line to build the inner structure. For some of the detail pieces and internal components, we turned to 3D printing to give us quick results. The Loveland CreatorSpace provided us a base camp and excellent resources to complete this build.

The inspiration for our mechanical build was the Sphero. We had a hunch when the first videos were released that Sphero was involved somehow. We popped one open and began to replicate the mechanism. To add the head and motion we took cues from an older Sphero model. The original Sphero has a singular upper support, whereas Sphero 2.0 has two passive upper wheels to main-tain support. Our design combines aspects of both, using upper wheels for stability and a central support to attach the head via magnets.

The shell is 2 custom-molded ⅜”-thick polycarbonate hemispheres. We decided to go this route to ensure roundness, strength, and enough thickness to mount LEDs in the moving shell.

A 3D rendering of Casey's BB-8 design.
A 3D rendering of Casey’s BB-8 design.

The team behind our build consists of four Makers with a shared passion for robotics and Star Wars alike, and their obligatory dog companion. I was responsible for the mechanism that brings the BB-8 to life. Pamela Cortez, another SparkFun engineer, developed the brains of the droid, which consist of Raspberry Pi and Sphero. She also focused on giving our BB-8 a voice, which includes some Easter egg sounds from your other favorite droids! The aesthetics of the robot, including the floating head and movie-worthy details, were applied by Allison Cavis and Maurice Woods, two artists-turned-engineers whose sculpting and casting experience make the droid’s appearance unmistakable.

Hemispheres fitted
The two hemispheres for BB-8 fitted with studs and cams for fastening together.

How to make a sphere

Early on we knew one of the more difficult aspects of the build would be the rolling sphere. Taking cues from the Sphero we wanted to make a seamless sphere.  This allows the internal mechanism to roll around with minimal interference.

A Sphero has a bonded polycarbonate sphere that give the toy toughness and more importantly seals the internals from dirt and water.  This would not be a practical solution for us as providing an induction charger would be difficult and we will likely need to service the mechanism frequently.  We needed to devise a sphere that was structurally sound, smooth inside and out, and removable.

A side by side comparison of the Sphero 2.0 toy (left) and the scaled-up BB-8 sized model on the right.
A side by side comparison of the Sphero 2.0 toy (left) and the scaled-up BB-8 sized model on the right.

Searching for the perfect sphere

We started our search with architectural hemispheres for lighting, then globes for gumball machines. We found these to be too thin and fragile, being made from acrylic.  We wanted Polycarbonate hemispheres for their strength and flexibility.  Acrylic is a great material to work with but it is more brittle than polycarbonate.  This led us to simple search for “Polycarbonate Sphere Suppliers”.  Within a few search results we found California Quality Plastics.

BB-8 hemispheres taped together for fitting.
Hemispheres taped together for fitting.

We ended up ordering 3 hemispheres that were the 20″ size offered. The hemispheres were blow molded from 3/8″ thick polycarbonate.  Blow molding ensures the outside diameter and surface of the hemisphere will be consistent.  The inside dimensions may be a bit uneven and there is some stretching that thins the material.  If we could order new hemispheres, we would likely go with a 1/2″ thickness.

Hemisphere Distortion Model
California Quality Plastics’ Hemisphere Distortion Model.

How did we size the hemispheres?

At the time we were making these decisions we had only a few photos and basic video frames to work from. Since the height of an R2-D2 is fairly well known we decided it would be best to make our comparisons from that. A photo with both the BB-8 and R2-D2 was a great help in determining scale.  We used the scale and some rounding to come up with the dimension of 20″ or about 500mm.


BB8 and R2.
A video still of R2-D2 and BB-8 side by side for comparison.

Assembly of the shell

Let’s get into the mechanics of the build.  The plan to hold the hemispheres together is similar to how one would assemble inexpensive Swedish furniture.  We decided to use a stud and cam system.  The studs provide the shear strength to keep the hemispheres from sliding apart.  The cams will provide the tension to keep the hemispheres pulled together.

Design of cams and studs
3D rendering of the design of cams and studs within each hemisphere.

To make the studs we started with 2″ lengths of 10-32 all-thread.

10-32 all thread
A 10-32 all thread rod embedded into the polycarbonate hemisphere.

Update 01/25/2016

Progress on our BB-8 has been slow at best. As with many large projects, life can happen. As the summer came to a end many of us had to return to a normal schedule. We are still making progress so stay tuned to our Github repository.