Building a DIY Stenographic Keyboard - Part 1
I'm attempting to build a stenographic keyboard - this is Part 1 of my attempt - There is no guarantee that it'll be successful so there may no be a part 2!
I found the really interesting software Plover and the Open Steno Project which is attempting to make stenography open source. I've tried the Plover driver and had reasonable success using a mechanical keyboard (a Technnet X705) but felt that having proper stenographic keyboard would be much better as trying to use the keys on a standard keyboard is a little bit awkward.
Steno keyboards cost an absolute fortune - hundreds or thousands of dollars for the ones I found - so that was not an option. Enter my 3D printer and a spare weekend!
The first step was to put together a list of components:
- A layout showing what a steno keyboard looks like Note: I'm only building a keyboard with these keys at the moment as a test - A real steno keyboard has some extra keys such as the number bar.
- 22 Mechanical keyboard switches
- 22 Keycaps to go on the switches
- Some sort of case to mount the keys on
- Some electronics to make the magic happen!
I did some research and found that the Teensy 2.0 board could be used as a keyboard controller and supports NKRO, if you add diodes, which is essential for a steno keyboard. Note: with only 22 keys, I could probably get NKRO without the diodes but I may want to expand this in future.
Playing about with ideas for the switches and keycaps, I decided to buy a cheap mechanical keyboard and use it for parts. If I mount the switches correctly, I can get the spacing of the keycaps correct.
I bought a Zalman ZM-K500 USB Mechanical Keyboard from Amazon. When I tried it, I found that the 'A' key didn't work - I'm not impressed with the quality control at Zalman!
I pulled the keys off and played about with layouts, and with sanding the letters off the keycaps.
I desoldered the switches (a solder-sucker made this much easier!) then started taking some measurements to let me design the case.
I then printed a quick test on my 3D printer - it turned out the holes were too small so I increased both dimensions by a mm (13.5 x 14mm) - I deliberately made the measurements smaller so that I could adjust the hole to make the switch a tight fit.
I then did a quick design in Sketchup and exported it for printing.
The print took about 10 hours to run, so I left it printing overnight.
After cleaning up the print, and shaving the inside of the holes to get the switches to fit, I tested a small group of switches and keycaps to make sure they fit correctly and the spacing was good. I had already decided that the big buttons were too large on my original layout so I swapped them for slightly smaller keycaps.
The keyboard actually looks good with all the keys in place.
In Part 2, I'll start wiring!