

IBM ModelM-101
A STM32-based USB keyboard firmware.
- Size
- 175.4 × 50 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 64
- Nets
- 66
- Pads
- 225
- Tracks, vias
- 556, 60
- Pours
- 5
- Routed
- Yes
- KiCad
- KiCad 4
- Created
- 13 May 2016
- Updated
- 13 Jul 2020
Overview
IBM ModelM-101 is an open-source printed circuit board by idpromnut, from the idpromnut/usb-keyboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 175.4 × 50 mm with 64 parts on 66 nets, routed with 556 tracks and 60 vias.
It is built around the STM32F102C6T6A, TLV70233DBV and USBLC6-2SC6. Its parts include 24 resistors, 12 capacitors, 7 connectors, 2 ICs and 2 switches. It belongs with the STM32 boards of this library.
Main components
3STM32F102C6T6A
LQFP-48(7x7)-40℃~+85℃ 12bit 2V~3.6V 32 Bit 32KB 37 48MHz 6KB ARM Cortex-M3 Built-in FLASH LQFP-48(7x7) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)TLV70233DBV
SOT-23-5-40℃~+125℃@(Tj) 1 3.3V 300mA 35uA 375mV@(300mA) 48uVrms 5.5V 68dB@(1kHz) Fixed Over Current Protection、Over Temperature Protection Positive SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsUSBLC6-2SC6
SOT-23-60.35pF、0.8pF 100nA 150W@8/20us 15V 2 5V 6A@8/20us 6V ESD SOT-23-6 ESD and Surge Protection (TVS/ESD) ROHSUMWESD And Surge Protection (TVS/ESD)
README
README.mdUSB Keyboard Firmware Project
This project started out as a STM32F103 firmware to convert the IBM Model M into a USB keyboard using the existing case, keys and membrane of the IBM Model-M 101 keyboard.
References:
- idollar for an excellent map of keys to the membrane in the Model-M keyboard (https://deskthority.net/workshop-f7/universal-model-m-controller-t9820.html#p207736)
Parts
64| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 2K | IPC7351-Nominal:RESC1608X50 | R2, R10, R14, R15, R17, R18, R19, R20, R21, R22, R23, R24 |
| 6 | 100nF | IPC7351-Nominal:CAPC1608X55 | C1, C2, C4, C5, C8, C12 |
| 4 | 10K | IPC7351-Nominal:RESC1608X50 | R7, R8, R9, R11 |
| 2 | 100K | IPC7351-Nominal:RESC1608X50 | R5, R12 |
| 2 | 1uF | IPC7351-Nominal:CAPC2012X70 | C3, C6 |
| 2 | 20pF | IPC7351-Nominal:CAPC1608X55 | C10, C11 |
| 2 | 22R | IPC7351-Nominal:RESC1608X50 | R3, R4 |
| 1 | 10uF | IPC7351-Nominal:CAPC2012X70 | C7 |
| 1 | 1K5 | IPC7351-Nominal:RESC1608X50 | R6 |
| 1 | 1uF | IPC7351-Nominal:CAPC1608X55 | C9 |
| 1 | 3V3_PWR_GOOD | smd-semi:LED-0603 | DS2 |
| 1 | 4K7 | IPC7351-Nominal:RESC1608X50 | R1 |
| 1 | 5V_PWR_GOOD | smd-semi:LED-0603 | DS1 |
| 1 | 8MHz | smd-non-ipc:Abracon-ABM2 | X1 |
| 1 | BOOT0 | manuf:TE-FSMSM | SW1 |
| 1 | CAPS LOCK | smd-semi:LED-0603 | DS4 |
| 1 | CHASSIS_GROUND | conn-molex:CONN-MOLEX-0197134001-TAB | J4 |
| 1 | CONN-MOLEX-0670688000-USB-B | conn-molex:CONN-MOLEX-0670688000-USB_B | J1 |
| 1 | DEBUG_FTDI | conn-100mil:CONN-100MIL-M-1x6 | J6 |
| 1 | JTAG | conn-100mil:CONN-100MIL-M-2x10-SHROUD | J7 |
| 1 | JTAG_3V3 | IPC7351-Nominal:RESC1608X50 | R16 |
| 1 | JTAG_5V | IPC7351-Nominal:RESC1608X50 | R13 |
| 1 | KEYBOARD_ACTIVE_LINES | conn-100mil:CONN-100MIL-F-1x8 | J2 |
| 1 | KEYBOARD_INPUT_LINES | conn-100mil:CONN-100MIL-F-1x16 | J3 |
| 1 | LOGO | hardware:ModelMUsb | G*** |
| 1 | LOGO | hardware:IBM-Model-M-Neg | G*** |
| 1 | NUM LOCK | smd-semi:LED-0603 | DS5 |
| 1 | PA0 | smd-semi:LED-0603 | DS6 |
| 1 | PA1 | smd-semi:LED-0603 | DS7 |
| 1 | PA2 | smd-semi:LED-0603 | DS8 |
| 1 | PA3 | smd-semi:LED-0603 | DS9 |
| 1 | PA4 | smd-semi:LED-0603 | DS10 |
| 1 | PA5 | smd-semi:LED-0603 | DS11 |
| 1 | PA6 | smd-semi:LED-0603 | DS12 |
| 1 | PA7 | smd-semi:LED-0603 | DS13 |
| 1 | RESET | manuf:TE-FSMSM | SW2 |
| 1 | SCROLL LOCK | smd-semi:LED-0603 | DS3 |
| 1 | STATUS_LEDS | conn-100mil:CONN-100MIL-M-1x4-SHROUD | J5 |
| 1 | STM32F102C6 | IPC7351-Nominal:QFP50P900X900X160-48 | U2 |
| 1 | TLV70233DBV | smd-semi:SOT-23-5 | U1 |
| 1 | USBLC6-2SC6 | smd-semi:SOT-23-6 | DZ1 |
More from idpromnut/usb-keyboard
1- 2 layers150 × 50 mm

Similar boards
- 2 layers84.6 × 84.6 mm

- 4 layers36 × 36 mm

- 4 layers24.1 × 37 mm

- 2 layers85 × 75 mm

Pivi shield
sentrisense/pivi-hardware
Part of the PIVI smart meter. Kicad designs of the PIVI sensor board.
120 parts1 - 2 layers36 × 36 mm

- 2 layers88.5 × 56.8 mm

Generic bottom test jig
chickadee-tech/g-test-bot
Generic Test Jig Bottom for Polystack boards
49 parts - 2 layers36 × 36 mm

- 2 layers36 × 36 mm

Questions
How big is the IBM ModelM-101 PCB?
It measures 175.4 × 50 mm and has 2 copper layers, 1.6 mm thick.
What parts does the IBM ModelM-101 use?
64 parts, built around the STM32F102C6T6A, TLV70233DBV and USBLC6-2SC6. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the IBM ModelM-101 KiCad files?
From the idpromnut/usb-keyboard repository on GitHub, at the commit this page was made from: the board is hardware/IBM-ModelM-101.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the IBM ModelM-101 design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).