IBM Terminal Model M chopped to SSK size with Hasu's TMK Converter

May 20, 2019

Converting a 103-key terminal Model M keyboard to a “fake ssk”.



Cut down the case

  • remove the keycaps and unscrew the case screws
  • measure and cut top case along each side of numpad
  • measure and cut bottom case keeping flip foot and support rib (cut goes through rubber front foot hole; make sure the cut is the same width as the top plate)
  • check pieces for fit
  • sand, glue and clamp (used jb clear-weld epoxy)
  • cut the 4th screw bracket from the junk section of top case
  • glue screw bracket to new top case
  • check top and bottom case for fit and alignment of screw holes
  • trim sides of the leftmost/rightmost lock tabs on the top case if needed
  • file down excess epoxy
  • paint along the cut (?)

Cut the backplate and barrel plate

  • remove the rivets from the backplate and separate the pieces
  • take a photo of the hammer positions
  • remove the hammers and put them in a jar
  • glue ribs of the barrel plate if they’re cracking
  • cut the steel backplate with a dremel
  • cut the plastic barrel plate with a saw
  • trim the rubber mat to match the barrel plate
  • leave the membrane sheets intact, but snip the edges so they fold back easier
  • drill a hole in the top right corner of the backplate to match the one in the top left (measure carefully)
  • screw (/bolt) mod the barrel plate
  • reassemble barrel plate, mat, membranes and backplate and screw (/bolt) them together

Specific tmk changes for a 3.3V pro micro and iso layout:

  • change cpu speed to 8mhz
  • comment KEYMAP and uncomment KEYMAP_101
  • add k13 and k53 codes to keymap in 2 places
  • add NUHS and NUBS to keymap

Compile the tmk converter

  • download and install freematics arduino builder and mingw
  • open mingw
  • add freematics avr folder (containing avr-gcc.exe) to path if needed
  • cd tmk_keyboard/converter/terminal_usb
  • make

Flash pro micro via Freematics Arduino Builder

  • open freematics arduino builder
  • load the .hex file
  • plug in the pro micro
  • click COM1
  • when the message appears in the console, short the RESET pin to GND twice (to enter bootloader)
  • a new COM port should be found and the .hex will be flashed
  • if you get a timeout error (no new port found), try repeatedly

Build the adapter

  • cut the original cable where it enters the case
  • use the short end with the internal connector for the controller (set aside the long remaining piece of cable with the rj45 end)
  • save the rubber cable guard for reuse
  • identify the wires based on hasu’s diagrams (5V, clock, data, and ground)
  • solder the 4 wires from the original cable end to the pro micro
  • for a 3.3V pro micro, ensure to solder the 5V line from the keyboard to RAW instead of VCC
  • I soldered the shield connector from the cable to pro micro GND, but this might not be necessary
  • attach the pro micro to the keyboard controller
  • either use a panel mount microusb extension or some kind of strain relief for the usb cable (or you’ll damage either the usb port or the solder points on the pro micro)