This page is about the making of my BB-8 droid. The drive mechanism is based on the design from James Bruton’s X-Robots website. His was 3D printed, but most of mine is made from wood because I didn’t have a 3D printer at the time when this project was started. I was originally planning to paint it orange and white like the movie droid, but decided in the end to do something unique and paint only the orange parts and gray details to give it a sort of vintage retro look.
The main body ball is made from half inch baltic birch plywood for the ring walls and poplar for the ball slats. I cut all the slats and then tapered them on a special jig on the table saw. Once they were tapered, they were glued to the ring walls until the complete drum was formed.
BB-8’s head is a hollow styrofoam half-sphere from Michael’s arts and crafts that was covered with iron-on wood edge banding. The bottom ring of the head was machined from a poplar ring and glued onto the covered styrofoam piece.
CR-10S 3D printer sometime while building the head, so the caster mounts and the central column of the carriage were the some of my first 3D printed parts, and the casters themselves were cut out from poplar. The wheels of the casters were printed in TPU plastic. Note the large magnets that couple the head to the body. I found that the steel bolts that pass through the column were making the rotation lumpy due to the magnetic attraction as the head rotated, so the bolts were replaced with threaded brass rods.
The flywheel provides side-to-side stability as it is actively pivoted and also allows for BB-8 to lean to turn while rolling. It also can be spun as a reaction wheel to get BB-8 to turn on the spot. The flywheel shell was formed by CNC routing the blank for the hollow inside and then turning it over to shape the outside. About 15 pounds of lead were melted and poured into the inside form to give it the needed weight.
polyethylene) that can rotate around the central aluminum axle. The flywheel tilt motor is a windshield wiper motor and the two spin motors that act in tandem are spring-loaded against the inside of the wheel. The spring arrangement shown in the picture below was later changed to a more vertical arrangement to get the battery boxes to fit.
The internal mechanism starts with a carriage made of 1/2″ plywood. The guide wheels around the edge are ball bearings with 3D printed TPU tires. The flywheel tilt mechanism is actuated from a curved track that has threaded rod tapped into the bottom, and is mounted to the carriage. The drive wheel is powered by a windshield wiper motor. There also is a 3D printed box to hold the LiPo (Lithium Polymer) batteries that power the droid.
The droid’s main processor is an Arduino Mega 2560. There are also two Arduino Nano processors that take care of the neopixel LED processing and the IMU processing. There’s an MP3 sound player that holds the recordings of the BB-8 sounds as well as a bunch of music files. Speakers in the ball are from an old Bose clock radio and are powered from an audio amplifier. The control of the robot’s functions is via Bluetooth. There are four drivers on the other side of the droid that take PWM signals from the Mega to power the motors. Also on the motor driver side are the power and enable switches for the various functions.
The remote has four joysticks, an LCD display, a Bluetooth transceiver, and an Arduino Nano to control it all.
The Whole Thing
Here are some pictures of the unpainted head and body, before I filled all the carved slots with walnut wood putty. Dave looks very excited in the third photo.
Here is a zip file with all the software for the five processors used in the droid: