3D Printing Cad music

My new 3 string instrument

My 3 string instrument with a round body

I haven’t updated my blog in a very long time, so I will change that today with a new post about my new 3 string instrument.

This is a cross between an Appalachian dulcimer (strum stick), Guitar, Ukulele, Balalaika, and a few other musical instruments. It is roughly the size of a soprano ukulele. This musical instrument will be modular, so you’ll eventually be able to swap out the neck with a fretless neck, or swap out the nut and this will become a violin-style instrument. This is open source so you can modify it however you want.

History of this project

I made a fretless strum stick a couple of years ago, but it had several flaws. The neck would break often and the neck was very thick. I tried using Banjo strings and nylon strings and I couldn’t get a nice tone on the instrument at all. I used small nails on the bottom to hold the strings in place and even experimented with geared tuners and 3d printed friction pegs. Things would break quickly. Eventually I gave up on that project and practiced more with cad and designed other random projects. Years later, I designed a crescent moon ukulele and used that project as a template for my new 3 string instrument. Here is an image of a very early prototype of my 3 string instrument from years ago.

My trash prototype from years ago

This is a ukulele I designed and helped push me to finish my 3 string instrument project.

My ukulele that I used as a template for my current 3 string project

This is what one of my new instruments look like with the Model B body. It looks just like a mini balalaika and can be tuned as one, but there are many bodies to choose from.

New instrument with Model B (balalaika) body.

How do you make one?

I’ve designed these to fit on a Prusa Mini+ 3D Printer, but you will need to angle the parts with supports. Larger printers might be able to print with minimal supports.

You need glue, strings, geared tuning pegs, and access to a 3d printer.

First you will need to download the model:

Parts list: These are not affiliate links.

Ukulele strings:

Geared tuners:

You will also need a super glue. I like using Krazy Glue. You will also need a small Phillips screwdriver.

There are several bodies to choose from and I’ve included a .step file so you could make your own modifications.

Currently, there are 11 bodies to choose from

Once you print the neck and a body, you will need to make sure the parts will fit. Do a test fit then add glue between both the neck and body and fit the parts together. Some glues may dry very quickly, so a test fit before gluing is important. After that, you will want to lay the instrument flat where the neck will not bend forward. When I glue my instruments, I lay the instruments on a table with the frets facing down, but I leave the bridge hanging off the table so the instrument stays flat. If you have clamps, you could use those, but make sure to clean any excess glue. I opted out of using clamps.

Once you are done, you will want to add the geared tuners. Add one at a time and for screw holes, you should use a Phillips screwdriver to make pilot holes. You should have a tuner on the left side of the head-stock for the right string, a tuner on the right side for the left string and one on the back for the middle string. If you want to play left handed, you can swap the left and right tuners. If you play right handed, the left tuner should be the left bottom hole and left handed should have the left tuner on the left top hole.

Example: How the tuners should be positioned if you are playing left handed.

Here is a full diagram of the instrument

How do you tune this?

There are no rules on how to tune this or which kind of strings to use. I’ve only tested nylon and ukulele (fluorocarbon) strings. Metal strings might work, but I haven’t tested those on my current design. I’m enjoying open C tuning, where you tune the first string as C, the 2nd as E, and final string as G. You could tune this like a Balalaika, where the first 2 strings are tuned to E, and the last string is tuned to E. You could also tune this as D A D, like on a mountain dulcimer. Tune it however you want. I’ve included a chord chart for Open C tuning.

Future plans for the project

My plans are to change the neck design so you can use bolts to hold the neck in place and adjust the angle of the neck. This will also allow you to swap out instrument bodies if you want a different body shape or color. I will also change the neck to allow for different kinds of nuts, so this instrument will work like a violin or ukulele depending on which nut you use. The project will remain open source. I might take breaks from this project to focus on my large list of other projects, but I hope you give this project a try.

The end

I want to say thank you for taking an interest in my project, especially if you made it past the walls of text on this blog. End of post. I hope you have a great morning, day, evening, or night, no matter what timezone you are from.

3D Printing Cad Handheld Linux Pico 8 Raspberry Pi Soldering

Version 3.0 is now done

Hello again. I have finished 3.0 of my handheld project. I added a SD card reader that functions as a ‘cartridge’ reader and made the left action button larger to give it a more distinct look. This project has no name and I want one. I will take any non-offensive name suggestion and might have a vote. If the most popular name wins, then that will be what I’ll call this handheld project.

New cartridge slot with satisfying click

Where can you download the new files?

You can find my handheld project files on Thingiverse:

The STL and .step files are open source, so you can use these files for your own projects. I don’t care what you do with the files.

Why SD cards?

Originally, I wanted to learn how to design circuit boards, and make edge connector cartridges with programmable eeprom chips, but I had no idea where to start, and couldn’t find any useful information. People suggested that I use SD cards and I went with that instead. I might try making ROM cartridges down the road for a future unrelated project, but for this project I’m using SD cards.

I could of just used SD cards and called it a day, but that would of been boring. I wanted these SD cards to look and feel like cartridges, so I made some 3D printable shells. I call these cartridges, Bulk Carts. The name was suggested by the Pico 8 community.

One of the reasons I designed these cartridges were because I wanted to give Pico 8 game devs a way to sell their own games on physical media. Also, I like the idea of using cartridges as that is what games used to be stored on.

SD cards are huge in comparison to a Pico 8 game, but people could throw in game manuals or other fun Easter-eggs if they want.

Prototype Bulk Cart 0.9 with smaller lettering

How do you get these cartridges to work?

I created a simple bash script in Linux that searches for a SD card and looks for a specific Pico 8 ROM file when you turn on the machine. This works, but requires people to rename their Pico 8 ROM files to run.p8.png. I’m unable to get multicart games to work this way, but I’ll see what I can do to get games like Poom to work. For more information, you can check the Pico 8 forums here:

How about labels?

Labels need to be 128x106px and adhesive sticker paper works great. I made some test labels and they look great, but I plan on using glossy paper.

Some of the cartridges I made

These labels look great, but I need to cut them a little more straight. I might try making the labels a few pixels larger so there is more room for error when cutting them.

The new and improved screen magnifier

I made some new changes for my screen magnifier. The front that holds onto the console was too flimsy and broke easily. Now, the magnifier wraps around the sides of the console.

Future plans?

I plan on using a Raspberry Pi Zero 2 W. I have one that should arrive soon in the mail. I will compare the performance between the Pi Zero W and Pi Zero 2 W running Pico 8. I want to iron out the issues in this project so it becomes perfect. The biggest issues I have with the handheld is that the left action button will sometimes get stuck, but that could be multiple reasons, but I have an idea what is causing it. I might shrink the left action button and it should fix that issue.

One of the other issues is that the screen will have slight ghosting, but that could be a driver issue. I might recompile the driver and see if I can reduce or remove all the ghosting. The final issue I have with this project is that the handheld takes roughly a minute to turn on and boot into a game on the cartridge. That is not fun. I used my phones stopwatch and it took 1 minute and 8 seconds to get into a game. If you boot without a cartridge, you can at least boot into splore and exit a game and return to splore to quickly choose another game. If you load Pico 8 with the -splore flag, exiting a game will take you back to splore. If you load a game via SD card, then exiting the game will exit Pico 8. I think it is the screen driver that is causing the long boot time, but it could be something else causing it. I will figure this out. Reducing the boot time will be my highest priority.

If anyone has a suggestion to drastically reduce boot times, please let me know.

The end!

I hope you have a great week and I will post again soon.

Cad Raspberry Pi

A new Pi Powered handheld with a crank

Hello again. Its been a month since I last posted. I’ve been busy with life, but now, I’m working on a project that has been put on the back burner. It is a Pi Zero handheld with a crank on the side, similar to another popular console called the Playdate. Presenting the Playdave (name pending, might stick to a generic name).

My project is meant to be a fan made parody of the Playdate console by: Panic. This project will be a DIY fanmade project only. If you want one, you’ll have to make one yourself or get someone else to make one for you.

The goal for this project is for me to practice more soldering and have fun in the process. I intend to play Pico 8 on this thing, but since I wont be using a square 1:1 display, people should be able to use other fantasy consoles, emulators, or play their own games that are compatible with the Pi Zero.

My project will feature the following:

  • A clicky dpad just like in my Pico 8 inspired handheld, but it will have rounded corners. I also have made variants so if someone wants to 3d print one, they can choose which one will be the most comfortable for them.
  • It will also have 2 action buttons and a menu button. The layout will be perfect for someone who wants to play Pico 8 games or code their own games. I will make the controls compatible with Pico 8.
  • A potentiometer. This will allow people to play games with a crank control system, but since most of the parts will be 3d printed, people will be able to swap out the crank with a steering wheel, a knob, or anything else they want. I might put the potentiometer on the front, as I’m liking the steering wheel idea for racing games.
  • The display will be a color display of some sort. I might use my Adafruit TFT display, but it seems too bulky.
  • Raspberry Pi Zero W. It is thin and should be powerful enough for small games and especially Pico 8. I might look into other single board computers.

Once I finish a physical prototype, I’ll update the blog with more information, and will probably post the STL files on Thingiverse. Have a wonderful rest of your weekend.

3D Printing Cad Handheld Linux Pico 8 Raspberry Pi TV console

Project updates

My brothers handheld I made for him is done

I made a 2 button version of my Pico 8 fanmade handheld. It works better than the 4 button version so I’ll focus more on just the 2 button version.


I also made it possible to boot into Pico 8 using cartridges. They aren’t rom cartridges, but SD cards with a 3D printable shell to make them look and feel like cartridges. The designs are not final. It works and I posted a guide on the Pico 8 forums:

You can find the SD card ‘cartridge’ files on my Thingiverse:

How does this all work? You plug in a SD card into a USB SD card reader that is connected to a Raspberry Pi and have the Raspberry Pi search for a Pico 8 .p8.png file in the SD card or anything else you want it to find. If it finds a Pico 8 rom file, it will run that game in Pico 8. If it finds nothing, it will just boot into Pico 8 with splore. You can use this for any project you want, not just Pico 8. Here is a picture of version 2 of my handheld:

Cartridge concept 1

Raspberry Pi TV console project

This is my new project. It is not Pico 8 specific, you can use this for any project you want. I will use the same SD card cartridges in my Pico 8 handheld project in this project too. You can use this as a Pico 8 specific console, or use other fantasy consoles that run on the Pi, or anything else you want. I tried soldering a old RCA cable to a Raspberry Pi Zero and it works, so I will make sure this project will work on CRT TVs.

Concept designs

Concept design 1
Concept 2
3D Printing Cad Handheld Pico 8

Version 1.0 has arrived

I’ve reached version 1.0. These pictures aren’t from version 1, but I made some last-minute changes. The power switch on the top of the console needs some hot glue to hold it in place better, but other than that, it is done.


  • Raspberry Pi Zero W – The computer that powers Pico 8.
  • Waveshare 1.5 inch OLED screen with a resolution of 128×128, the exact screen resolution for Pico 8
  • A mono speaker.
  • Powerboost 1000C charging board that recharges a Lithium-ion battery, but also lets people plug their consoles into a wall for long play sessions. This battery is much more powerful than 3 AA batteries so you can play on the go for much longer. Also, AA batteries are wasteful, especially if someone intends on playing with this console all the time.
  • Clicky buttons for the Dpad, pause button, and 4 action buttons. Pico 8 uses 2 action buttons, X and O, but I will see if there is a way in Pico 8 where you can use the top two buttons. Pico 8 apparently can access the Raspberry Pi GPIO, so I’ll look into that. The X, O, and pause buttons are keyed in, so they don’t rotate 360 degrees.

The final changes I made were making the screen hole 0.5mm larger and made the screw holes for the bottom of the Powerboost 2mm further down. Other than that, it is now done. I may add a venthole or vent strips on the backplate to make things cooler to prevent any overheating, but it is now pretty much done. Thanks for reading and have a wonderful day. The tutorial post should be out soon, depending on how busy I’ll be at work next week.

3D Printing Cad Handheld Linux Pico 8 Soldering

My Pico 8 fanmade handheld

The first beta version of my handheld.

Project background

Hello, I’m grhmhome and this is my first soldering project from scratch. I’m teaching myself how to solder and wanted to do more projects so I could learn more. I’m a fan of retro-gaming and enjoy the Pico 8 platform. What is Pico 8? It is software that replicates the look and feel of an old computer or game console with fake limitations. It is available for Mac, PC, Linux, and the Raspberry Pi (the hardware we are going to be using). If you are interested in learning more, check out their website here. The best part is that you don’t even need to buy Pico 8. You can play Pico 8 games using a web browser, but if you decide to make your own Pico 8 handheld, you will need to buy a copy.

Project Goals

My goals for this project were the following:

  • The console was to be designed for Pico 8 and Pico 8 only using a Raspberry Pi Zero or Zero W. It was intended to boot directly into Pico 8 and have a screen meant for Pico 8.
  • The console was to be designed using readily available parts such as a Raspberry Pi Zero W, generic buttons, perfboard, etc.
  • The project is meant to be a beginner friendly project so people who are new to soldering could use this as their first project if they wanted to.
  • The console is meant to be comfortable to hold for longer play sessions and the buttons should also feel great to press.
  • The project cad files will be open source so people can fork, modify, or do whatever else they want with the cad files. I will not provide cad files with the Pico 8 logo or any Lexaloffle branding as this project isn’t affiliated with their company.

The design work

The first design

I fired up my favorite cad software and got to work in making a basic handheld design and had to decide on the screen resolution, the number of buttons, and overall shape. Originally, I wanted a semicircle shape, but realized, that it wouldn’t work, due to the parts used, so I went with a rectangular shape with rounded edges instead. After I bought some of the supplies I would need, I measured the screen bezel, screen PCB, speaker diameter, Raspberry Pi Zero, and AA battery holder, as I needed to see how thick the console was going to be and had to make sure everything would fit.

After that, I printed a prototype shell to see if the button spacing was good enough. I was able to subtract another 5mm from the overall thickness once the parts arrived and found I had room to spare. Shrinking the handheld by 5mm made the console less bulky and more comfortable to hold. I believe comfort should be an important factor when making consoles.

The first printed shell prototype

After I printed the first prototype, I had to figure out where I want the battery holder to be. That was going to be the largest component and I needed to make sure it wasn’t going to be in the way of any of the other components. I ended up deciding on using the back-plate to hold the battery holder and be where the battery door would screw in. I added 2mm screw holes for the front half of the shell and added screw holes for the back plate. The battery holder would be on the left side of the unit away from most of the components.

Battery holder design prototype

The screen

Once the screen arrived, I had to learn how to make it work with the GPIO pins. I learned a lot about display drivers and had to scour the internet looking at ways to get my display to work properly. I opted for one display driver, but I couldn’t get that to work and since SPI was all new territory for me, I spent hours looking up other ways to get things to work, such as use another display driver, and edit source files. I found a display driver that would work perfectly after compiling, I finally got the display to work, well, sort of. The screen was displaying a bunch of glitches, and after recompiling another time, it finally worked perfectly.

Waveshare OLED 128×128 screen

The controls

Now, I was able to work on soldering the controls. I ended up buying some tactile buttons, a perfboard, and got to work. This was my first time ever using a perfboard, as my previous project involved me soldering PCB’s from a kit, and I had to research how I was going to get everything to work, so I settled on placing all the buttons in the right positions, followed by soldering each button to a wire that was soldered to a central ground jumper cable, and that ground jumper was connected to a ground pin on the gpio. The rest of the buttons also had a jumper cable soldered to them. After that, I installed a gpio controller driver, and one button refused to work. I soldered a new button, and it still didn’t work, so after replacing the jumper cable, it finally worked.

After I bought the last of the supplies needed, I soldered a 32-ohm speaker to a mono cable. I originally thought I ran out of space on the gpio, so I opted in using a usb adapter. The only issue is the sound is a bit quiet, so I might try an amplifier and use one of my 8ohm speakers, so I can have much louder audio, but for the time being, it seems to work for now.

Problems started to form

I made sure that Pico 8 would auto start when you first start up the machine and made sure the system wouldn’t boot into Emulationstation, but I quickly ran into a problem. Something was making Pico 8 think I was constantly pressing the up button. I thought, strange, this isn’t happening in Emulationstation, but had to figure a solution and fast if I wanted this project done by Sunday. What I did was removed all the jumper cables and connected them to the Raspberry Pi via SSH. Fortunately, I realized it wasn’t the buttons, or the screen causing this, but it was due to the controller gpio driver. Apparently, one of the pins, I think pin 11 was being used by both the screen driver, and controller driver, so I replaced the gpio controller driver with something that would allow me more freedom of which pin I could use, and the problem was gone.

After I reconnected everything, I found one more issue, the system performance was taking a hit, and I’m assuming it’s due to a driver conflicting somewhere, or maybe it’s something causing the hardware to throttle, but for now it at least ‘works’.

I then went back into the cad software and put in the final screw holes and was able to print the console, buttons, and assemble the first beta version. I found some glaring issues such as the buttons freely rotating so I’m making new buttons that will not rotate and they will only move forward and back.

The end

I want to thank the Pico 8 community for being supportive and having an interest in my project. The tutorial post should be available soon. I will not go over how to solder, but I will give a parts list, post links to the cad files and STL files, and will show you how to get the gpio drivers to work. The files are available here on Thingiverse:

Have a wonderful day.

Cad Handheld Pico 8

The battery compartment

I’m using a battery holder that will use 3 AA batteries. I had to create a door and make it simple to remove. On the backplate of the shell, I also made a housing for the battery holder. I’m thinking of making the backplate mount all the electronics, but the front part of the shell will have holes that will allow you to attach both parts of the shell together.

I will probably smooth everything out everything and will update you on this project once I start on sound and the controls. Have a good rest of your day.

3D Printing Cad Handheld Pico 8

First shell prototype

Hello again. I 3d printed a prototype of my shell to see how the console will feel in the hands and if the parts will fit in properly. The parts will fit properly and I have some wiggle room to shrink the shell down so the console will be around the same thickness of a Gameboy. +/- a couple of mm.

The 128×128 screen has arrived so I can try to get that part working and see if Pico 8 will behave properly with that display.

Here are some pictures of what the current prototype looks like.

The first prototype does feel great in the hands and the d-pad and button spacing feels perfect, but it is too thick to hold. Fortunately I’m going to shrink it down 5mm. I will also change where the battery compartment will go and that might let me shrink it down further. I will work on the screen hopefully today and will update the blog soon. Have a wonderful rest of your day.

3D Printing Cad Handheld Pico 8

Update #2

Hello again. Here is another update to my Pico 8 fan handheld project. I have made the front and back rounded. There is no name for this project yet, but I’m open to suggestions. Some of the internal components have arrived in the mail, but the display I’m going to use will arrive soon.

The shell of this device will be 38mm or roughly 1.5 inches. This is temporary until I figure out how I want to house everything. After that, I can shrink the handheld so it wont be so bulky.

The display.

The display is a 128×128 resolution screen from Waveshare. It is the Waveshare 1.5inch RGB OLED Display Module. The part number on the ribbon cable is ssd1351u3. It has a SPI display interface and there are repos on Github that have what I need, the ability to copy the frame buffer. Once I get the display working properly, I will work on sound, then work on the button inputs. I’m thinking of using tactile switch buttons for the action buttons; pause button, and dpad.

3d printing the prototypes

I have a Anycubic Mega Zero 3d printer that I will use for making prototypes. It has a 220 x 220 x 250 mm build area, which is more than enough for this project. The first prototypes will be to see how the handheld will feel in the hands and see if the button spacing is adequate enough. Once most of the parts arrive, I will see if the internal parts will fit properly (they should) and where I want to mount all the components. Once everything is done, I will add the screw holes and create a battery door. I will post pictures of the prototypes soon.

This is what the handheld looks like in Cura, the slicer program I use for 3D printing. I’ll be printing at 0.3mm layer height and it should take me 3 hours and 25 minutes for the first prototype to finish printing, as long as my printer doesn’t have any issues.

If all things go well, I will post an update on the 3d printed handheld prototype. Have a wonderful day.

Cad Handheld Pico 8 Soldering

Pico 8 inspired fan handheld

Hello there. I’ve been working on a Pico 8 inspired handheld. This is what I’ve been working on for 2 days. It is a bit bulky, but I plan on resizing everything once I figure out what can all fit inside adequately. This is a work-in-progress project and isn’t a project endorsed by Lexaloffle. It is entirely a fan project. I will upload the stl files and parts list on my Thingiverse page as I get further along with this project. The fan console will have 4 action buttons, a pause button, a d-pad, a speaker, and a 128×128 resolution screen.


I wanted to make a custom handheld for the Raspberry Pi Zero W for quite a while, where I could use a knock-off SNES controller inside, but then I decided on creating a niche project instead. I love the Pico 8 platform as I love retro consoles and computers from the 80’s to early 2000’s.

Why 4 action buttons? The Pico 8 fantasy console uses two action buttons. X and O, but I thought some games might use more than two buttons, so I felt like 4 was perfect.

I will update this blog as I continue this project. Have a wonderful day.