When designing anything with “hackable” in the punchline, scope creep is an integral part of the process. You end up trying to create something to potentially be an infinite number of things for an infinite number of users. [Zack Freedman] is going really deep down the rabbit hole with his MiRage keyboard and has been documenting the progress in his usual entertaining style, with some cautionary notes included.
The most fascinating tale from this come about as a result of adding RGB LEDs beneath the keys, while still allowing everything to function when the keyboard is split in two. Thanks to an IO expander chip in one side of the board, a standard TRRS audio cable is enough to link both sides together. But the addition of addressable LEDs meant more lines were required.
[Zack] thought he had found a solution in the form of SATA cables, but it turns out all SATA cables internally connect pins 1,3, and 7, making them useless for this application. He realized he had no choice but to add a second microcontroller to the “dumb” side of the keyboard and return to I2C over a TRRS cable. However, the RP2040-based Seeed XIAO’s I2C absolutely refused to play along. After a fortnight of frustrating debugging, it turns out there was a bug in the pin definitions. Fortunately, this also revealed that the XIAO had an undocumented secondary I2C interface, which he plans to configure as a peripheral to make the keyboard almost infinitely expandable with additional keys.
An earlier version of the MiRage featured tactile OLED displays, but it turns out the thin panes of glass don’t handle repeated flexing well, so they had to be scrapped. In their place came a touchscreen E-paper display, but now this seems to be evolving into a pluggable module for any input device that your heart desires, including possibly a haptic SmartKnob. Another major update are PCB footprints that support both CHOC and MX switches.
It all started with the MiRage V1 keyboard intended to for use in an updated version of [Zack]’s cyberdeck. After realizing how many people were interested in the keyboard but not the cyberdeck, he shifted focus to refining the MiRage.
This project still has some way to go, so we’ll certainly be keeping our eye on it. In the meantime, we’ve recently covered another exceptionally customizable keyboard that might catch your fancy.
14 thoughts on “The Rollercoaster Of Developing The Ultimate Hackable Keyboard”
FWIW https://github.com/TeXitoi/keyberon A rust crate to create a pure rust keyboard firmware.
Hell no thanks.
As in: “:Please make some effort to elaborate why keyberon triggers a ‘no thanks’ for you”.
@all: Links to keyboard firmware written in Rust, are very welcome.
When you program your keyboard in rust and it decides its actually a mouse and pops all its switches off, even though it does not have the hardware required to do the job that makes a mouse distinct from a keyboard
Why? QMK has MUCH wider support. https://github.com/qmk/qmk_firmware
It’s cumbersome, requires esoteric tools not accessible to laymen, changing the layout requires a recompile, it’s not very well documented in places… Alternatives are necessary.
I think it is noble that other Hackaday writers are posting keyboard articles, so [Kristina] can save wear and tear on her joints instead of typing all of them.
They don’t have self-typing keyboards by now?
Oh my god like a player piano. Someone make this.
I am anxiously awaiting the day that the perfect low profile keyboard is finally created.
I just want something sturdy, wireless, RGB, and compatible with OpenRGB and QMK. I don’t care whether it has expandable macro pad options or not, I don’t even care whether or not it’s built with a sturdy aluminum frame, though that would be ideal. Just will someone please build a nice low-profile keyboard ??
Why wait anxiously? DIY!
“ ULTIMATE HACKABLE KEYBOARD” is that an Amiga ?
No but it has waaaay more processing power than an Amiga. ;)
similar https://klawiatura.wordpress.com/ screen is important but this information what is in menu bar
ethernet indicator, mail, volume, wifi, date, time etc.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)