Useful 3D prints for SDIY and electronics

Are you using 3D printed items in your workshop?

Some people are printing faceplates, but let’s also talk about everything that’s not faceplates: electronics tools, storage, rails, structural elements, knobs, etc.

What has worked out for you? What didn’t? Have you created any originals? Any good STLs you can’t live without?

The search feature of 3D print sites like Printables / Thingiverse / Thangs etc. is worse than worthless to discover the good stuff buried somewhere, especially the sort of clever items you didn’t realize you couldn’t live without. So let’s make a little repository of good files and advice. It will be particularly useful to those of us who don’t own a printer but can access one, so they can focus on getting the most useful stuff made.

I’ll start, here’s some junk I extruded, I have a few more I forgot to post later. I’ll start with other people’s creations, then post a few I made for myself. For most of my originals, STLs are upon request only, I don’t want to pollute the ecosystem further with poorly designed and undocumented uploads, but if you want one of them I’ll take the time to clean it up for proper release.

I will only post items I actually printed with original photos, so you’re not deceived by a render or a sample print from a super high end printer. I print everything on a low-budget Ender 3 V2 with a few upgrades such as a depth probe.

Cool STLs from the web

Print in place PCB Holder


Let’s start with a very cool one to give you a feel for what 3D printing can do for you. It grips things strongly and is 100% printed without supports—a compliant spring is built into the model.

Printables page

Lead Bender — Breadboard Jumper Tool


A classic! Print it at home instead of buying the injection molded version that will perform no better. Note that my printer was poorly tuned for this print so the lettering turned out nastier than it should.

I am not actually 100% sure the model I’m linking is the one I used, as there are many versions… Look around for your options.

Thingiverse page

Breadboard Spring Vise

It uses rubber bands to close the drawers automatically! Very clever little item. Exists also in half-size version.

Printables page

Case for LCR-T4 Component tester

This tester is sold under many names and in many forms. Mine came with a low-quality acrylic case that broke almost immediately. There are many small variations on it, and many people made printable boxes to fit, so look around for other options. Linking to the one I used only (I made small alterations to the model offered on the page).

Printables page

Soldering Assistant

Cleverly made, but I didn’t much use out of it yet, so I can’t tell if it’s frustrating to use if you need to join a lot of wires. Very unforgiving of poorly tuned printers.

Thingiverse page

Mini Container with PET Bottle Cap

A nice way to store a handful of components for a project for future use! They are very tiny, so it’s not for the bigger parts. I use those a lot, but I still collect new LIDL Store Brand Cola Light bottle caps much faster than I can fill up new boxes with junk.

Thingiverse page

Dremel Tool Bit Organizer

Leaving behind electronics, there are a TON of useful DIY items you can make. I will only post one random example, or they’d take over the thread and make it less focused.

Printables page

Customizable filament swatches


Never buy a new brand of filament without printing one of those! Don’t be afraid of OpenSCAD, using it to customize a model is easy.

Another item I always print when I get a new color of filament is a pair of my trademark Cool S earrings (zoom in my profile picture).

Printables page

My original models

Most of those were learning projects, and are flawed in some way. For most of those, STLs are upon request only, I want to clean them up and document them before I pollute the internet with them. I post them more to encourage you to consider 3D printed solutions to your SDIY problems.

9V Battery holder

A cute little hat for those bad boys. “Secured” with adhesive putty.

Github page

Dual rail 9V battery power supply raft

To get -9V and +9V. A bit of of stripboard in the center. I added little notches to support rechargeable batteries with a built-in USB charger, but it turns out those kinda batteries refuse to work in a dual supply configuration.

STL upon request.

Jack breakout support

It’s too lightweight, so half the time, it’s actually hovering above the circuit more than it is a support.

STL upon request.

Jacks for breadboard

This support has the same “hovering above the circuit” feature as the last item, lol.

STL upon request.

Rafts for DIY stripboard modules

Just a bit of plastic and glue to insulate them.

STL upon req… hahahaha lol no do you seriously think I kept the STLs around after printing those?

Jumper wire organizer

Made to learn SolidPython. I am decently satisfied with it, but I want to revise a bunch of things and make a V2 before I release it.

What’s the stray LED doing there? I suck at glamour shots.

V1 STL upon request, V2 will be published one day.

Resistor drawers

Another SolidPython learning project, that gave me a lot of trouble. It’s a TON of effort to print, it doesn’t snap together well, it requires a fair amount of manual processing, and it requires welding parts together using a 3D pen, which is the 3D printing equivalent of Hot Glue DIY projects. The labels are painted using POSCA markers.

STL: please don’t.

Spaghetti Lunchbox

:dog:

20 Likes

Nice idea for a topic! Here’s some things I’ve made (all these are either by me or modified by me).


A cap that was missing from a knob on my battered old Alesis mixer.


Clips to hold my pocket oscilloscope (a Thingiverse model, modified to clip onto the edge of my tool trolley). Also showing is perfboard holder, again derived from a Thingiverse model.


My version of a holder for one of these tester things, modified from a model I found online so that it can hold a recycled battery and a USB-C charger circuit. At the front, a little holder for some USB C sockets I’ve got, so that they can be attached to perfboard more easily. (Underneath are bumps to line up with the holes, and then there’s holes either side for wire to get pulled through so that it can be soldered into position.


A riser for the Raspberry Pi 400 so that it can be used while behind my normal keyboard (and I can hide crap underneath).

If any of these are helpful to anyone, I’ll share my designs - I didn’t want to add to the noise on Thingiverse or Printables (as you say, the search is awful) but the USB-C socket holder is quite neat and the Pi 400 riser solid enough to have had a year’s worth of use so far.

8 Likes

Nice little knob :smiley:
I printed some too for a project 2 months ago:

Printables link

It makes little sense to print your own knobs, in terms of economics, but if you really want a specific aesthetic or specific colors, they feel no worse than the commercial plastic stuff.

A deburring tool is invaluable for these, I got a cheapo one from Aliexpress that looks like this:

This way I can print knobs with insufficient tolerances and carve out just the right amount to get a good grip.

7 Likes

Here’s where I printed some adapters to use commercial knobs on my Gakken SX-150:

4 Likes

A nice selection of gadgets!

A simple alternative to the ‘Lead Bender - Breadboard Jumper Tool’ is a piece of perforated board (such as Veroboard, or stripboard) cut diagonally. Easily made from a scrap PCB.

3 Likes

These are the knobs I use. I have customized them using the OpenSCAD files provided by the creator

These are the parts storage boxes I use. It is a very nice system with lots of sizes or drawers available.
https://www.printables.com/model/7643-various-size-stackable-resistor-storage-box/

7 Likes

One thing I thought for knobs is, when I bought a 3D pen, I received a small length of a large assortment of colors. Too small to print anything serious with them, but big enough to print knobs and knob caps. For those of us who want to build a full system with unified aesthetics, it’s worth considering. Look up “PLA PEN” to find products like these:

BTW, if you’re buying a 3D pen purely to weld parts together, like I did, be aware that this is a very dirty technique that produces joints that are both ugly and unreliable. Still, in some situations, it’s perfect to mend some prints.

3 Likes

For small amounts of filament, there are also sample packs available.
For gluing parts together, it depends on the material, if you want to bond like to like. ABS and ASA are easy, you can use acetone. I have heard good things about 3D Gloop, but I have never used it myself. They have different glues for each material.
I have laser cut knob caps and attach them with CA glue, which has worked fine so far. I made the fit a little tight, so that helps.

3 Likes

3d printed front panels anyone?

8 Likes

Oh this is neat! The author is very elusive on the details sadly, but the results look good, and the process probably has room for improvement if you’re willing to edit GCode or do some advanced slicer magic.

Looks like this reddit post has a lot more details:

I’ll definitely experiment with that soon. Posted in another thread, I’ve been exploring the possibility of making translucent faceplates with PETG with decent but not amazing results.

5 Likes

Hello! First post, sorry if formatting or etiquette aren’t up to snuff yet. Here’s my contribution to the 3D printing synth diy post. A simple M3 screw and nut clamp that holds your project board perpendicular to the panel. New users can only post 1 photo but I’ll post more views if wanted!

13 Likes

@Daallee welcome to the forum :slight_smile:

1 Like

Similar idea. I couldn’t find a pan head machine screw of suitable length so I improvised with a second nut under a flat head. I need to tweak the dimensions some more but I think this will work.

[Onshape link:

STL files:

https://www.printables.com/model/324079-synth-pcb-panel-clamp/files

]

6 Likes

A little item I’ve finished today! Passive multiple adapter for 6.35mm and 3.5mm jacks, Banana plugs and DuPont headers — the five types of connectors I use the most.

The STL and detailed build instructions are on this Printables page, I hope it will be useful to someone else!

4 Likes

I just put up some of the IKEA Skadis peg boards. These cable holders are working well for patch cable organization.

2 Likes

I looked online for printable wire spool holders and found a bazillion of them. None that quite suited my taste. So I gave designing one a try.

https://www.printables.com/model/424395-wire-spool-holder

7 Likes

Maybe it’s just me but…

I use both 6.0 mm and 6.35 mm round shaft pots and knobs. Sometimes I can tell the difference by eye. Sometimes not so much. I could whip out my calipers but they might be across the room or down in the basement or out in the garage or some quantum superposition of all three.

So I printed a little gauge I can keep at my electronics workbench.

https://www.printables.com/model/428856-pot-and-knob-shaft-gauge

6 Likes

Hitching a ride on this thread rather than start one, since I’m asking just to gauge interest.

You saw how I’ve been making 3D printed panels for my synths? I don’t mention it every time but I make them out of code.

I’m toying with cleaning up my system to turn it into a more user-friendly library than my collection of copy-pasted standalone hacks.

The main value the library would provide is a collection of footprints tested to work well. For example you can see how the pots have retaining notches, or the jacks have a recessed area.

I’m considering also adding simple display objects that won’t be printed giving you a conservative estimate of the footprint of stuff (how big a jack is, how much clearance there is between knobs of a specific diameter).

Now, the code right now is a bit nasty-looking:

import cadquery as cq

# Base panel
panelWidth = 25
panelHeight = 200 
panelThickness = 4.0 
m3Diameter = 3.4
m2Diameter = 2.6
panel = cq.Workplane("XY").box(panelWidth, panelHeight, panelThickness)

# Slots for M3 screws in the corners
panel = (
    panel.faces(">Z")
    .workplane()
    .rect(panelWidth - m3Diameter * 3, panelHeight - 6, forConstruction=True)
    .vertices()
    .slot2D(m3Diameter * 2.5, m3Diameter, 0)
    .cutThruAll()
)

# Holes for switches in horizontal position
switchWidth = 13.2
switchLength = 8.2
switchHoleDiameter = 6
switchDistance = 12
switchX = 7.5
firstSwitchY = 25
switchesLocations = [
    [7.5, 25],
    [7.5, 35],
    [7.5, 45],
    [7.5, 55],
    [7.5, 65],
    [7.5, 75],
    [7.5, 85],
    [7.5, 95],
]
switchY = firstSwitchY
for pos in switchesLocations:
    panel = (
        panel.faces(">Z")
        .vertices("<XY")
        .workplane(centerOption="CenterOfMass")
        .center(switchX, switchY)
        .hole(switchHoleDiameter)
    )
    panel = (
        panel.faces(">Z")
        .vertices("<XY")
        .workplane(centerOption="CenterOfMass")
        .center(switchX, switchY)
        .rect(switchWidth, switchLength)
        .cutBlind(-panelThickness / 2)
    )
    switchY += switchDistance

# Corresponding Holes for LEDs.
ledDiameter = 5.35
ledOffset = 10.5
ledX = switchX + ledOffset
ledY = firstSwitchY
for pos in switchesLocations:
    pos[0] += ledOffset
    panel = (
        panel.faces(">Z")
        .vertices("<XY")
        .workplane(centerOption="CenterOfMass")
        .center(ledX, ledY)
        .hole(ledDiameter)
    )
    ledY += switchDistance

# Reset button
resetPos = [12.5, 125]
resetInnerHole = 6.7
resetOuterHole = 6.7
panel = (
    panel.faces(">Z")
    .vertices("<XY")
    .workplane(centerOption="CenterOfMass")
    .center(resetPos[0], resetPos[1])
    .hole(resetInnerHole)
)

# Holes for jacks
jackDiameter = 10
jackWidth = 16.2
jackLength = jackWidth
jackLocations = [
    [12.5, 145],
    [12.5, 175],
]
for pos in jackLocations:
    panel = (
        panel.faces(">Z")
        .vertices("<XY")
        .workplane(centerOption="CenterOfMass")
        .center(pos[0], pos[1])
        .hole(jackDiameter)
    )
    panel = (
        panel.faces(">Z")
        .vertices("<XY")
        .workplane(centerOption="CenterOfMass")
        .center(pos[0], pos[1])
        .rect(jackWidth, jackLength)
        .cutBlind(-panelThickness / 3)
    )

I’d like to instead provide a simple syntax that’s closer to how you would think of a synth panel, e.g.:

import cadquery as cq

defaultThickness = 4.0
eurorackHeight = 133.35
kosmoHeight = 200.0


################## Helpers


def hp(hp: float) -> float:
    """Converts Horizontal Pitch to millimeters.

    1 HP == 0.2 inches == 5.08 millimeters"""
    return hp * 5.08


################## Panels


def panel(width: float = 100, height: float = 100, thickness: float = defaultThickness):
    """Returns a rectangular panel of arbitrary dimensions."""
    return cq.Workplane("XY").box(width, height, thickness)


def eurorackPanel(width: float = hp(2), thickness: float = defaultThickness):
    """Returns a Eurorack panel. Width best defined in hp().

    A thickness of 4mm minimum is recommended for solidity."""
    return panel(width, eurorackHeight, thickness)


def kosmoPanel(width: float = 25, thickness: float = defaultThickness):
    """Returns a Kosmo (Metric 5U) panel. Widths should be multiples of 25.

    A thickness of 4mm minimum is recommended for solidity."""
    return panel(width, kosmoHeight, thickness)

Quick show of hands:

  • Any interest in using such a system at all? No real knowledge of Python would be required beyond already knowing how to code a little in any language.
  • Are you willing to tolerate an awkward UI if decent instructions are provided? It’d be a Jupyter notebook in your browser or local software (CQ-Editor) that’s a bit rough around the edges.

For example this is what I use:

7 Likes

After working on it a bit, this is what I got so far, you can see that the syntax makes a lot more sense. Lemme know if there is interest to document / polish it for release.

6 Likes

I’m interested.
It will be mostly for prototyping.
I have no need for a GUI.

2 Likes