Inspired by the upcoming release of Star Wars: the Force Awakens in 2015 I got together with a group of engineering friends to create a custom prop lightsaber.
My friend John was the financier for the project and he designed the handle and chose the other design specifications for the prop. Mark (mechanical engineer) was responsible for 3d printing components and constructing the shell of the handle. I designed, coded, and assembled in internal electronics, lighting, sound, and effects of the lightsaber.
We took our inspiration from Hasbro’s force fx lightsaber series. The saber handle was constructed from galvanized steel piping with 3d printed decorative pieces which were glued to the pipe base. The “blade” was a hollow polycarbonate tube with custom end cap which we purchased from a company in Idaho which creates tubing specifically for this type of prop building. We used an addressable LED lighting strip inside the tube for the blade glow.
Internal electronics I used to run the effects of the prop were a 5V ATmega328 on an Adafruit Pro Trinket breakout board, easy to program, powerful, and small enough to fit in the handle. We had an internal speaker attached to the bottom of the handle for sound effects. Sounds were bit-streamed directly from an SD card, through the microprocessor, to the speaker using one of the chip’s PWM outputs. This sounds solution worked really well, because no sound processing needed to be done by the microprocessor, which was about at it’s limit with all the features it was running when we were done, and it allowed us to use large sound files at decent bitrates because the audio data was stored on a micro SD card which are small, cheap even at large capacities, convenient to write to and update on a computer, and can easily be read from fast enough to playback short sound files. The final sound effects were nice and loud, and sounded way clearer than the force fx lightsabers in my opinion.
The lighting effects were achieved with an addressable RGB LED lighting strip from Adafruit. Adafruit provides really simple libraries for programming their LED strips which made it simple for us to add one of the features we really wanted, that the force fx lightsabers (understandably) don’t have, changing the blade color whenever we wanted. I was able to program a nice list of colors (with the ability to easily add more) into the microprocessor which could be cycled though by holding down the on/off button and entering ‘color edit’ mode which allowed the user to cycle through all of the colors we programmed. Adafruit’s libraries also made it really easy to program the startup/turn-off color wipe of the blade, and time it to the sound effects. I also programed in subtle random blade flicker that looked cool, and really sold the effect.
The final feature, which unfortunately never fully saw the light of day by the movie’s release, was the built-in motion sensors which were supposed to trigger the “clash” and “hum” sound effects when you moved the blade around. The movement sensors stopped working once they were installed in the handle, and I never went back to figure out why after the movie premiere night.