close-circle
Close
0%
0%

Building a Mechanical Keyboard

Building a DIY mechanical keyboard based on Cherry MX blue switches and a Teensy 2.0

Similar projects worth following
close

Here the current keyboard layout I’ve been thinking from keyboard-layout-editor,com :

["Esc",{x:1},"F1","F2","F3","F4",{x:0.5},"F5","F6","F7","F8",{x:0.5},"F9","F10","F11","F12"],
[{y:0.5},"~\n`","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace",{x:0.25},"Insert","Home","PgUp"],
[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{w:1.5},"|\n\\",{x:0.25},"Delete","End","PgDn"],
[{w:1.75},"Caps Lock","A","S","D","F","G","H","J","K","L",":\n;","\"\n'",{w:2.25},"Enter"],
[{w:2.25},"Shift","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/",{w:2.75},"Shift",{x:1.25},"↑"],
[{w:1.25},"Ctrl",{w:1.25},"Win",{w:1.25},"Alt",{a:7,w:6.25},"",{a:4,w:1.25},"Alt",{w:1.25},"Win",{w:1.25},"Menu",{w:1.25},"Ctrl",{x:0.25},"←","↓","→"]

cherry-mx-stabilizer.stl

Cherry MX stabilizer (not printed yet)

sla - 25.77 kB - 03/18/2017 at 11:39

download-circle
Download

cherry-mx-stabilizer.scad

Cherry MX stabilizer (not printed yet)

x-openscad - 798.00 bytes - 03/18/2017 at 11:39

download-circle
Download

plate-2-3mm.svg.png

3 keys « test » keyboard, plate 2

Portable Network Graphics (PNG) - 2.22 kB - 03/05/2017 at 21:11

eye
Preview
download-circle
Download

plate-1-PMMA-transparent-1.5mm.svg.png

3 keys « test » keyboard, plate 1

Portable Network Graphics (PNG) - 1.97 kB - 03/05/2017 at 21:11

eye
Preview
download-circle
Download

plate-3-6mm.svg.png

3 keys « test » keyboard, plate 3

Portable Network Graphics (PNG) - 2.13 kB - 03/05/2017 at 21:11

eye
Preview
download-circle
Download

View all 10 files

View all 8 components

  • 3 keys prototype

    Grégory Paul05/15/2017 at 20:18 0 comments

    I’m building a 3 key prototype. It’s pretty ugly since it was cut « by hand » but the idea is to test it before using a laser cutter.
    The keyboard is working using https://github.com/tmk/tmk_keyboard/

    Now it’s time to customize the keys (mute, volume up and down).

  • Wonderful webapp to design the layout

    Grégory Paul03/06/2017 at 20:16 1 comment

    I just found out about keyboard-layout-editor.comkeyboard-layout-editor.com and http://www.keyboardcad.com/.
    Theses tools allow you to design your keyboard and then generate the SVG to laser cut it.
    It makes thinks really easy. Wonderful !

  • Next, the case !

    Grégory Paul03/05/2017 at 14:48 0 comments

      The case

      The next part of the process is to design and build the case.

      The case is composed of 4 plates :

      1. the « base » plate where switches will be mounted,
      2. the « supporting » plate,
      3. the « spacer » plate,
      4. the bottom plate.

      In picture :

              _
           __|_|__
          /       \
      +----------------+
      |                | 1.5mm « base » plate
      +----------------+
      |   |       |    | 
      |   \_______/    | 5mm « supporting » plate
      +----------------+ 
      |     |   |      | 
      |     |   |      | 5mm « spacer » plate
      +----------------+
      |                |
      |                | 5mm « bottom » plate
      +----------------+ 
      

      The goal is to design 4 SVG files that will feed a laser cutter.

      Since I’m not familiar at all with that process, I'm thinking to first design a 3 keys keyboard (volume up, down and mute).

      That will limit the costs if things goes wrong.

  • Components ordered

    Grégory Paul03/05/2017 at 14:44 0 comments

    Inspiration to build my mechanical keyboard came from an article from « beastie.lesfurets.com ».

    I like the visible micro-controller (a Teensy 2.0) but I’m thinking to use a more traditional layout (without numerical pad).

    Components

    I ordered almost all parts, including :

    • 100 Cherry MX blue switches (face plate mount),
    • 100 diode 1N4148,
    • I also ordered stabilizers parts from wasdkeyboard for large keys (like space, tab, shift and backspace) :
      • Cherry MX Stabilizer Spring for Spacebar,
      • Cherry MX Stabilizer Spring for 2x+ Keycaps,
      • Cherry MX Plate Mounted Stabilizer Clips,
      • Cherry MX Keycap Stabilizer Insert,
    • and, of course, keycaps from pimpmykeyboard composed of

    DSA key means they can be placed anywhere ; other families (DCS or SA) means keycaps are different according the row, see http://pimpmykeyboard.com/key-cap-family-specs/ for further details.

    For the micro-controller, II will reuse a Teensy I already bought.

View all 4 project logs

  • 1
    Step 1

    Install teensy software

    Download the Teensy loadder : https://www.pjrc.com/teensy/loader.html

    And install compilation tools :

    sudo apt-get install gcc-avr binutils-avr avr-libc dfu-programmer

View all instructions

Enjoy this project?

Share

Discussions

Grégory Paul wrote 05/15/2017 at 06:00 point

I won’t use a PCB but simply solder keys one to each other like https://github.com/mathieubolla/sik_keyboard

But you may find keyboard built with a PCB in my keyboard rss feed : https://rsstodolist.appspot.com/?n=keyboard&l=100

  Are you sure? yes | no

Dylan Brophy wrote 05/14/2017 at 23:43 point

I want to make a keyboard too!  I am excited to see the PCB files.  I got everything but a PCB :D

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates