January 8, 2026
Description
Fret Buttons in Action Note these are 90% buttons. | Gameplay Footage |
This is my version of a clone hero/guitar hero guitar in the style of the Les Paul Gibson. My goal was to make the best possible guitar with no compromises.
Please also check out my Eddie Van Halen Star: https://www.printables.com/model/737667
2025-08-28
Added link to @JoseMariaIba_1594250's github for for ESP32 option.
2025-07-20
Added [Tilt Switch - 5mm Ball Switch (Sw-520d) - 45 degrees - v0.2.stl]
Thanks @vman for the suggestion.
2025-03-23
Updated BOM to table format. Thanks again to @austinvojta for improving things!
2025-03-22
Added much improved wiring diagrams courtesy of @austinvojta
2025-03-18
Updated the single piece guitar body to accept the fix for the wire plates.
2025-03-15
Finally a fix for the Pimoroni Pico Lipo Shim interfering with the exit hole from the guitar body. Sorry it took so long.
The issue was that I didn't take into account the sag the would occur from the bridging. The tolerances on the hole for the wire plate were extremely tight from when I had four holes holding the wire plate to the guitar body. When I removed the upper and lower holes, it gave more room so the hole could be enlarged.
For those that have already printed your guitar body, using a knife to trim the upper part of the exit hole by 1 mm should get the pico lipo shim to not interfere.
Updated the wire plate exit hole on the guitar body and the wire plates so that the pico lipo shim should no should no longer interfere with the guitar body
(enlarged the opening 1mm in each direction up and down and increased the size of the wire plates)
Thanks to @austinvojta and @forkz for assisting with the issue.
The CADs have been updated to match.
2025-03-03
Added counterbore bridges for [Guitar Body - Strummer Side with Support - v0.3]
fixed Headstock nut so it properly loads flat on the build plate.
Thanks to @austinvojta for helping find these.
Added CAD for the beta split guitar body files
Modular/adjustable strumming mechanism that uses bearings for smooth strum with no play.
Strum bar uses bearings, giving a very smooth and consistent movement.
Strum switch mounts slide in and out to eliminate backlash in the strumming mechanism.
As few bolts as possible visible from the front.
Only 4 neck bolts visible, which I like aesthetically. These could easily have been hidden also.
Single piece neck
Better rigidity as a single piece.
Cleaner look without bolts as it's always hard to get multiple pieces to line up perfectly.
Fret switches are mounted onto a plate, which slides into the neck and is attached to the neck with screws that are hidden under the fret buttons.
Buttons mounted into the keycap mounting holes
Buttons don't float and have a smooth action without sticking.
Button stops under the top and bottom of each fret prevent excessive leaning of the button.
Legs are printed separately and glued into the cap so the legs don't break along layer lines.
Flat or dimpled buttons
Small dimple makes it easy to locate the middle of the button.
Modular wire exit plate
Wire exit is a face plate that can be easily adapted for whatever hole/wire plugs that you want.
Current Plates
USB-C using micro-USB to USB-C Extension/Adapter
TP4056 charging module and mini-rocker switch
Wireless play only.
USB-C is for charging only.
Pimoroni Pico Lipo Shim
Direct connection to pico for less latency and wireless via bluetooth are both possible.
Charge and connect to the pico from the same USB C port.
Whammy Bar (optional)
Uses a spring, mr83 bearing, and a cheap potentiometer
Different options for whammy bar coming (waiting on Aliexpress)
m6 whammy directly into plastic (stays in place)
m5 whammy into a m5 heat set (allows the whammy to be loose and fall away when not in use)
Tilt sensor (optional)
Dual Mercury/ball bearing switch
Two in series, mounted at a slight angle to each other to reduce accidental triggers.
Electronics
Pi Pico mount.
Tons of zip tie spots for easy wire management.
Wireless support via an 18650 or 21700 lithium battery and charging module.
Base Items (needed for all guitars) | |||
Qty | Component | Source | Notes |
28 | M3 x 8mm screw |
| 6 for fret switch plate to neck (BHCS only), 22 for general assembly (BHCS or SHCS) |
4 | M3 x 40mm screw, BHCS or SHCS |
| Single piece neck only! If you are printing the split neck, you don’t need these (see the split neck sections below) |
5 | M3 x 12-16mm screw, BHCS or SHCS |
| 3 for headstock to neck, 2 for strum bar. The longer bolts are better, but shorter is ok. |
4 | M2 x 8-12mm screw, coarse thread |
| Pi Pico mounting. If you only have fine thread M2, that is ok. |
28 | M3 heatset insert, 5mm (dia) x 4mm (len) |
| |
2 | MR83 bearing | Strum bar assembly | |
9 | Kailh choc low profile switch | 5 for frets (recommend yellow linear), 4 for strum bar/start/select (recommend pale blue clicky) | |
| |||
Split Guitar Body (needed in addition to the base items) | |||
Qty | Component | Source | Notes |
5 | M3 x 8mm screw |
|
|
5 | M3 heatset insert, 5mm (dia) x 4mm (len) |
|
|
| glue |
| Glue required to attach the two pieces of the guitar faceplate together. |
| |||
Split Guitar Neck 235x235 bed (needed in addition to the base items) | |||
Qty | Component | Source | Notes |
4 | M3 x 8 mm screw |
| Attaching neck to body |
4 | M3 x 12mm screw |
| Attaching two neck pieces together |
4 | M3 heatset insert, 5mm (dia) x 4mm (len) |
| attach the two neck pieces together |
| |||
Split Guitar Neck 220x220 bed (needed in addition to the base items) | |||
Qty | Component | Source | Notes |
2 | M3 heatset insert, 5mm (dia) x 4mm (len) |
| Only two upper (fretboard surface) holes use heat sets. |
2 | M3 x 12mm screw |
| For the two holes that go into the headsets. |
2 | M3 x 20 mm Screw |
| Lower neck bolts go straight into plastic. Not enough space to use heat sets here. |
Wired Only (simple and low latency) | |||
Qty | Component | Source | Notes |
1 | Pi Pico (H) |
| |
1 | Micro USB (male) → USB-C (female) panel adapter (17mm mount holes, 0.3m length) |
| |
| |||
Wireless Only (via TP4056) | |||
Qty | Component | Source | Notes |
1 | Pi Pico W(H) |
| |
1 | TP4056 USB-C |
| |
1 | Mini rocker switch (8.5mm x 13.5mm) |
| |
1 | 50-100 ohm resistor | Optional | |
1 | 3mm LED | Optional | |
1 | 18650 or 21700 battery |
| |
1 | Battery holder |
| |
OR | Naked 18650/21700 mount (for direct soldering) | (3D printed) |
|
| |||
Wired/Wireless Hybrid (via Pimoroni Pico LiPo SHIM) | |||
Qty | Component | Source | Notes |
1 | Pi Pico W(H) |
| |
1 | Pimoroni Pico LiPo SHIM |
| |
1 | Micro USB (male) → USB-C (female) panel adapter (17mm mount holes, 0.3m length) |
| |
1 | JST-PH 2-pin female connector |
| |
2 | M2 x 4mm screws |
|
|
1 | 18650 or 21700 battery |
| |
1 | Battery holder |
| |
OR | 18650/21700 Naked Holder (for direct soldering to battery) | (3D printed) |
|
Tilt Switch | |||
Qty | Component | Source | Notes |
2 | 3mm OR 5mm mercury/ball tilt switch | 5mm might flow better | |
| |||
Whammy Bar | |||
Qty | Component | Source | Notes |
1 | WH148, 15mm 3-pin linear potentiometer (10k-100k Ohm) | Resistance range doesn’t matter much as santroller will adapt. | |
8 - 10 | M3 x 8mm screw, BHCS or SHCS |
| 8 if using single spring, 10 if using dual springs |
1 | MR83 bearing | Same bearing as strummer assembly uses | |
1-2 | Spring | One 6mm (dia) x 25mm (len) works well | |
1 | M6 whammy bar | Can be moved out of the way manually, but won't fall with gravity | |
| |||
Neck Strap | |||
Qty | Component | Source |
|
1 | Guitar neck strap |
| |
2 | M3 x 12mm screw, BHCS or SHCS |
|
|
2 | Guitar strap pegs |
| |
OR | Strap Knob | (3D printed) |
|
| |||
Optional Wire Connectors | |||
Qty | Component | Source | Notes |
1 kit | Dupont connectors | Direct soldering instead of using connectors is a viable option | |
1 | Wago 221-415 connector | Helps connect grounds together |
3D printer:
At least 300 x 300mm build plate for full-body printing
220 x 220mm or 250 x 250mm build plate is sufficient if you use the split parts
Super glue
Optional - Crimping tool (for Dupont and JST-PH pins)
Only required for the JST-PH if using the Pimoroni Pico Lipo Shim and you're making your own cable (versus just buying a female cable with the jst-ph already on it)
Duponts optional, but direct soldering of the Pico works well also
Soldering iron
Wire (24-20 AWG, stranded)
I used wires from scrap ethernet cables
Parts should be printed in the orientation provided.
No Supports. Any required supports are already modeled into the STLs.
Buttons/Legs ***Important***
Buttons and legs should be printed at 0.1mm layer height.
Thickness of the leg that inserts into the choc switch should measure 1.25mm - 1.35mm thick after printing for a good fit.
Sometimes slicers do funny things so if your buttons don't fit well you may need to play with the slicer scaling so the legs end up around 1.3mm thick.
If you print the buttons with dimples, they should be printed standing up.
Body, neck, headstock can be printed with 3 walls and low infill.
If you have comments, feedback, or need help, please don't hesitate to ask questions or message me. I have printed many of these guitars now, but I do realize everyone's printers/experience are different. So I can help!
If you need help printing something, just message me and maybe something can be arranged. I haven't decided on whether or not to sell guitars yet, until then just let me know and we can talk.
If you would like to sell guitars based on my design please message me and something can be arranged.
Fret Switch Plate and Neck Assembly | |
Neck/Fret Button assembly Video | |
Break off the supports. The neck in this pic was printed with a color change. | Carefully install fret switch plate with m3 x 8mm button head screws. Tighten until the plate is flush with the neck. |
Neck
Place the choc switches into the [fret switch plate]. The switches should be placed so that the keycap mounting slots are perpendicular to the neck.
Solder the wires to the fret switches. The GPIO wires need to be long enough to reach the back corner of the body where the Pi Pico is mounted.
For the ground wires (brown in the pic), I like to solder a short wire to each switch, then merge those wires into one wire at the end of the switch plate after the zip tie holes. You could also do it bus-bar style
Zip tie the wires to the switch plate for strain relief.
Attach the fret switch plate to the neck
Break off the in-built supports on the neck fret-button holes.
Slide the switch plate into the neck and attach it to the neck with (6) m3 x 8mm button head cap screws. Socket head screws will stick up too high and interfere with the fret buttons.
Carefully tighten these bolts until the switch plate is completely flush with the neck. Try to tighten them all a little at a time so the plate comes up evenly.
Brass Heatsets | |
Note: I removed two heatsets for the Pi Pico Mount. They were unnecessary. |
Heatsets
(1) top of the neck (attach the headstock to the neck)
(9) Faceplate
(14) Guitar Body
(8) to attach the strum bar
(2) on the sides for guitar strap mounts
The strap holders mount with m3x12mm bolts.
Note that the rear guitar strap mounting location has two possible locations. There is one at the end of the “arm,” and one under the arm (which is where the actual EVH Star guitar mounts it).
(4) underneath the body to mount the neck.
Buttons | |
Legs must be printed at 0.1mm layer height. Ideal leg thickness is 1.25-1.35mm |
|
Assemble fret buttons
Glue the legs into the buttons with some super glue. The leg portion goes towards the middle of the button.
Remember the button legs must be printed at 0.1mm layer height for a good fit. The leg thickness should be 1.25 - 1.35 mm after printing.
Install the fret buttons into the switches. If you have issues inserting your fret buttons into the choc switches, it is most likely because the switch plate is not completely flush with the neck.
Attach the neck to the guitar body using (4) m3x40mm bolts.
Strummer Assembly | |
Strummer assembly
Attach the bearings to the strum bar
Basically any length m3 bolt will fit here. I put m3x12mm in the BOM (to use fewer bolt sizes), but I like to use m3x20.
From outside to in on each side of the strum bar:
Bolt>>mr83 bearing>>strum bar spacer>>strum bar
Insert the bearings into the hole on the [strummer mount]. This should be a pretty snug fit. I have included two versions with different tolerances for the bearing. I personally like the 8.1mm version.
Attach strummer mounts/bar to the guitar body using (4) m3 x 8mm bolts. Center it using the alignment lines on the guitar body.
Switch holders [Switch Holder Choc or Box]
Solder wires and attach switches to the switch holders. There is ziptie for strain relief on the switch holder.
I know the current trend is for box navy switches, but I prefer choc pale blue because the throw is shorter.
Attach the switch holders to the guitar body using (4) m3 x 8mm bolts. I also recommend using m3 washers here, but they aren't required.
Center and adjust the switch locations so there is no play.
Star Button Mount
The Star button can be made dual color with a filament swap.
Attach the body button mount to the guitar body using (2) m3 x 8mm bolts. The opening of the mount should face towards the neck.
Heatsets for the body button are optional.
If your button isn't centered in the face plate hole, you can adjust this slightly with these bolts.
There is a zip tie strain relief on this mount.
Tilt Sensor | |
Use a zip tie to hold everything in place. |
The switch should be mounted with the arms pointing at approximately 3:30 and 5 o'clock. Adjust it to your preferences. Treat the tilt switch as a digital switch. It can be wired to any digital GPIO/Ground. |
Tilt Sensor
The tilt sensor is designed around two 3mm or 5mm mercury switches. The switches are mounted at an angle to each other.
The right one should point at around 3:30 and the left one at around 5 o'clock with the wires coming out at ~11 o'clock.
This helps mitigate accidental triggers from single axis up and down or side to side movements.
The angle refers to the angle relative to the two switches. a higher angle means fewer accidental triggers, but requires a larger tilt to activate.
Treat the tilt switch as a digital switch. It can be wired to any digital GPIO/Ground.
Wiring
I mount the Pi Pico with the USB port pointing to the back of the guitar.
Wire one wire from each switch to any digital GPIO pin on the Pi Pico. You don't have to worry what GPIO pin you wire the switch to because the Santroller Configurator automatically detects which pin it is later.
Wire the grounds to the Pi Pico. The grounds should be grouped together before connecting to the Pico since there isn't enough ground pins. I group the grounds for the neck switches into one group and group the body switches into another ground group, but do what works best for you :).
If you can crimp duponts I think it is an easy way to get perfect wire lengths.
Otherwise, just solder the wires to the pico and you can tidy them up using the many zip tie holes.
Notes for TP-4056
https://electrocredible.com/power-raspberry-pi-pico-with-batteries/
Nice write-up regarding using a TP-4056. I opted to leave out the Schottky diode as I will never be plugging the Pico in after the guitar is wired up. If I do plug in the Pico later to modify the firmware, I will just make sure the switch is turned off.
Direct Wire |
Thanks to @austinvojta for this awesome diagram, which is way more clear than the way I explained it. |
TP 4056 Charging Module (Wireless with 18650) | |
TP4056 Wireless Wiring Diagram Thanks to @austinvojta for this awesome diagram, which is way more clear than the way I explained it. | |
TP4056 with 18650 Battery This is the EVH Star, but the concept is the same. | 50 ohm resistor for 3mm LED. I wired (-) to pin 33, and (+) to pin 36 on the Pico. Remember the longer leg of the LED goes to (+) and the shorter leg to (-). Doesn't matter which side the resistor is on. |
A diode is pictured here between the TP4056 and VSYS of the pi pico. However since the Pico mico-usb port isn't accessible unless the guitar is opened, it's not a huge deal if you omit it. Just remember that you need the switch off if you plug in the Pico directly to prevent back feeding the battery. |
|
Diagram taken from: https://electrocredible.com/power-raspberry-pi-pico-with-batteries/ | Green light is power light. The hole to the left of the USB-C allows you to see the charging status from the TP4056. |
Pimoroni Pico Lipo 18650 Wiring (wireless with 18650) | |
Pico Lipo Shim Wireless Wiring Diagram Thanks to @austinvojta for this awesome diagram, which is way more clear than the way I explained it. | |
Wire these 5 pins (colored wires) to the corresponding pins on the pico (Pico pins 40-36) Put the button into the wire plate then attach the Pimoroni Pico Lipo Shim to the plate with (2) m2 x 4mm screws. The Micro-USB to USB-C extension cable attaches with the provided m3 screws. | Pins 40-36 on the Pico
|
Wire the two arrow marked spots to ground on the pico (I used Pico pins 3,8). The battery connector uses a JST-PH two pin plug. | Pimoroni Pico Lipo fully installed with 18650 using the naked 18650 mount. My 18650 was salvaged from a laptop and had tabs on it, so I just soldered wires to the tabs. |
NOTE THE ORIENTATION OF THE POWER to the shim! Multiple people have smoked their pico shims by putting the power in backwards. |
|
Direct Wire via Micro USB to USB-C Adapter Cable | |
This shows the Pimoroni Pico Lipo, but the routing of the micro-USB to USB-C adapter is the same. |
Whammy Bar | |
Integrated motion stops. | Can be mounted with single or dual springs for extra resistance if desired. |
Don't forget to remove the support (red) | The outer pins of the potentiometer should be wired to GPIO 35/33. The middle pin should go to GPIO 34. |
Programming the Pi Pico
Santroller Configurator (https://santroller.tangentmc.net)
This is an amazing tool that makes programming a guitar super easy. Check out his excellent documentation also for some other tips on wiring up and configuring the guitar.
In a nutshell, you run the program and plug in your Pico after everything has been wired.
On first plug, it will do a quick installation onto the Pico. Next, hit “configure” and it will pull up all the options.
Choose “guitar” for controller type. Then, on the left there's a button to learn all the keys. Click the ones you have and skip the other ones. Once you've done that, remove any items you don't have a binding for then hit save on the left.
That's it! Your guitar should be working.
Programming ESP32
@joshdesigns for his Les Paul design, which inspired me to make my own version. My strum bar mechanism is inspired by his.
Sanjay900 for creating the Santroller Configurator, which makes programming these guitars a cinch.
@austinvojta for his excellent feedback. He has helped improve both the prints and the BOM/build instructions
Clone hero and YARG creators for allowing me to relive my old guitar hero dreams.
License:
Creative Commons — Attribution — Noncommercial