Category Archives: BB-8

All the Things!

So many things have happened since my last post! So of course I’ve been neglecting to update on my projects. This post will be a quick rundown on what I’ve been up to, as well as a status report on current projects.


Last time we looked at BB-8, he was basically a pile of parts. Well I’ve got everything put back together on the internal drivetrain. The new additions since the last drive videos are the audio controller with transducers, and the Arduino with Neopixel string. These can be seen in the photos below, along with a new, beefier metal servo on the gimbal arm. More info available on my previous post.

BB-8 Drivetrain Reassembled

The other big project related to BB-8 is the custom controller I’m building for this and other robotics projects. It consists of a Raspberry Pi 3 with touch screen LCD and an Arduino mounted on a plastic frame, along with some joysticks, push-buttons, and an XBee radio. I’m programming the Raspi end using the Go programming language, which has been a joy to learn and use so far. The code can be found on my Github page, still heavily under development. I’ll definitely post about this controller in more detail later on.

Pi Controller

3D Printer

I’ve acquired the electronics for my 3D Printer build. I went with a RAMPS 1.4 Controller board which works with an Arduino Mega. It also comes with an LCD screen, SD card reader, rotary dial, and buzzer, and it includes the 5 stepper motor drivers and heat sinks. It’s a pretty slick deal for less than $40 on Amazon. I also have the 5 stepper motors that this build will need. 2 for vertical motion, 1 each for x and y movement, and 1 for the extruder.

3D Printer Electronics


Because I have no self control, and will always tack on more side projects before finishing older ones, here’s a new project of mine. I’m building my own musical Synthesizer. So far I have built an analog voltage-controlled ladder filter based on a circuit made popular by Moog Synthesizers in the 70s and 80s. For the oscillators, I want to use a digital processor to synthesize the various waveforms. The final result will hopefully be an interesting hybrid digital/analog Synthesizer with a unique sound. I’ll make a dedicated post showing the circuit diagrams in the future. Here’s an image of the Moog Ladder Filter that I’m working on, which you can read more about here.

Moog Ladder Filter

Engineering Lab

I’ve been rearranging my house a bit and was tired of being short on desk space, so I decided to commit my office to be a dedicated Engineering Lab. I also purchased a few lab tools that I’ve wanted for a long time, including two power supplies, a signal generator, and the real gem, a Rigol DS1054 Oscilloscope. I freaking love it!

Engineering Lab

Drum Studio

Another one on my hobbies (I have way too many) is drumming. To that end, I’ve built a drum studio in my home. Recently a friend of mine dropped off a bunch of extra equipment, so I revamped my setup. I need to replace some heads and re-tune everything, but I think it’s looking pretty good for such a rag-tag kit. Who knows, maybe I’ll actually get around to recording some covers one of these days.

drumset02 drumset01

There’s plenty more going on in my life right now: work full time, teaching a .NET class in the evenings, working on my Masters degree, and my Virtual Reality studio. And, you know, eating and sleeping sometimes. I’ve also got a list of new projects I want to work on. I’ll keep trying to carve out time to post more frequent updates on here. Until next time.

BB-8 Update – Progress So Far

I’ve made a lot of progress and changes to BB-8 over the last few months that haven’t been documented here so I figured this would be a good time to snapshot where I’m at with the project.

My BB-8 is a ‘hamster’ design meaning there is a robotic platform that drives along the inside of the body sphere to create motion. The drive platform is 3-wheeled using omniwheels which gives me full range of motion, including strafing. This also allows the craft to sit more sturdily inside the sphere with all three wheels always making contact and applying drive to the sphere. There is a boom-style gimbal lifting from the top of the platform to control BB-8’s head motion. The coupling between the gimbal and the head is magnetic. Following is an image of the platform and gimbal mocked-up inside the sphere, as well as a video of the platform operating.

BB-8 drive platform mocked up inside the body sphere.

BB-8 drive platform mocked up inside the body sphere.

BB-8 drive platform 3D Model

BB-8 drive platform 3D Model


The primary microprocessor controlling BB-8’s body is a Microchip PIC32 MCU. The PIC32 processes orientation data from a 9 dof MCU and controls the driver motors and gimbal servos. The PIC32 connects to two other microcontrollers: a PIC24 for audio playback, and an Arduio Uno “Top Board” to control the internal LEDs as well as to store configuration data. Control data is sent to the PIC32 via an XBEE wireless radio.

BB-8 Primary MCU: PIC32

BB-8 Primary MCU: PIC32

Topboard with XBEE radio, OLED display, and Neopixel LEDs

Topboard with XBEE radio, OLED display, and Neopixel LEDs

BB-8 Audio: PIC24 MCU, MAX9744 Amp, and transducer "speakers"

BB-8 Audio: PIC24 MCU, MAX9744 Amp, and transducer “speakers”













For audio, I quickly discovered that sound doesn’t escape the plastic sphere very wheel. As a result, I’m using surface transducer “speakers” that will turn the entire platform and sphere into a speaker through vibrations. I also have an OLED display as shown above for general diagnostic purposes.

Next week I should have all of these components mounted to the drive platform. I’m just waiting for a replacement gimbal piece before I assemble everything. After that I’ll follow up with some more driving tests, construction on the head, and info about the custom touch-screen controller I’m building. Stay tuned!

BB-8 Progress Update 9/30/15

I’ve been working on a lot of different things over the last month so I though I’d do an update. First, I’ve been working on the audio module. I’m using an old XGS PIC-16 development board I had lying around plus some custom firmware to play wav files from an SD card. I’m also trying my hand at building a home-made class D amplifier (basically just an h-bridge) to take advantage of parts I have lying around plus the chance to learn.

Audio Devel

I cut a higher quality roller/magnet board from ABS which will be used on on the gimbal and on the bottom of the head. Here is one of those boards:

Gimbal Head

And most exciting, I convinced a friend (thanks Dylan!) to let me borrow his 3D printer so that I could start working on the details on BB-8’s head. Below is a photo of the main eye I printed. I still need to clean up the parts, but I am very happy with the result, especially since this is my first 3D printing experience. I’m hooked!

3D Printed Main Eye

I used the 3D models made by James from so thanks to him!

Oh yes, one other thing: I added an LCD screen to the main CPU for debugging purposes. It allows me to view the measured tilt angle of the frame as well as the input levels from the controller. It’s been very helpful.


OLED Display for BB-8

BB-8 OLED Splash Screen

BB-8 OLED Splash

I’ve added an OLED display to BB-8 to assist me in configuring and testing the little robot. Above is the splash screen shown on load. Below is the current diagnostic screen. The numbers on the left, labeled P, R, and Y represent the pitch, roll, and yaw of the robot platform. The series of dots on the right are 8 slider bars which correlate to the input from the remote controller. This information will help me a lot as I build out the stabilization and automation features in the software.

BB-8 OLED Diagnostic

BB-8 OLED Diagnostic

Copyright © 2017. Powered by WordPress & Romangie Theme.