Parametric Potentiometer Knob with OpenSCAD

by stevecooley, published

Parametric Potentiometer Knob with OpenSCAD by stevecooley Mar 31, 2012
2 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

11443Views 4541Downloads Found in Electronics


This script has a lot of variables you can tweak. Research continues, but there's a lot to work with now.

Version 1.1 now lets you adjust the arrow indicator with more parameters.


One of the most stressful things about making multiple copies of an electronics project is reliably locating interface controls that you like. Maybe you can locate them one time, but can you locate them a year from now? two years from now? And how much do they cost?

For example, I found some slide potentiometer knobs at Mouser.com for about $0.50 apiece two years ago, and they ran out of them... forever. I tried sourcing them elsewhere, and the best I could find was a seller that had them for $4.00 apiece (!!wtf!!). So that really sucks.

One strategy is to buy in bulk. But, buy too few and you may run out and pay twice for shipping. Buy too many and you end up with unused knobs sitting around not making your money back. That also sucks.

Round potentiometer knobs are somewhat readily available. But still, they can be from $0.80 to $5.00 each, and if you can't find enough for your project, that can be problematic. Mostly I'm tired of paying multiple dollars for things that should basically cost $0.25 apiece. Aesthetics are important too, so having options beyond what's out there is nice.

A different strategy is to print them yourself as you need them. No shipping, no running out, and you get to call the shots on how it looks and how it fits. Now, I like this way. Plus, for my project, making the knobs just goes along with the rest of the stuff I've done myself.


download the openscad script and take a look at the first oh, hundred lines or so. These are the parameters.

An incomplete list of parameters you can adjust:

knob radius
knob height
shaft hole radius
shaft hole height
flatness of shaft hole
rounding on top (thanks very much to http://iheartrobotics.com for the articles on edge rounding!)
directional indicators
plus a lot more!

I've posted a bunch of info and screenshots at my blog: http://bit.ly/HGB3h0

More from Electronics

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for clients all over the world. We offer free and instant access to comparati...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App
Comments deleted.


Just a comment with respect to the script comments:

the ct parameter appears to be the offset for the smoothing radius on the top of the knob.


in your picture I can see a seam where your subtracted sphere joins a cylinder.

hint: you can get rid of this by using hull() with two spheres instead of union with sphere and cylinder :)

I've just been getting into using hull() myself, it's awesome for joining things and making manifold tangent
s and stuff like that.

should be able to hull a toroid and a cylinder to get your rounded knobs too with a totally manifold mesh!


Oh, sweet! Thanks for the feedback, I'll give that a try.

Oh, ok. Huh. Hmm. Let me think about that some more. I see how it works. Hmm.