Automated LEGO BB-8!

by BrownDogGadgets in Circuits > Arduino

4498 Views, 20 Favorites, 0 Comments

Automated LEGO BB-8!

IMG_6223.JPG
IMG_6232.JPG
IMG_6228.JPG

We absolutely LOVE the new LEGO Star Wars sets that have come out over the last couple of years. They're well designed, fun to build, and look great. What would make them even more fun is if they also moved on their own!

We took an off the shelf LEGO BB-8 set and automated it so the head spins around! Even better, we added sound effects and lighting effects! But if that isn't enough we also added a motion sensor so that it would activate when someone walks by. Overall this project isn't overly difficult to do, but does take awhile and requires a healthy amount of random Technic LEGO parts to built the gear box area.

Parts Needed

IMG_6237.JPG
IMG_6240.JPG

For LEGO parts we used such websites as BrickOwl.com or BrickLink.com. These sites are really handy to use for random LEGO parts or supplies. When in doubt you can also just buy bulk LEGO parts off eBay and spend the afternoon organizing them all.

LEGO BB-8 Set

Worm Gear Drive Set

Large Technic Gear

Technic 1x4 Brick x 4 (or 8)

Technic 1x8 Brick x 4

2x8 Plates x 4

Electronics:

Crazy Circuits Robotic Board

Crazy Circuits CR2032 Holder

Crazy Circuits Blue LED

Nylon Conductive tape

9G Servo with LEGO Adaptor

YX5300 MP3 Player Module

HC-SR04 Ultrasonic Range Finder

Video Guide

How to Automate a LEGO BB-8!

We made up a Step by Step video to show off what the BB-8 can do and how to make it.

Build Your BB-8

U5FVXmcBoYME2dkf.huge.jpeg
vTqyBwikToaXKaA3.huge.jpeg

Build your LEGO BB-8 as normal.

Seriously though, kudos to LEGO for putting together a really darn nice project. The rubber band head wobble, the little welding arm, and the attention to detail is just fantastic.

Remove the Head Control

ggATYe4BonGmg3Ul.huge.jpeg
PYEKUX3KJ34RfOqF.huge.jpeg
uuXqWjSkZPeLqJgR.huge.jpeg

Using a pry tool, remove the side of BB-8 that controls the head.

Put inside half of the axel back in if it comes out.

Put that section to the side as you'll need it later.

Construct the Base Adaptors

faurBXqrUVsDrb1x.huge.jpeg
CxkyQlT4beBjihGx.huge.jpeg
IMG_6074.JPG

Using 1x4 and 1x8 Technic bricks, construct an adaptor to mount the BB-8 onto your large Base Plate.

Remove all the extra parts on the bottom of your BB-8. You want to leave the bottom white area completely flat.

Connect your white bricks UPSIDE DOWN to your black technic bricks.

We ended up using two of the 1x4 bricks per adaptor for extra strength, but it's probably not necessary.

Connect Adaptors and Plates

L3LUjQATurIYCYgP.huge.jpeg
NO4xrhEkh2iOCsen.huge.jpeg
PcGI1cXeoEfVWTj2.huge.jpeg

Attach your adapters to your BB-8.

If possible, use some 2x8 plates to increase the footprint and connection area.

As mentioned before, we also added in a second 1x4 brick to be on the safe side.

Attach to Base Plate

dCHnfTrdawmQBDSm.huge.jpeg

Connect everything to a large base plate.

Give yourself some space in the front and a lot of space in the back in order for the rest of your parts.

Make sure the empty "gear area" is pointed towards the BACK of your project. We need space for the gearing and electronics.

Remove the Spinner

xMypkHVLrIUibRim.huge.jpeg
O6DJTfCAxjjlgEBS.huge.jpeg
rybvIGJ5tMrgME36.huge.jpeg

Remove the spinning section from your head control area.

Grab a long size 12 or better axle and attach it to the connector inside the BB-8.

Reattach the entire side.

Add Spacers and a Large Gear

JIWfISl4jwJXpWPX.huge.jpeg
IlKxyaKgocLRX1og.huge.jpeg
1o2nbAbYYd1AHM1d.huge.jpeg

You'll need to attach a couple of different sized spacers before attaching your large Technic Gear.

We also added a small bushing to the end of our axle to hold everything tightly in place.

Create Worm Drive Stand

3NeSsi23TqlUYrSQ.huge.jpeg
KGkJLW1H13XxH3NP.huge.jpeg

Use a couple of standard LEGO 2x8 sized bricks along with 2 2x8 sized plates to create a platform for your worm drive.

Connect everything below your large technic Gear.

Adjust parts as needed to make sure everything connects and fits well. Give the axle a spin to make sure they work.

Prepare the Servo & Horn

Kceb3OdmhkmAAoUk.huge.jpeg
KBiHIM3yKhwWSTsf.huge.jpeg

We're using a 9G sized Continuous Rotation Servo with metal gearing, connected to LEGO using our Crazy Circuits adaptors. (Laser cut and open source!)

Attach the laser cut Crazy Circuits adaptors to the 9G sized servo.

Connect the round Servo Horn (laser cut disc) to the Servo. Using a couple of technic pieces and a gear, build out an adaptor on the end.

This allows your servo to directly interface with the axle on the worm drive.

Secure the Servo

BHdR4RZMBCvBcHAR.huge.jpeg
IMG_6143.JPG

We connected two 1x8 Technic bricks together and then attached the servo to those pieces.

Below them is a single 2x8 brick.

The main concern here is to keep everything secured and tightly together. The servo moves around a lot and the last thing you want is for your pieces to start popping off the large base plate.

Build a Sensor Mount

ffKRMKYWEhFenJOX.huge.jpeg
UamxMmlSTrBZrhwG.huge.jpeg
LUEOMMYBBiqpYIe3.huge.jpeg

We went all fancy and included an Ultrasonic Motion Sensor. To make it look nice we build a small LEGO based holder for it to hang out in. We can't take credit for this design, we randomly found it in a google image search.

Start with a 2x8 plate, attach some 1x2 bricks onto the side, two L shaped plates on the top edge, and a 1x8 across the top. Use a couple of 1x1 plated on the bottom (blue in our design).

Build the Robotics Board Platform

F3SbjMZFMCugfAEA.huge.jpeg

Use two 1x6 or 1x8 plates to create a small platform for the Robotics Board to sit on.

You can also plug the Servo into the D3 Row Header Set at this time.

Connect the Range Finder

GUK6hIvYVr2LBetn.huge.jpeg
jgT13l1CfKUuOCPL.huge.jpeg
FZHI247JBCJNG8F.LARGE.jpg

Due to all the wires going into our Robotics Board we put together a small diagram to show how things hook up. (It's the same diagram we used in our LEGO X-Wing build.)

Connect VCC to a 5V Pin.

Connect Trig to A4.

Connect Echo to A5.

Connect GND to a GND Pin.

Connect the MP3 Player

XkosM4haOdTyTcSL.huge.jpeg

Use the diagram again to help you out.

Connect GND to a GND Pin.

Connect VCC to a 5V Pin.

Connect TX to 5.

Connect RX to 6.

Online documentation for this board is weird. Trust us, this is the correct wiring.

Find a Sound Clip

Screen Shot 2018-03-02 at 4.05.27 PM.png

We grabbed our sound clip via a YouTube Video. You can use any sound file as long as it's a .WAV or .MP3. (We can't give you a sound clip for Copyright reasons.)

You'll want to use just one sound clip for our code. Once you find one put it on a micro SD card formatted in FAT.

Put the Micro SD Card into the MP3 Player.

Make sure you take note as to how long your clip is, as it will be quite helpful when modifying the code.

BB-8 sounds are great as well as some classic Star Wars music.

Modify Your Code

2HOpWlwVMf2fl3u5.huge.jpeg
yBB6DbmmmNAd4vMO.huge.jpeg

If you've never used our Robotics Board before you'll need to read the user guide and install the right software and drivers.

You'll also need to grab and install the NewPing library as well.

Open up your Arduino software and copy our code into a new project window.

Lines 30 & 31 control how long the Servo will move when opening and closing the wings. We find that 20000 ms is about right. You can change the time by changing those values.

Line 91 controls how long the Servo pauses to wait for your audio clip. Since we want the head to spin constantly we just made this a big fat zero.

Test Things Out

tsINVFOUr652fMXx.huge.jpeg

At this point it doesn't hurt to just test everything out to make sure things are working properly.

Attach some headphone or some small speakers to the MP3 player. If you have small desktop (computer) speakers that are wall powered, use them. They work best with this module.

Plug your system into a USB power source (computer or wall) and see if everything works. Wave your hand in front of the distance sensor to start everything off.

Prepare the Head

FhV2bacIn4OEabQN.huge.jpeg
2Y4yZN6YTWLKOSuO.huge.jpeg

To give our BB-8 a bit of "flair" we added a blue LED to his head. This was rather easy as there is plenty of room inside for a small battery.

Using a prying tool, remove the top of his head.

Clear out the couple of spacer bricks on the inside, giving you plenty of room to work with.

Make a LED Holder

NXkapqPIiECHUSIC.huge.jpeg
5mn2mDRojyN3KBbZ.huge.jpeg
IRUqwltL6YFohaVZ.huge.jpeg

Remove the blue "holographic" emitter.

Use a small axle and attach it to a 2x2 round plate.

We chose to use a blue "novelty brick" Crazy Circuits LED, but a 10mm or SMT LED will work just fine.

Run Tape Inside

VaVGIlUNOAJY4kQR.huge.jpeg
VClyxCHY3Dm5EUYC.huge.jpeg

Run two lines of Nylon Conductive Tape from the outside to the inside of the head.

Press them down onto two studs.

This is a very annoying part of the build. Remove more parts of the head if your fingers are having issues.

Attach Battery

nNXTCGfbvmVC2sSa.huge.jpeg
tSp15UGGhY3paRBd.huge.jpeg

Put a battery into the Crazy Circuits CR2032 Holder.

Place the holder inside the head, on top of the studs.

Make sure that one line of tape goes to the White (Negative) side of the battery holder and the other goes to the Orange (Positive) side.

Connect LED

CvSkUFYhRumlLiGF.huge.jpeg
YISaXxEl3EpnmtBM.huge.jpeg
EQGnY63OqLWIDJin.huge.jpeg

Push your LED holder (2x2 Round Plate) into place.

Trim your lines of tape and attach them to the studs.

Connect your LED. (If it doesn't turn on, rotate it. You probably have it put on backwards compared to you battery holder.)

Rebuild the head. Attach it to the body.

To easily turn your LED On and Off, just remove it.

When putting the head back on go very slowly. The connecting axle will push up through the head and disconnect your battery. Stop pushing when you feel a slight resistance.

Enjoy!

XgPiDGPoALGnOVFK.huge.jpeg

Your BB-8 is now complete! Maybe this IS the droid you're looking for!

Apply this build to other LEGO projects. We more or less did the same build with our X-Wing and Clone ARC Fighter.

If you like our Crazy Circuits system check out all our other parts and projects at BrownDogGadgets.com!