A combination of cheap USB HID capable microcontrollers, the ability to buy individual mechanical keys online, and 3D printing has opened up a whole new world of purpose-built input devices. Occasionally these take the form of full keyboards, but more often than not they are small boards with six or so keys that are dedicated to specific tasks or occasionally a particular game or program. An easy and cheap project with tangible benefits to anyone who spends a decent amount of time sitting in front of the computer certainly sounds like a win to us.
But this build by [r0ckR2] takes the concept one step farther. Rather than just being a simple 3×3 keypad, his includes a small screen that shows the current assignments for each key. Not only does this look really cool on the desk (always important), but it also allows assigning multiple functions to each key. The screen enables the user to switch between different pages of key assignments, potentially allowing a different set of hot keys or macros for every piece of software they use.
The case is entirely 3D printed, as are the key caps. To keep things simple, [r0ckR2] didn’t bother to design a full enclosure, leaving all the electronics exposed on the back. Some might think it’s a little messy, but we appreciate the fact that it gives you easy access to the internals if you need to fix anything. Rubber feet were added to the bottom so it doesn’t slide around while in use, but otherwise the case is a pretty straightforward affair.
As for the electronics, [r0ckR2] went with an STM32 “Blue Pill” board, simply because it’s what he had on hand. The screen is a ST7735 1.44 inch SPI TFT, and the keys themselves are Cherry MX Red clones he got off of eBay. All in all, most of the gear came from his parts bins or else was only a couple bucks online.
As [Glen] describes it, the only real goal in his decision to design his single-key USB keyboard was to see how small he could build a functional keyboard using a Cherry MX key switch, and every fraction of a millimeter counted. Making a one-key USB keyboard is one thing, but making it from scratch complete with form-fitting enclosure that’s easy to assemble required careful design, and luckily for all of us, [Glen] has documented it wonderfully. (Incidentally, Cherry MX switches come in a variety of qualities and features, the different models being identified by their color. [Glen] is using a Cherry MX Blue, common in keyboards due to its tactile bump and audible click.)
[Glen] steps though the design challenges of making a device where seemingly every detail counts, and explains problems and solutions from beginning to end. A PIC16F1459, a USB micro-B connector, and three capacitors are all that’s needed to implement USB 2.0, but a few other components including LED were added to help things along. The enclosure took some extra care, because not only is it necessary to fit the board and the mounted components, but other design considerations needed to be addressed such as the depth and angle of the countersink for the screws, seating depth and clearance around the USB connector, and taking into account the height of the overmold on the USB cable itself so that the small device actually rests on the enclosure, and not on any part of the cable’s molding. To top it off, it was also necessary to adhere to the some design rules for minimum feature size and wall thicknesses for the enclosure itself, which was SLS 3D printed in nylon.
PCB, enclosure, software, and bill of materials (for single and triple-key versions of the keyboard) are all documented and available in the project’s GitHub repository. [Glen] also highlights the possibility of using a light pipe to redirect the embedded LED to somewhere else on the enclosure; which recalls his earlier work in using 3D printing to make custom LED bar graphs.
In 2011, [Fabio] had been working behind a keyboard for about a decade when he started noticing wrist pain. This is a common long-term injury for people at desk jobs, but rather than buy an ergonomic keyboard he decided that none of the commercial offerings had all of the features he needed. Instead, he set out on a five-year journey to build the perfect ergonomic keyboard.
Part of the problem with other solutions was that no keyboards could be left in Dvorak (a keyboard layout [Fabio] finds improves his typing speed) after rebooting the computer, and Arduino-based solutions would not make themselves available to the computer’s BIOS. Luckily he found the LUFA keyboard library, and then was able to salvage a PCB from another keyboard. From there, he programmed everything on a Teensy microcontroller, added an OLED screen, and soldered it all together (including a set of Cherry MX switches).
Of course, the build wasn’t truly complete until recently, when a custom two-part case was 3D printed. The build quality and attention to detail in this project is impressive, and if you want to roll out your own [Fabio] has made all of the CAD files and software available. Should you wish to incorporate some of his designs into other types of specialized keyboards, there are some ideas floating around that will surely improve your typing or workflow.
Here on Hackaday, we like keyboard hacks. Given how much time we all spend pounding away on them, they’re natural hacks to come up with. If you’re pulling the circuitry from an existing keyboard then chances are the keys are pressed either by pushing down on rubber domes (AKA the membrane type), or on mechanical switches. [Jason Allemann] has just made it easier to do keyboard hacks using LEGO by building one for a circuit board with mechanical Cherry MX key switches. That involved designing parts to connect LEGO bricks to the switches.
For those custom parts, he recruited his brother [Roman], who’s a mechanical engineer. [Roman] designed keycaps with a Cherry MX stem on one side for snapping onto the key switches, and LEGO studs on the other side for attaching the LEGO bricks. The pieces also have a hole in them for any keys which have LEDs. Of the 100 which [Jason] ordered from Shapeways, around ten were a bit of a loose fit for the LEGO bricks, but only if you were doing extreme button mashing would they come off.
The easy part was the keyboard circuit board itself, which he simply removed from an old Cooler Master Quick Fire Rapid keyboard and inserted into his own LEGO keyboard base.
We do like his creative use of bricks for the keys. For one thing, the letter keys have no letters on them and so is for toufh-typosts touch-typists only. The Caps Lock is a baseball cap, which would be awkward to press except that no one ever does anyway. ESC is a picture of a person running from a dinosaur and F1, which is often the help-key, is the Star of Life symbol for medical emergency services such as ambulances. Scroll Lock is, of course, a scroll. And to make himself type faster, he incorporated blue racing stripes into the frame, but you can judge for yourself whether or not that trick actually works by watching his detailed build-video below.
An AT button is a device that helps people with all kinds of physical disabilities to interact with their world. There isn’t much to them, just a switch wired up to a 3.5mm mono plug or jack, but the switch is installed in a large button housing that’s easy to operate.
These buttons can be used with any appliance or toy that can be adapted for mono input. They’re a simple piece of technology that makes a world of difference, but for some reason, they cost around $65 each. Because of this, people make their own simple switches, but these aren’t usually sturdy or long-lasting. [Christopher] thinks they should cost way less than that and set out to make buttons for about $10 in materials. Aside from the printed files, all you really need to make a Clunke button is one Cherry MX in your favorite shade of blue, blue, or blue, and either a 3.5mm mono jack or plug, depending on preference.
[Christopher] and his team devised the Clunke Button in collaboration with the local United Cerebral Palsy chapter as part of their senior design project. When it came time to present the project, they wanted to find a way to be able to pass a Clunke button around the audience and have it do something when pressed. They made an interactive ticker by adding an ESP-01 and a battery. [Christopher] has since taken over the project and continues to improve the design as he progresses through the Prize finals. Code for the ticker is available on GitHub, and the button STL files are on Thingiverse.
Working with CAD programs involves focusing on the task at hand and keyboard shortcuts can be very handy. Most software packages allow the user to customize these shortcuts but eventually, certain complex key combination can become a distraction.
[awende] over at Sparkfun has created a Cherry MX Keyboard which incorporates all of the Autodesk Eagle Shortcuts to a single 4×4 matrix. The project exploits the Arduino Pro Mini’s ability to mimic an HID device over USB thereby enabling the DIY keyboard. Pushbuttons connected to the GPIOs are read by the Arduino and corresponding shortcut key presses are sent to the host machine.
Additional functionality is implemented using two rotary encoders and the Teensy encoder library. The first knob functions as a volume control with the push-button working as a mute button. The encoder is used to control the grid spacing and the embedded button is used to switch between imperial and metric units. The entire code, as well as the schematic, is available on GitHub for your hacking pleasure. It’s a polished project just ready for you to adapt.
Mechanical keyboards are the in thing right now and building your own is at least two extra levels of nerd cred. This project, entered in the Hackaday Prize, is a DIY keyboard unlike you’ve ever seen. It is a fundamental shift in the ideas of how a computer keyboard can work. It’s a double action keyboard. Press a key lightly, and one character will show up on the screen. Press hard, and a different character will show up on the screen. You’ve never seen anything like this before.
[Jaakob] designed this keyboard so that each keycap would have two switches underneath. He did this by taking regular ‘ol Cherry MX switches and modifying them so the ‘plunger’ would stick out of the bottom of the switch when it was fully depressed. These Cherry switches were mounted to a piece of perfboard, and a small tact switch soldered underneath. It’s an idea similar to what’s found in touch-sensitive MIDI controllers or the other type of keyboard. The difference here is that instead of using two switches to sense how hard a key is being pressed, it maps to two different functions.
Once [Jaakob] figured out how to put two switches under one keycap, he wired up a matrix, attached a Teensy, and took a crack at the firmware. The build isn’t quite done yet, but this is one of the most innovative DIY keyboards we’ve seen in recent memory. There’s a lot of potential here, and this method of ganging two switches together still allows for the fantastic clack and great feel of a mechanical switch.
By using our website and services, you expressly agree to the placement of our performance, functionality and advertising cookies. Learn more