Ok, first things first – I know that I promised to only use corny keyboards for this blog, but today I decided to cheat a little bit and type this post on my desktop using corne keyboard.
Now, when all the important things are out of the way, let me get straight to the topic. The fifth revision of corny keyboards is in production and it includes a lot of changes in its design and manufacturing techniques. You may ask – what happened to the fourth revision? Well, that was a failed attempt to further split the keyboard into six keyclusters, one per each finger. The idea behind that was that doing so would make the keeb much more configurable for the variyng hand sizes that humans tend to have. Each “corny bit”, as I called them, was intended to work off of a single CR2025 pill battery and use an nrf microcontroller to communicate with host machine over bluetooth. Unfortunately, the complexity of such a design turned out to be… a bit prohibitive for a DIY project :)
Now, where was I? Right, the fifth revision!
First of all, I decided to rename the project into “Brain-LINK Keyboard”, or simply “BLINK keyboard”. I believe that this name would be a better reflection of that amazing feeling that you get when using these keyboards with Termux on an android phone or bash on a linux tablet – it, indeed, feels like a brain-computer interface for your fingertips :)
The other change is that in this revision I am replacing off-the shelf pushbuttons with a custom made silicon rubber-dome button array. Here are some pictures of DIY rubber-dome layer: There are still some molding problems that I need to figure out, specifically - how to prevent air bubbles from RUINING THE WHOLE PRODUCT ^_^, but it is my expectation that switching to rubber-dome design should simplify the assembly and make the project closer to production-ready state.
Another HUUUGE change in design is that previous (r3) revision was built with a single pro micro as keyboard controller. As each ATMEGA32u has only 24 I/O pins that need to handle 36 keys, that shared between two halves pro micro was forcing the use of anti-ghosting diodes in the matrix. As a result, the third revision had 36 diodes, one per each key. The fifth revision changes that design in favor of using two ATMEGAs, one per each half of the keyboard. This change improved the project in several ways:
- It allows to use only 3 wires to connect the halves: GND, VCC, and DATA (previously each half reqired 9 wires to the controller)
- It gave me additional 24 pins to work with, which allowed each key to be connected to a dedicated pin on the controllers so, now no diodes are needed, which dramatically simplifies the build process (that is, if you’re not scared of soldering a QFP-44 microcontroller ;).
- Custom-made rubber-domes allow me to adjust the tactile feel of the keyboard, which should make it even more satisfying to use :)
- And, finally, rubber-dome keys take much less space, which is critical in mobile applications.
Another improvement in the project is that it is not just a hardware project anymore - I am in the middle of developing a companion app for android phones. That app will address the biggest problem with the UX of the keyboard - mounting the keyboard on the back of your phone/tablet prevents you from seeing the keys and, therefore, creates a steep learning curve that may become prohibitive for people without touch-typing skill or without the experience of using 40% keyboards (technically, Blink is a 36% keyboard, but going from 42 keys to 36 keys is not that hard). So, the companion app will automatically render a translucent always-on-top window that would transpose the currently active layout on top of android apps, helping to make the learning curve much more acceptable for unprepared users.
So, yeah, now I’m just waiting for the r5 PCBs to arrive. I will most certainly post an update when that happens and I build the first Blink keyboard :)
Meanwhile, here’s some nice number, tucked away into the basement of the post so that only the most interested in the project people would read it :) I was able to reach 45 wpm typing speeed on the r4 with standard (not rubber) pushbuttons and, I believe, this number should become even better after all these design improvements.
QQ for you, dear reader: if I decided to start selling these keyboards, how much would you be ready to pay for it? Please feel free to answer using the Disqus form below, or shoot me a tweet @chedim.
Thank you for your interest!