Make Your Own Pot And Encoder Knobs, Without Reinventing Them

Rotary potentiometers, switches, and encoders all share a basic design: adjustment is done via a shaft onto which a knob is attached, and knobs are sold separately. That doesn’t mean one knob fits all; there are actually a few different standards. But just because knobs are inexpensive and easily obtained doesn’t mean it’s not worth making your own.

A simple and effective indicator can be easily printed in a contrasting color.

Why bother 3D printing your own knobs instead of buying them? For one thing, making them means one can rest assured that every knob matches aesthetically. The ability to add custom or nonstandard markings are another bonus. Finally, there’s no need to re-invent the wheel, because [Tommy]’s guide to making your own knobs has it all figured out, with the OpenSCAD script to match.

By default, [Tommy]’s script will generate a knob with three shims (for interfacing to a splined shaft) when pot_knob(); is called. The number of shims can be adjusted by modifying potKnobDefaultShimCount. To give the knob a flat side (to interface with D-shafts), change flatted = false to flatted = true. And for adding a screw insert suitable for a set screw? Change tightenerDiameter = 0 from zero to the diameter desired.

The script is quite comprehensive and has sensible defaults, but it does require a bit of knowledge about OpenSCAD itself to use effectively. We have covered the basics of OpenSCAD in the past, and if you’re ready for a resource that will help you truly master it, here’s where to look.

Custom Printed Knobs In Just A Few Lines Of Code

While not everyone is necessarily onboard for the CAD-via-code principle behind OpenSCAD, there’s no denying the software lends itself particularly well to parametric designs. Using a few choice variables, it’s possible to make a model in OpenSCAD that can be easily tweaked by other users — even if they have zero prior experience with CAD.

Take for example this parametric-knob-maker written by [aminGhafoory]. The code clocks in at less than 100 lines, but if you’re looking to spin up your own version, all you really need to pay attention to are the clearly labeled variables up at the top. Just plug in your desired diameter and height, fiddle around a bit with the values that get fed into the grip generating function, and hit F7 to export it to an STL ready for printing.

Now admittedly, all the knobs generated with this code will look more or less the same. But that’s the beauty of open source, should you want to print out some wild looking knobs, you can at least use this code as a basis to build on. With the core functionality in place, you just need to concern yourself with writing a new function to generate a grip texture more to your liking.

Of course, if you want to make your OpenSCAD designs even easier for others to modify, you’ll want to look into its impressive customizer capability which replaces manually edited variables with friendly sliders and text input boxes. Projects like the Ultimate Box Maker we looked at back in 2018 are an excellent example of how powerful OpenSCAD can be if you give your design the proper forethought.

Odd Inputs And Peculiar Peripherals: RoenDi Smart Knob Thinks Outside The Box

When it comes to design decisions, we’re often advised to “think outside the box.” It’s generally good advice, if a bit abstract — it could really mean anything. But it appears that someone took it quite literally with this nifty little smart knob display and input device.

[Dimitar]’s inspiration for RoenDi — for “rotary encoder and display” — came from an unusual source: a car dashboard, and specifically, the multipurpose knobs that often crop up in a car’s climate control cluster. Designed for ease of use while driving while causing as little distraction as possible, such knobs often combine a rotary encoder with one or more indicators or buttons. RoenDi builds on that theme by putting a 1.7″ round LCD display in the middle of a ring attached to an Alps rotary encoder, allowing the knob to be customized for whatever you want it to represent. The backplane sports a powerful STM32 microcontroller with a lot of the GPIO pins broken out, so customization and interfacing are limited only by your imagination. The design is open source, so you can either build your own or support the project via Crowd Supply.

Unlike the haptic smart knob we’ve been seeing a bit about lately, which also features a round LCD at its center, RoenDi’s feedback is via the physical detents on the encoder. We think both devices are great, and they fill different niches in the novel input ecosystem.

Continue reading “Odd Inputs And Peculiar Peripherals: RoenDi Smart Knob Thinks Outside The Box”

An In-Depth Look At The Haptic Smart Knob

At Hackaday, we love those times when we get a chance to follow up on a project that we’ve already featured. Generally, it’s because the project has advanced in some significant way, which is always great to see. Sometimes, though, new details on the original project are available, and that’s where we find ourselves with [Scott Bez] and his haptic smart knob project.

Alert readers may recall [Scott]’s announcement of this project back in March. It made quite a splash, with favorable comments and a general “Why didn’t I think of that?” vibe. And with good reason; the build quality is excellent, and the idea is simple yet powerful. By attaching a knob to the shaft of a brushless DC motor and mounting a small circular LCD screen in the middle, [Scott] came up with an input device that could be reprogrammed on the fly. The BLDC can provide virtual detents at any interval while generating haptic feedback for button pushes, and the LCD screen can provide user feedback.

But how is such a thing built? That’s the subject of the current video, which has a ton of neat design details and build insights. The big challenge for [Scott] was supporting the LCD screen in the middle of the knob while still allowing the knob — and the motor — to rotate. Part of the solution was, sadly, a hollow-shaft motor that was out of stock soon after he released this project; hopefully a suitable replacement will be available soon. Another neat feature is the way [Scott] built tiny strain gauges into the PCB itself, which pick up the knob presses that act as an input button. We also found the way button press haptics are provided by a quick jerk of the motor shaft very clever.

This is one of those projects that seems like a solution waiting for a problem, and something that you’d build just for the coolness factor. Hats off to [Scott] for following up a sweet build with equally juicy details.

Continue reading “An In-Depth Look At The Haptic Smart Knob”

OLED Display Kicks Knob Up Several Accurate Notches

As far as input devices go, the potentiometer is pretty straightforward: turn it left, turn it right, and you’ve pretty much seen all there is to see. For many applications that’s all you need, but we can certainly improve on the experience with modern technology. Enter this promising project from [upir] that pairs a common potentiometer with a cheap OLED display to make for a considerably more engaging user experience.

To save time, the code is fine tuned in a simulator.

The basic idea is to mount the display over the potentiometer knob so you can show useful information such a label that shows what it does, and a readout of the currently detected value. But you’ll likely want to show where the knob is currently set within the range of possible values as well, and that’s where things get interesting.

In the video after the break, [upir] spends a considerable amount of time explaining the math behind details like the scrolling tick marks. The nearly 45 minute long video wraps up with some optimization, as getting the display to move along with the knob in real-time on an Arduino UNO took a bit of extra effort. The final result looks great, and promises to be a relatively cheap way to add an elegant and functional bit of flair to an otherwise basic knob.

With the code and this extensive demonstration of how it all works, adding a similar capability to your next knob-equipped gadget shouldn’t be too much of a challenge. Perhaps it could even be combined with the OLED VU meters we’ve covered previously. Be sure to let us know if you end up using this technique, as we’d love to see it in action.

Continue reading “OLED Display Kicks Knob Up Several Accurate Notches”

3D Printed Absolute Encoder Is Absolutely Wonderful

When you need to record the angle of something rotating, whether it’s a knob or a joint in a robotic arm, absolute rotary encoders are almost always the way to go. They’re cheap, they’re readily available, and it turns out you can make a pretty fantastic one out of a magnetic sensor, a zip tie, and a skateboard bearing.

When [Scott Bezek] got his hands on a AS5600 magnet sensor breakout board, that’s just what he did. The sensor itself is an IC situated in the middle of the board, which in Scott’s design sits on a 3D-printed carrier. A bearing mount sits atop it, which holds — you guessed it — a bearing. Specifically a standard 608 skateboard bearing, which is snapped into the mount and held securely by a zip tie cinched around the mount’s tabs. The final part is a 3D-printed knob with a tiny magnet embedded within, perpendicular to the axis of rotation. The knob slides into the bearing and the AS5600 reads the orientation of the magnet.

Of course, if you just wanted a rotary knob you could have just purchased an encoder and been done with it, but this method has its advantages. Maybe you can’t fit a commercially-available encoder in your design. Maybe you need the super-smooth rotation provided by the bearing. Or maybe you’re actually building that robotic arm — custom magnetic encoders like this one are extremely common in actuator design, and while the more industrial versions (usually) have fewer zip ties, [Scott]’s design would fit right in.

Continue reading “3D Printed Absolute Encoder Is Absolutely Wonderful”

This Week In Security: KNOB, Old Scams Are New Again, 0-days, Backdoors, And More

Bluetooth is a great protocol. You can listen to music, transfer files, get on the internet, and more. A side effect of those many uses is that the specification is complicated and intended to cover many use cases. A team of researchers took a look at the Bluetooth specification, and discovered a problem they call the KNOB attack, Key Negotiation Of Bluetooth.

This is actually one of the simpler vulnerabilities to understand. Randomly generated keys are only as good as the entropy that goes into the key generation. The Bluetooth specification allows negotiating how many bytes of entropy is used in generating the shared session key. By necessity, this negotiation happens before the communication is encrypted. The real weakness here is that the specification lists a minimum entropy of 1 byte. This means 256 possible initial states, far within the realm of brute-forcing in real time.

The attack, then, is to essentially man-in-the-middle the beginning of a Bluetooth connection, and force that entropy length to a single byte. That’s essentially it. From there, a bit of brute forcing results in the Bluetooth session key, giving the attacker complete access to the encrypted stream.

One last note, this isn’t an implementation vulnerability, it’s a specification vulnerability. If your device properly implements the Bluetooth protocol, it’s vulnerable.

CenturyLink Unlinked

You may not be familiar with CenturyLink, but it maintains one of the backbone fiber networks serving telephone and internet connectivity. On December 2018, CenturyLink had a large outage affecting its fiber network, most notable disrupting 911 services for many across the United States for 37 hours. The incident report was released on Monday, and it’s… interesting.
Continue reading “This Week In Security: KNOB, Old Scams Are New Again, 0-days, Backdoors, And More”