ebb512db82
* Clean up `DEBOUNCE` in config.h, 0-9 * Clean up `DEBOUNCE` in config.h, A * Clean up `DEBOUNCE` in config.h, B * Clean up `DEBOUNCE` in config.h, C * Clean up `DEBOUNCE` in config.h, D * Clean up `DEBOUNCE` in config.h, E * Clean up `DEBOUNCE` in config.h, F * Clean up `DEBOUNCE` in config.h, G * Clean up `DEBOUNCE` in config.h, H * Clean up `DEBOUNCE` in config.h, handwired * Clean up `DEBOUNCE` in config.h, I * Clean up `DEBOUNCE` in config.h, J * Clean up `DEBOUNCE` in config.h, K * Clean up `DEBOUNCE` in config.h, L * Clean up `DEBOUNCE` in config.h, M * Clean up `DEBOUNCE` in config.h, N * Clean up `DEBOUNCE` in config.h, O * Clean up `DEBOUNCE` in config.h, P * Clean up `DEBOUNCE` in config.h, Q * Clean up `DEBOUNCE` in config.h, R * Clean up `DEBOUNCE` in config.h, S * Clean up `DEBOUNCE` in config.h, T * Clean up `DEBOUNCE` in config.h, U * Clean up `DEBOUNCE` in config.h, V * Clean up `DEBOUNCE` in config.h, W * Clean up `DEBOUNCE` in config.h, X * Clean up `DEBOUNCE` in config.h, Y * Clean up `DEBOUNCE` in config.h, Z * Remove default debounce from info.json * Migrate non-default debounce to info.json |
||
---|---|---|
.. | ||
keymaps | ||
config.h | ||
info.json | ||
modelm101.c | ||
modelm101.h | ||
readme.md | ||
rules.mk |
modelm101
This is a configuration for the QMK firmware for reversible conversion of IBM's Model M keyboards (common 101-key ANSI and 102-key ISO models) from stock, power-hungry controller, to a modern one, running the USB bus.
Configuration is build for the Atmel AT90USB1286 controller, which you can easily use on the Teensy 2.0++ board (produced by PJRC).
Project is heavely based on 2 other projects:
- Teensy 2.0++-based custom Model M controller running TMK firmware ('modelm" by lmorchard); - had a few issues.
- Teensy 2.0++-based custom Model M 122-key controller running QMK firmware ("ibm122m" by lukexorz); - had wrong layout for 101/102-key boards and no status LED support.
For this conversion you will need:
- Teensy 2.0++ dev board itself (can be used a different dev board, but it will require some changes in configuration);
- Ribbon connectors to connect the membrane to a dev board. Depending on your Model M variation, you will need 1 Trio-mate 16pin connector (6-520315-6 or 6-520415-6) and 1 Trio-mate 8pin connector (5-120628-8 or 5-520314-8), or 2 Trio-mate 16pin connectors;
- Full-sized breadboard (without power rails; half-size should do, but full-sized one looks more native) or a PCB to wire everything up;
- A bunch of jumper wires;
- mini-USB male cable with any USB socket you want to use to connect Teensy inside the keyboard to your PC (I use short mini-USB male to mini-USB female cable);
- (optional) Resistors for connecting status LEDs if your LED PCB doesn't have any;
- (optional) Double-sided tape to fix USB socket on or inside the keyboard case.
Pins of the Teensy board you should use by default:
Columns: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Pins: C7 C6 C5 C4 C3 C2 C1 C0 E1 E0 D7 D6 D5 D4 D3 D2
--------------------------------------------------------
Rows: 1 2 3 4 5 6 7 8
Pins: F7 F6 F5 F4 F3 F2 F1 F0
--------------------------------------------------------
Status LEDs: CapsLock +5V ScrollLock NumLock
Pins: B6 5V B5 B4
Please note that some versions of Model M have LED connected with a ribbon cable, and not with separate wires.
Keyboard Maintainer: iw0rm3r
Hardware Supported: Teensy 2.0++ board by PJRC
Hardware Availability: https://www.pjrc.com/store/teensypp.html
Make example for this keyboard (after setting up your build environment):
make converter/modelm101:default:teensy
See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.