3D Printed Guitar That Lights Up As You Play

Several years ago I built a CNC router with the express purpose of creating my own guitar. Unfortunately however, I never got around to it. Two years back I was getting into 3D printing in a big way and started thinking… What if I 3D printed a guitar? Well, that led me on a journey of making my own 3D printer big enough to print a guitar body. Keep reading to see how I built a 3D printed guitar, that also lights up when you play it!

Design

Having only used SketchUp before the idea of designing something complex like a guitar body scared me quite a lot! Luckily I had friends who are familiar with Fusion 360 and were kind enough to show me the ropes. Starting with a basic 2D sketch I outlined the shape of the guitar, tweaking it until I was happy.

Next I proceeded to cover the body in a hexagon pattern and create the cutouts and mounting holes for the bridge, pickup and volume/tone knob. The next bit was surprisingly easy, you just extrude the 2D shape into a big 3D block and start chiseling out (subtracting) areas to create the cavity for the pickup, holes for mounting the bridge etc.


3D Printing

Each of the four body pieces were printed one at a time. The large center piece taking the longest to print at 28 hours. In total it took ~60 hours of printing. I printed the guitar in white ABS with a layer height of 0.2mm. I chose white ABS as I’ll be putting LED’s in the back of the guitar which will shine through the body to light it up.

Printing went smoother than I had thought, everything came out great first go. Despite my 3D printer’s large 300x300mm bed, I had to rotate three of the parts 45 degrees to fit them.

As I’m using a plain ol’ guitar neck I figured I’d spice it up by printing a “face plate” for the headstock. As you’d probably guess; it’s hexagon themed like the rest of the guitar. I’d have liked to put LED’s in the headstock but routing wires up the neck would’ve been difficult. Unless, I made a neck from scratch and routed a wire run channel next to the truss rod channel. Perhaps I’ll do this for version 2 of this 3D printed guitar.


Assembly

Bolts connect each of the four body pieces together. Rather than have them tap into plastic, I instead installed M3 thread inserts into the pieces. To install the thread inserts I used a bolt to pull them slightly into the plastic so they were seated. Then I used my soldering iron on the lowest temperature to slowly melt the inserts into the plastic.

The next thing is the string guides that guide the strings from the back of the guitar where they’re inserted to the front of the guitar where they run through the bridge. They came a bit longer than needed so I trimmed them down with a hacksaw. As mentioned previously; they simply press in with a decent bit of force and a few smacks of the mallet.

As I was unsure about if this project would be a success I cheaped out on a ~$8 pickup to get me started. To give the pickup some isolation from vibrations of the guitar I placed some adhesive backed foam between the pickup and the cavity. Two M3 bolts tighten the pickup down against the foam compressing it. This allows me to raise or lower the pickup by simply tightening or loosening the M3 bolts.

The bridge and input jack were a simple and cheap affair. Bridge attaches via 5 self tapping screws directly into the plastic. Input jack slides into the bottom and a nut on the other side does it up tight.

Volume and tone push-pull pot simply slides in from the bottom and pops out the top. A nut threads onto the pot and fixes it in place. Some slots designed into the body parts allow the wire from the pot to be routed into the back cavity. From there the wire connects up to the pickup and output jack.


Electronics

I started this project by using a STM32 Nucleo L452RE development kit to test out the basics. I connected to this dev kit a strip of SK9822 (APA102 clones) LED’s and an Adafruit electret microphone amplifier board. Using the microcontrollers onboard ADC I sampled the microphone amp’s output at 9000Hz and fed it into ARM’s FFT implementation. I then used the output of the FFT to drive the LED’s by splitting a section of the expected frequency band into several frequency bins; one for each LED.

After getting this demo going I went ahead and designed my first PCB for this project. It used an STM32L4 microcontroller, two off the shelf power supplies; one 3V3 and one 5V, and the Adafruit electret microphone amp. At this point I hadn’t realised I couldn’t just plug a guitars input into the mic op amp board. The board worked however the mic amp back fed the guitar pickup and caused a lot of the sound to be sucked out of the guitar and created a lot of bad noise.

The second version of the board I had a friend help with who’s an electrical engineer by trade so he was a big help in designing the board. This time instead of off-the-shelf modules I used IC’s which I picked individually to fit the application. I used a LTC3240 3V3 regulator to keep the microcontroller powered, a TPS61022R 5V regulator to power the LED’s as well as provide the voltage bias for the guitar input op amps.


Software

As mentioned above to make the LED’s react to the guitar playing is done using FFT (Fast Fourier Transform). The FFT takes the guitars input sampled at a fixed time frequency and breaks it down into frequency components. Thankfully ARM have done all the heavy lifting with their CMSIS DSP library.

The input is a single button which can be single or double clicked, short or long pressed. To see what mode I’m in, what note the tuner is hearing and more I use a 128×64 OLED screen. I’m driving the OLED screen via I2C using u8g2 library.

After a period of inactivity; no button presses and no frequencies detected from the guitar over a certain threshold the microcontroller turn’s the LED’s off, puts the OLED screen into low power state, and goes into standby mode. In this mode it uses very little current so will hopefully result in a fairly long battery life.


The Finished 3D Printed Guitar

I’ve gotta say, it’s pretty damn cool having the guitar light up when you play it. Even with the LED’s off it’s still quite something to behold in all it’s 3D printed glory.

As for the future of this guitar there’s a few things I want to do:

  • Light up the neck and/or headstock in the same way as the body does.
  • Add a DAC (Digital to Analog Converter) to the electronics board so I can apply pedal effects to the guitar like distortion and delay.
  • Buy and install a better quality pickup.
  • Add more/better LED lighting modes.