Building A Keyboard From Scratch

After over a year of work, [dmw] is nearly done with his Humble Hacker Keyboard. It’s a keyboard that has been influenced by some pretty crazy looking designs, but meets all of [dmw]’s needs for a compact, programmer-oriented key layout that’s easy to type on.

[dmw] posted a pseudo-build log  over at the geekhack keyboard forums. Every single part of this keyboard is custom-made. The key caps were made by Signature Plastics, the case was made by Shapeways, and the custom PCB for the key switches came directly from Express PCB. The key switches are blue Alps sliders (one of the best key switches available) with a few white Alps switches taken from an old Apple keyboard.

After soldering a hundred diodes and switches, [dmw] installed a Teensy++ to convert the closing key switches to something his computer can understand. This turned out to be a perfect of the Teensy because of the USB peripheral libraries that already exist. The source is up on github, so if you’ve ever wanted to replace your Model M with something more ergonomic, here’s your chance.

46 thoughts on “Building A Keyboard From Scratch

      1. Look even closer. There isn’t. There’s two Apple keys down center, and to the left, an option and BACKspace.

        The only “space” key is for the right thumb.

        Granted, for a scratch-made keyboard, not much of an issue, is it?

    1. Blue Alps sliders? Buckling springs(type of key switch used in the IBM Model M if you didn’t already know)?

      Everyone who knows mechanical keyboards knows PCB mounted Blue Cherry MX switches are king. They are THE most enjoyable switch to type on.

      1. Buckling spring type keys require the most force to press, and have the sharpest release (which makes the sound), causing the most acceleration and jerk to the fingers of the typist.

        It may be pleasurable to type like a machine gun, but it’s really not doing good for your fingers and joints. You eventually get RSI symptoms similiar to white finger syndrome with vibrating power tools.

      2. “Buckling spring type keys require the most force to press, and have the sharpest release (which makes the sound), causing the most acceleration and jerk to the fingers of the typist.”

        “Typist” is the word here. Having experience of both the type M and typewriters, I would have to say that, with extended back feet, they have gotten the typewriter feeling exactly right. :-\ YMMV of course.

        Remember, those where made in the early 80’s for typists converting from typewriters to computers. ;-)

  1. Oh wow! It’s based on the dvorak keyboard layout, which is what I use every day! I learned the dvorak layout about 10 years ago (I’m 40 now). The dvorak keyboard layout is far superior, IMHO.

  2. First of all, awesome keyboard!
    Secondly: Dear HaD: you guys are seriously starting to creep me out. I kid you not, for the past 5 days or so, you have featured a project on something I had /just/ been thinking about/had in the back of my mind! It’s uncanny! GET OUT OF MY MIND!

    1. It seems you start thinking about it just when they are getting ready to post it. I think you are in their mind. STOP IT!

      Nah, just kidding. I am sure it is because all great minds think alike…

  3. Nice project! Personally I use QWERTY so not a big fan of the DVORAK but that’s just a personal thing. Also like I said up above my hands are big so I don’t think those spacebars would work for me personally. Stil I think this project is awesome for alot of people.

  4. Everybody sit down for this one. The amount of money I’ve spent on this keyboard is rapidly approaching the cost of an optimus maximus keyboard. For $500, I got two sets of keycaps – the ones pictured, and another set of blank black caps. The case was around $200. Circuit board, when I finally get it made, will be another $250, provided I get it right on my first try. Then there’s all the components for the circuit board, and a steel backplate to finish it off.

    Uff. Yeah, it’s a nice keyboard, but $1000+ is a little pricier for me ;)

      1. Well, after spending $1000+ on the keyboard, obviously didn’t have any funds for the low end 3d printer to print the keys (~$500 for printer; ~$43 for plastic; keyboard && keys template file for printing, priceless?? :)

  5. I love the symmetrical layout. There are enter keys for both hands, ctrl is in the correct place and there’s one for your right hand as well. Also, the cursor keys in the center makes sense.
    Have you guys seen the rest of the geekhack.org website? It turns out there is a whole forum full of keyboard nuts. Some more have built their own custom keyboards. There is even an open source universal keyboard controller (hardware + firmware).

    1. My thoughts exactly- a keyboard for programmers with no curly brace keys? Don’t want to start a VB.Net / C++ flamewar but the presence of symbols seems like kind of a basic thing for a “programmers” keyboard to have.

    2. Yeah… that and the DVORAK part(which can be switched with the Teensy, I love mine btw).

      However, no way I am soldering everything together, that must have taken forever. I’ll leave that up to the keyboard companies to do and I’ll just give them my money.

  6. All special symbols are mapped to fn + letter key. You are able to remap anything on this keyboard. The 4 fn keys can be configured to be either momentary or latching. You can use one of them to (momentary) switch to the symbol layer to type a symbol. You could use another to switch between qwerty and dvorak layout.
    The physical layout of the keys, with the next row directly over the last row, looks more comfortable to me than the usual layout where the next row is shifted a bit to the left. This is probably a rudiment from the typewriter-age.

  7. Does anyone know of a program for a touch tablet that will let me use it as a secondary keyboard? I want to create a page of icons, then attach a key sequence or script file to each icon, and flip back and forth between pages. If it doesn’t exist out there I guess I’ll have to try and hack it together from python or java. An ssh link between the tablet and computer over a network should work just dandy.

    Anyone seen anything like this? I just want a really programmable keypad in conjunction with a normal keyboard.

    Dvorak forever!

  8. I need to use the same sort of techniques to build my ultimate phonetic keyboard that I already have drawn out plans for. Whomever can help me with this would be of great service to me. I will make it work your time. Please contact me or post on this thread and I will follow up.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.