Putting a Solenoid on a Keyboard Adds a Satisfying Kick

Dissatisfied with the mere click of mechanical key switches, Joe Scotto put a solenoid on his Scotto34 keyboard to add some serious kick.

Cameron Coward
5 months ago

Talk to any random keyboard enthusiast (yes, we exist) and you will, without a doubt, find that they like mechanical keyboards. Why do enthusiasts like mechanical keyboards? There are many reasons, including customizability and ergonomics. But the biggest factor is the irresistible “clickiness” of mechanical keyboards. Though quiet mechanical key switches do exist, most of them have a tactile break and an audible snap that is very satisfying. But what if even that isn’t enough? Joe Scotto pushed things to the limit by putting a solenoid onto his custom mechanical keyboard to add even more kick.

The keyboard in question is Scotto’s appropriately named Scotto34, which has — you guessed it — 34 keys. It takes minimalism to an extreme and is very compact. The key switches are all hand-wired, because Scotto enjoys that process. A Raspberry Pi Pico development board monitors that hand-wired keyboard matrix and reports the results to the computer connected through USB. That’s all very straightforward and, while interesting to those of us who care about keyboards, isn’t exactly groundbreaking. The solenoid addition, on the other hand, should intrigue everyone who visits Hackster.

Scotto starts his video by demonstrating the idea with a single-key mockup. That has a Waveshare RP2040-Zero development board, one mechanical key sans cap, a PCB with a simple transistor circuit, a solenoid, and some Blu Tack holding it altogether. Whenever the RP2040 registers a key press, it sends power to the solenoid through that transistor. That solenoid actuation dramatically enhances the normal key switch click.

To move that concept over to the Scotto34 keyboard, Scotto designed a suitable PCB and milled it out on a Makera Carvera Air desktop CNC mill. I recently reviewed the Carvera Air and it is perfect for this sort of thing (and much more). As with the mockup, that PCB’s main purpose is to host the transistor circuit.

Microcontroller development boards can’t supply much current through their GPIO pins and solenoids need quite a bit of current. The transistor here acts as a digitally controlled switch, so the RP2040 can send power directly from the USB input to the solenoid. Scotto was able to omit the Waveshare RP2040-Zero board, because it would have been redundant when the Scotto34 already has the Pico.

The Scotto34 runs QMK firmware and Scotto was able to make a small tweak to that, telling it to briefly toggle the transistor pin with every key press. The solenoid does have a hard time keeping up with fast typing, but the additional feedback is still very satisfying.

Cameron Coward
Writer for Hackster News. Proud husband and dog dad. Maker and serial hobbyist. Check out my YouTube channel: Serial Hobbyism
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles