Coder Social home page Coder Social logo

model-m-type-c-controller's Introduction

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

  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.
  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:

make ashpil/modelm_usbc:default:flash

Check here for details.

Other

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

model-m-type-c-controller's People

Contributors

ashpil avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.