Skip to the content
PCBKitNew board
2 layers118.3 × 38.9 mmController, the printed circuit board in 3D

A modern yet simple Model M replacement controller

Size
118.3 × 38.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
22
Nets
42
Pads
150
Tracks, vias
442, 40
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
29 Oct 2019
Updated
30 May 2023

Overview

Controller is an open-source printed circuit board by ashpil, from the ashpil/Model-M-Type-C repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 118.3 × 38.9 mm with 22 parts on 42 nets, routed with 442 tracks and 40 vias.

It is built around the AT90USB1286-AU and PRTR5V0U2X. Its parts include 7 capacitors, 6 resistors, 3 connectors, 2 ICs and 1 switch. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

Model M Type C

This is a project with the simple goal of recreating the old IBM Model M keyboard controller with modern technologies in mind.

Board Render

Motivation

Although the IBM Model M is perhaps the most well-known and popular of old keyboards, it isn't equipped with some modern ameneties we have grown used to enjoying. Key features that the Model M lacks are Windows and Media keys(or, broader, firmware-level repogramability), as well as a hotswappable connection with a modern interface. This controller is designed to bring 21st century features to a 20th century keyboard.

Goals

  • Native USB C
  • Hotswappable
  • Fully configurable with QMK compatibility
  • Less power draw
  • Complete reversability

Usage

Note: If your Model M has two ribbon cables with a 16-12 split rather than the three connectors with 16-8-4 split, see this issue.

  1. Print the board either using a cheap foreign service such as JLCPBC for around $6 + shipping, or a domestic service such as OSH Park for around $35. Someone also seems to be selling a PCB for this on eBay, which is totally a scam for $47.95. Does make me feel flattered, though.
  2. Order the components- part list from Digikey. USB-C port needs to be bought elsewhere, I recommend here. $15 total for components. If your LEDs connect via a ribbon, get this instead of the JST 4 pin connector. I used this cable as a riser cable to connect the controller's USB C port to the side of the keyboard. Unfortunately, due to size conflicts, this cannot be done without a riser cable if you want the external usb c cable to be detachable. This brings total component cost to $25 without shipping.
  3. Put it together. It's possible to solder these SMD components manually with a soldering iron, but if you are able to find a hot air gun or a reflow oven, it'll be significantly easier. Reference the visual BOM to see what goes where.
  4. 3D print the USB-C cable dock. You can mount this on top of the board for it to look near-native. Attach the riser cable to the dock with some hot glue or epoxy.
  5. Connect the ribbon cables and LED wires, and mount the PCB in the same way the old PCB was mounted. Attach the USB-C dock on top of that.
  6. Install firmware.

Firmware

This board is fully compatible with QMK. This is a default QMK configuration, so all you need to do is run this from your QMK directory when you are ready:

text
make ashpil/modelm_usbc:default:flash

Check here for details.

Alternatively you can use the Vial firmware. Setup is analogous to QMK, clone the Vial repo and run:

text
make ashpil/modelm_usbc:vial:flash

Other

If you have any problems/comments, or find anything that could be improved, please submit issue or a pull request!

Parts

22
QtyValueFootprintReferences
30.1uFCapacitor_SMD:C_0805_2012MetricC4, C5, C6
210kResistor_SMD:R_0805_2012MetricR5, R6
222Resistor_SMD:R_0805_2012MetricR3, R4
222pFCapacitor_SMD:C_0805_2012MetricC1, C2
25.1kResistor_SMD:R_0805_2012MetricR1, R2
110uFCapacitor_SMD:C_0805_2012MetricC7
116MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11uFCapacitor_SMD:C_0805_2012MetricC3
1500mAFuse:Fuse_1206_3216MetricF1
1AT90USB1286-AUPackage_QFP:TQFP-64_14x14mm_P0.8mmU2
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ2
1Conn_01x16Connector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_VerticalJ1
1HRO-TYPE-C-31-M-12Type-C:HRO-TYPE-C-31-M-12-HandSolderingUSB1
1PRTR5V0U2Xrandom-keyboard-parts:SOT143BU1
1SW_Pushrandom-keyboard-parts:SKQG-1155865SW1

Questions

How big is the Controller PCB?

It measures 118.3 × 38.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Controller use?

22 parts, built around the AT90USB1286-AU and PRTR5V0U2X. 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 Controller KiCad files?

From the ashpil/Model-M-Type-C repository on GitHub, at the commit this page was made from: the board is controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers405.8 × 127.3 mmOOTstag, the printed circuit board in 3D

    OOTstag

    Skycode22/HIDs

    HID projects

    321 parts132
  • 2 layers327.7 × 137.2 mmPcb design, the printed circuit board in 3D

    Pcb design

    Dakotapax42/pcb-design

    75% oled encoder

    277 parts
  • 2 layers430.2 × 141.3 mmTooManyKeys, the printed circuit board in 3D

    TooManyKeys

    pesantsi/CustomPcbs

    394 partsGPL-3.0
  • 2 layers1800 layout, the printed circuit board in 3D

    1800 layout

    MaiTheSan/PCB-Design

    All PCB Projects of SawnsProjects & Salane

    266 parts
  • 2 layers100 × 100 mmYM2612 MIDI SMD, the printed circuit board in 3D

    YM2612 MIDI SMD

    superjoebob/genny

    YM2612/SN76489 Virtual Instrument

    112 parts96
  • 2 layers40 × 50 mmWired sculpt, the printed circuit board in 3D

    Wired sculpt

    chadaustin/wired-sculpt-pcb

    KiCad design files for the Wired Sculpt conversion mod

    39 parts35
  • 2 layers74.3 × 99.7 mmLfk17, the printed circuit board in 3D

    Lfk17

    lfkeyboards/lfk17

    148 parts27