Hi Everyone,
I've been very interested recently to add a solenoid to an IBM model M keyboard. I'm hoping if anyone that who has achieved this could point me in the right direction. I've read about using a teensy with a breadboard or even some sort of PCB controller but I've rarely seen any for a Model M.
Model M
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Take a look through these:
search.php?keywords=solenoid+driver&ter ... mit=Search
I've not done this to a Model M so can't speak from that experience, but what you're ultimately after is a solenoid (obviously) and solenoid driver to actually power it. That driver is available for Model F keyboards, and you may well be able to trigger it in an M. Precisely how? Other threads and people may be able to help.
I've had an Xwhatsit solenoid driver in my beamspring for years and they certainly provide that vintage IBM jackhammer madness!

The IBM original solenoid is top right, and the solenoid driver board is top left. See how it connects to the controller? That will be your challenge.
search.php?keywords=solenoid+driver&ter ... mit=Search
I've not done this to a Model M so can't speak from that experience, but what you're ultimately after is a solenoid (obviously) and solenoid driver to actually power it. That driver is available for Model F keyboards, and you may well be able to trigger it in an M. Precisely how? Other threads and people may be able to help.
I've had an Xwhatsit solenoid driver in my beamspring for years and they certainly provide that vintage IBM jackhammer madness!
The IBM original solenoid is top right, and the solenoid driver board is top left. See how it connects to the controller? That will be your challenge.
-
- Location: Des Moines / Cedar Falls, IA, USA
- Main keyboard: IBM Model F107
- DT Pro Member: 0190
This is kind of an obscure post of mine, but I did it back in 2015 with an SSK (membrane) and an M0110 (SKCC ALPS) using an Xwhatsit controller wired to the matrix. From there, you can just plug in the corresponding solenoid driver and solenoid.
https://geekhack.org/index.php?topic=69394.0
Essentially, it's taking a controller that already supports a solenoid like an Xwhatsit model F controller and hooking it up directly to the matrix.
The limitation here with the original controller anyway is that you have a max matrix size of 16x8 which works for SSKs, but not full size M's at least with their original matrix.
I believe there are newer capsense projects that support larger matrices, but I haven't personally tried them. You might check this out as well: viewtopic.php?t=23406
Hope that helps, though I suspect most would prefer a more "plug and play" solution
https://geekhack.org/index.php?topic=69394.0
Essentially, it's taking a controller that already supports a solenoid like an Xwhatsit model F controller and hooking it up directly to the matrix.
The limitation here with the original controller anyway is that you have a max matrix size of 16x8 which works for SSKs, but not full size M's at least with their original matrix.
I believe there are newer capsense projects that support larger matrices, but I haven't personally tried them. You might check this out as well: viewtopic.php?t=23406
Hope that helps, though I suspect most would prefer a more "plug and play" solution

- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Before you go following Orihalcon down into his delightful rabbit hole, I'll just point out that Model Ms are *not* capacitive keyboards so do not need capsense controllers. Orihalcon hacked one into an SSK because it and its firmware already worked with Xwhatsit's solenoid driver. But as he says: a full size Model M matrix is too big. What he didn't say is that a Model M matrix is not hackable (by any sensible means) so you're bang into a dead-end on that strategy!
Fortunately, solenoid drivers don't need a capsense controller to trigger them. It's just a binary signal to tell them to fire. Other controllers now work for this. If I wanted to do it myself, I'd probably reflash my Phosphorglow drop-in Model M controller with QMK and drive a solenoid driver with that. But again, that's because I have those parts and know that firmware. Other options are (more easily) available.
Fortunately, solenoid drivers don't need a capsense controller to trigger them. It's just a binary signal to tell them to fire. Other controllers now work for this. If I wanted to do it myself, I'd probably reflash my Phosphorglow drop-in Model M controller with QMK and drive a solenoid driver with that. But again, that's because I have those parts and know that firmware. Other options are (more easily) available.
- jsheradin
- Location: USA
As Mu said, QMK has solenoid support baked in and can work with any controller that has an extra pin. See documentation here: https://github.com/qmk/qmk_firmware/blo ... #solenoids
You should be able to steal the timing info from any board that uses the same solenoid and driver. You can build a solenoid driver using the schematic from Adafruit or just get one from Ellipse's site along with the solenoid.
You should be able to steal the timing info from any board that uses the same solenoid and driver. You can build a solenoid driver using the schematic from Adafruit or just get one from Ellipse's site along with the solenoid.