Inspired by the infamous Guitar Hero controller, this project shapes a MIDI controller into a 3D printed guitar. Featuring 12x Cherry MX switches in the neck, this gives you a tactile "hands-on" feeling that is satisfying. The whammy bar lets you pitch bend, making it feel like an electric guitar. It also features a strumming mode so you can power through chords and notes, giving you a playing style unlike typical MIDI controllers. Using an accelerometer, you can move the guitar to adjust modulation giving you an expressive playing style.

This project is coded in CircuitPython and uses the USB MIDI library. It features velocity, modulation, pitch bending and notes on/off. It features 8 different sets of notes for playing different octaves or sets of notes to craft your own chords. Two switches allow you to enable different features such the strum mode, trigger mode and accelerometer mode. Two potentiometers lets you adjust velocity and modulation.

The parts are 3D printed without any support material. The top and bottom half of the guitar body snap fit together allowing you easy access to open and close. Parts are designed to print on most 3D printers with a build volume of 250x210x200mm. The parts and components are secured together with M3 hardware. The design files are open source, freely available to download. The CAD files feature a parametric assembly to easily add/mod to create custom controller.

MX switches are available in different types and styles. The color of the key stem is used to classify its characteristics. We choose to use speed silvers for their quiet presses and low actuation point.   

The head houses a strip of NeoPixels to diffuse a piece of black LED acrylic. The LEDs illuminate the panel making a neat lighting effect.


Overhead shot of long, purple, rectangular development board.
Are you ready? Really ready? Cause here comes the Adafruit Grand Central featuring the Microchip ATSAMD51. This dev board is so big, it's not...
In Stock
Top down view of a Adafruit LIS3DH Triple-Axis Accelerometer.
The LIS3DH is a very popular low power triple-axis accelerometer. It's low-cost, but has just about every 'extra' you'd want in...
In Stock
Eight-Way Rotary Selector Switch without knob
When you need a lot of options, you need a Mini 8-Way Rotary Selector Switch. This is basically a single-pole to 8-throw switch. As you rotate the knob...
In Stock
Potentiometer with Built In Knob
Oh say can you seeBy the knob's early light...Sorry - we thought that was clever.  And while it wasn't really, this potentiometer definitely...
Out of Stock
Breadboard Friendly Panel Mount 10K potentiometer linear.
This potentiometer is a two-in-one, good in a breadboard or with a panel. It's a fairly standard linear taper 10K ohm potentiometer, with a grippy shaft. It's smooth and easy...
In Stock
2-Terminal Micro Switch with lever
Micro-switches are often found in arcade buttons and joysticks but they're also really handy in any kind of mechatronics project or when you need a basic sensor. They are always...
In Stock
Top view of Adafruit Perma-Proto Quarter-sized Breadboard PCB.
Customers have asked us to carry basic perf-board, but we never liked the look of most basic perf: it's always crummy quality, with pads that flake off and no labeling. Then we...
In Stock
Panel Mount Extension USB Cable - Micro B Male to Micro B Female
Check out this handy MicroUSB extension cable, which will make it easy for you to enclose a device that has a B type (micro USB host) port. Great if you need to extend the USB...
In Stock
Mini Panel Mount SPDT Toggle Switch
This or that, one or the other, perhaps or perhaps not! So hard to make decisions these days without feeling like you're just going back and forth constantly. Deciding whether or...
In Stock

Parts Galore! 

There's a hand full of parts used in this project! If you have parts on-hand, be sure to scroll through the guide and look for anything that you may have on hand. Most of the panel mounted components feature standardized diameters. The mounting holes on the Grand Central M4 board are similar to the Arduino Mega.

Wires & Connections

Because of the amount of components, several dozens of connections will need to be made. By using pre-crimped wires with JST PH connectors, you'll make the assembly more manageable.

4 x 2-pin JST Female
JST PH cable
4 x 2-pin JST Male
JST PH Cable
3 x 3-pin JST Female
JST PH Cable
3 x 3-pin JST Male
JST PH Cable
4 x 4-pin JST Male
JST PH Cable
4 x 4-pin JST Female
JST PH Cable
1 x JST PH Kit
Assortment of JST PH Connectors
1 x 10-wire silicone ribbon cable
28AWG silicone cover stranded wire

Non-Adafruit Parts

These parts are used in the project but not sold in the Adafruit Online Shop.

12 x MX Switches
Cherry MX Speed Silver Keyswitch (10 Pack)
1 x Key Caps for MX Switches
Available in Black and different colors
1 x Whammy Bar
6mm Bar Arm for Electric Guitar
2 x Knobs for Potentiometer
GTE Knob - Small
1 x Knobs for Rotary Selector Switch
Black Knob - 15x19mm
1 x Extension Springs
Extension Spring Kit (6.35 x 22.2 mm)
1 x Black LED Acrylic
Precut Sheet – 114mm x 144mm

Hardware List

Guitar Body – Bottom Half

  • 16x M3 x 6mm pan head screws
  • 4x M3 x 8mm pan head screws
  • 4x M3 x 10mm pan head screws
  • 4x M3 x 16mm pan head screws
  • 20x M3 hex nuts
  • 4x M3 x 20mm standoffs
  • 1x Extension Spring (6.35 x 22.2 mm)

Guitar Body – Top Half

  • 7x M3 x 6mm pan head screws
  • 7x M3 hex nuts

Guitar Neck

  • 12x M2.5 hex nuts
  • 6x M2.5 x 8mm pan head screws
  • 2x M3 x 6mm pan head screws
  • 2x M3 hex nuts
1 x M2.5 Standoff Kit
Black Nylon screws standoffs and hex nuts
1 x M3 Standoff Kit
Brass screws standoffs and hex nuts

Author Credits

CAD by Noe Ruiz and Code by Liz Clark.

This guide was first published on Mar 18, 2020. It was last updated on May 28, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.