A Better, Open Hardware Keyboard

A keyboard is the most important tool in the modern desk jockey’s arsenal but, despite this fact, millions of people suffer the $10 membrane keyboards that shipped with the computer they got a decade ago. It’s a terrible way to live your life, but for those of us who are enlightened, there’s another way: mechanical keyboards. [Mário] over at the Bit Bang Theory just built his own mechanical keyboard with his own homebrew firmware and a few interesting features that aren’t found in other open hardware keyboard projects.

The ‘from scratch’ aspect of this build is somewhat of a misnomer; the key switches used in this build were taken from a Monterey K108, and the key caps were taken from a keyboard with a Portuguese layout. Once the switches were in place and soldered up, it was time for the electronics.

While most homebrew keyboards these days use a Teensy 2 thanks to some amazing firmware and development tools that have grown up around this device, there’s not a Teensy to be found inside this keyboard. The keyboard controller is built around a PIC18F4550 and uses the USB available on the chip. Naturally, there are more than a few WS2812b RGB LEDs around the edge of the keyboard that “breathe”, run a KITT-style LED chaser, or simply display a single chosen color.

There are a few neat features in this keyboard controller that aren’t readily available with other open source keyboard firmwares. There’s a keylogger, macro recorder, and a toggle macro that will activate or deactivate a (secret) internal 8GB USB storage key. Settings are saved in the internal EEPROM.

It’s a great looking build, and something we don’t see enough of around here. In any event, it’s just one step further towards eliminating the menace of cheap keyboards, and something we hope to see more of soon.

47 thoughts on “A Better, Open Hardware Keyboard

  1. He went through all that work and didn’t even build in the number pad? I know it’s not my project so I can’t really complain but I honestly don’t know how people get by without a number pad. I’d lose my mind.

    1. some people *gasp* don’t like the number pad. I know some people like to have the mouse hand closer to their other hand as an ergonomic thing, I.E. their hands are closer together because cutting out the ten key gives you four more inches of desk space.

      Personally I’m with you on this one, I love my number pad.

      1. I personally never thought i could do without a full number pad until i realized that i have no place for a full desk in my apartment, and there wouldn’t be room for a full keyboard if i got a little corner hutch. I’ve come to appreciate the smaller sized boards lately.

      2. As for the mouse, my preference is to have it between the keyboard and me. When do you see anyone stretch their arms away when they are about to do tasks requiring fine motor skills? Note that I have the keyboard an arms length away to get the usually recommended 90 degree elbow angle though.

    2. as a sufferer of a trapped nerve in my shoulder, having my arms slightly closer together actually aids me quite a bit. That and I was raised on laptops that didnt have numpads in the first place, and my tenkeyless fits in my bag if I go to a LAN party or am planning on using the unis macs (christ those apple pro keyboards are horrid to use).

    3. Hi! I could have added the number pad but I wanted a compact keyboard and I don’t usually use the numpad, so that was intentional. However, since I have the keys and switches it’s in my future plans to build a separate matching numpad that I can plug into the second micro USB port of the actual keyboard.

  2. I expect this question to be kicking a hornet nest, but can someone explain me how mechanical keyboard is better and why I should switch to one? So far I know only that it makes more noise, and it’s harder to get one with trackpoint and trackpoint keys.

    1. Durability is one spot, they tend to last longer. Other than that they tend to have better key activation characteristics as far as how hard you have to press a key, how far you have to press a key, and how far you can press a key. It’s kind of a subjective feel thing, some people like how they feel better. It may offer ergonomic benefits, which are important if you spend a large amount of time typing on one.

      Really, it’s just higher quality switches, and with luxury switches come bling as well. Check out Corsairs RGB keyboards with an RGB LED behind each key for back lighting, while largely useless is still pretty cool to see colors splash across your keyboard as you type.

      1. Mechanical keyboards aren’t necessarily more sturdy than membrane. Well-designed membrane keyboards, like the ones on higher end laptops (with “drains”) can withstand spills much better than a keyswitch mech. Spilling your coffee on a typical Cherry or Alps keyboard will inevitably end with sticky or nonfunctioning switches.

        1. I hear about a lot of spills, and I’ve seen more than a few destroyed laptops and keyboards from spills. I don’t get it. The only time I’ve ever seen a spill HAPPEN, it was because a glass was knocked off a shelf where it had been forgotten, feet away from the keyboard.

          If you’re ruining keyboards with spills, you need to plan better. :p

          1. Not all of us are as precise with our movements as you seem to be. It doesn’t seem to matter where I put my drink (which I need to have nearby thanks to diabetes), I seem to find a way to topple it onto my keyboard. Better planning doesn’t help when you’re a klutz.

            That being said, I love my old Microsoft Natural Multimedia keyboard. It’s sturdy, survives spills with minimal cleanup work, and has keycaps with the symbols embedded in the plastic instead of being silk-screened on like later MS keyboards (such as the much newer one collecting dust in my closet).

        2. I bought 2 used keyboards more than 15 years ago. They are made for digital and they are your usual PC membrane style keyboards. I cycle between them every half year or so when I disassemble the keyboard and wash the keys. These keyboards are still working fine although some of the clips for holding the steel wires frame for the
          extra wide keys have started to break because of all the disassembling.

        1. At least for me a scissor type keyboards (notebook computers + very compact desktop keyboards) are better ergonomically, guess it depends on how one types.

          But one shouldn’t discount the hype effect – some people seem to think “mechanical”* keyboards are cool for some reason and then invents reasons why they are better. The same thing happens with the Dvorak layout where there are claims typing speed and ergonomics are better while real studies show that Dvorak isn’t (significantly) better than QWERTY for either.

          (* don’t know what’s more mechanical with that kind of keyboard than the scissor type, even capacitive keyboards tend to contain mechanical elements…)

    2. I have two resources for you regarding the Cherry Switches here:
      The ‘loud’ buttons are the Green and Blue. This is caused by a secondary component in the key that moves semi-independently from the key. You can see this in the animations link.
      There are a set of ‘tactile bump’ keys that don’t have this moving piece, but have a similar feel when the key is depressed.
      Finally, there are ‘linear’ mechanical switches which don’t have that little bump and feel very smooth.

      Optionally, you can install (or have installed) little rubber bumpers under the keys to help damped the noise the keycap makes when it comes into contact with the housing of the switch when it’s fully depressed.

      Now. The BIG difference between membrane and mechanical is that a button ‘press’ on a membrane requires the key to be fully depressed, where a mechanical keyboard can be ‘pressed’ with the key only partially depressed. The ‘tactile’ type keys let you feel where this happens as the key moves. The downside, is mechanical keyboards are not spill proof or spill resistant. My cat spilled eggnog on my wireless keyboard, I simply sent it through the dishwasher and all was well xD
      No way will that work with a mechanical keyboard.
      Oh.. those switch types I mentioned. There are usually heavy and light weighted versions of each type.
      Clicky, Tactile, Linear. So there are at least 6 different mechanical switches (from this manufacturer) that all feel and sound slightly different. The choice is up to the customer or designer about how they want the keyboard to feel.

      1. “The BIG difference between membrane and mechanical is that a button ‘press’ on a membrane requires the key to be fully depressed, where a mechanical keyboard can be ‘pressed’ with the key only partially depressed.”
        Why on Earth would you want the button to register a press before you’ve finished pressing it? Seems oddly counterintuitive!

        1. It’s not at all counterintuitive.

          It’s much like the trigger on a firearm: it releases the firing pin at a specific break point, not when the trigger is fully pressed.

          You want that. The keys don’t register presses accidentally, as there’s a tactile response to mechanical switches where resistance increases, then “breaks” when the key activates. But this means that you also don’t have to hammer keys to their mechanical stop points, which is a lot more comfortable with protracted typing (less impact on your fingers, which sounds silly but absolutely makes a difference).

          Seriously, mechanical keyboards feel *so much better*. There’s a switch for every user, too, with varying amounts of pressure required and different amounts of clickity clack.

        2. Actually, I think I can chime on this as well from a different standpoint. I actually started using mech keyboards a little over a year ago, but been using computers majority of my life and career. The one take away to best explain why I switch over was pure ergonomics.

          Think of it this way, professional basketball players constantly run hard back and forth on the court. Eventually, their knees will start to deteriorate a lot faster than most people. Now think of your fingers doing the same thing with membrane keyboards. You must be deliberate in your key press in order for them to register. The joints in your fingers will succumb to the same situation as do the knees of basketball players. With mech keyboards, your able to select and customize the best balance between the weight of the key press and still accomplishing key press itself without killing the joints of one fingers.

          Not sure if this is how the community feels, but for me, this was definitely a good transition as I can continue to do what I Iove doing, without taking a lot of the necessary breaks needed when using a membrane keyboard.

      2. “a button ‘press’ on a membrane requires the key to be fully depressed”

        That’s not true. The membrane collapses, but it still has travel left in a properly designed switch.

        Actually, the best keyboards in terms of ergonomics are neither membrane or mechanical, but scissor switch keys. They solve the issue of “mushy” wobbly keys of the regular membrane keyboard, and the long springy travel of mechanical switches that simply slows you down and cause more stress to the tendons in your arm.

        Ironically, it’s the “laptop keyboard” that is both the fastest and the least stressing. People disparage them just because a laptop is otherwise unergonomic to type on.

        1. there is a difference between the long springy travel of a mechanical switch and its actuation point, i feel like i use less force (though i suspect that not to be true) while typing on my mechanical keyboard, then again i never bottom out and often just “tap” my keys to the actuation point and no further.

    3. There’s a lot more customization and tons of different switch types. Another thing besides that is they tend to be made with much higher quality materials and with greater care. It’s one of those quality of life things that once you get used to it anything else is like the cheap single ply toilet paper.

      There are switches that don’t click and “landing pads” or O-rings you can use to reduce/eliminate the clack sound too.

    4. I personally prefer the chiclet style keys and ‘laptop’ spacing. The smaller vertical travel makes them more ergonomic, and the closer key spacing makes them faster to type on as long as you are properly adjusted. My only complaint is that many chiclet keyboards are lacking keys or have a nonstandard layout (mostly since they clone the macbook air which has a very questionable layout). They also lend themselves to having integrated backlights which make them significantly more usable in the dark (say what you will about backlights being useless since you shouldn’t be looking at the keys anyway, but especially in applications where you have to switch between mouse and keyboard it is way faster to just look at the keyboard than to readjust the right hand to be in the correct posture for touch typing and finding the home row)

      PS – I personally believe that we should put everyone who use the explicitly ‘loud’ keyboards (the cheery/etc that have integrated noisemaking elements) in the same cubical so that their incessant clicking will only annoy their fellow loud-keyboard-philes

  3. I had a friend who, while earning his Mechanical Engineering degree, was assigned to design his own set of calipers. I’m studying Computer Engineering, and I feel like a project such as this should be in the curriculum. From start to finish, you could learn a TON of useful knowledge and have a custom, useful tool to take with you into the profession. In my curriculum, we used a 30 year old MC68HC11 micro and labored over assembly code to debounce buttons on a keypad and then display the digit on a 7 segment display. Woohoo, college!

    1. I completely agree with you. I mean, it wouldn’t have to be exactly with this project but there are lots of interesting projects that cover a wide range of subjects that could be used in college degrees. In my opinion, it’s much easier and interesting to learn things from a practical point of view.

      1. I made the documentation on instructables first because iit helps me organizing the information in steps and think about every single detail. All the info will also be updated on my blog (wordpress platform) and all the files will be hosted on GitHub. I’m still dealing with the documentation and organizing all the files. I wasn’t expecting this to get featured so soon :) As soon as I can I’ll probably put everything in hackaday.io as well. Thanks for your suggestions and sorry for making you check instructables :)

      2. Normally I just let people suffer since it’s the fools who pay for half the internet I figure, and it takes all kinds, but since you are a HaD reader I want to this time ask why the hell someone doesn’t have an adblocker in this day and age?

    1. It’s all about what the intent is I guess, this keyboard is (supposedly) better than the average membrane keyboard, but unlike other ones that are better it’s open hardware. That’s what the line tells us now.
      So where would you put the comma?

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.