CherryPi Mechanical Keyboard Warrants A Long Look

[Gosse Adema] has been poking a Microsoft Natural Elite for the last 20 years, and the curvy old girl is about to give out. Looks like he got bit pretty hard by the DIY mechanical keyboard bug in his quest to replace her. Luckily for us, he documented his build.

Where do we start? A first keeb is decently-sized undertaking, but [Gosse] turned it up a notch and made it as low-profile as he could — it’s 2cm thick with the keycaps on. This ultimately meant designing the board such that the anti-ghosting diodes sit inside a cutout underneath their respective switches, which are low-profile Cherry MX Reds. There is no Eagle template for those yet, so [Gosse] whipped one up and milled a prototype PCB before deciding to go the fab route.

The Raspberry Pi Zero W that controls this keeb lives in a separate controller box in the name of slimness. If you are as-yet unimpressed by this build for some reason, [Gosse] even rolled his own firmware, which he explains as part of this epic journey. Seems the only thing he didn’t do was mold his own keycaps, but not everyone wants to type on blanks. We wonder if [Gosse] is aware of the terrifically low-slung Kailh choc switches, although prefab keycap options for those are even more limited.

Speaking of, here’s a tasty choc-filled game pad.

33 thoughts on “CherryPi Mechanical Keyboard Warrants A Long Look

  1. I’m still using two Microsoft Natural Keyboard Pros and they must be almost 20 years old now. I’ve thought about creating my own ergonomic keyboard but the biggest issue has always been the keycaps. I like the arrangement on the Microsoft ergonomic keyboards and the keys aren’t in straight rows. Unfortunately that means the keycaps aren’t square/rectangular like the regular keycap sets you can buy.

    1. Using a RPi0 to handle keystates is like using an upside down helicopter turbine to cut grass. The most weirdest thing though, is that using an RPi0 is probably 5x cheaper to use than to implement a singular microcontroller on there.

      1. If he would have just checked around the mechanical keyboard community he could have had something much more like the ms natural with way less work and heartache. This project is way overbuilt and underbuilt at the same time. QMK has 100% of the features he wants and requires a pro-micro

        1. OTOH I had 3 old Pi sitting doing nothing. One is now my DHCP server mostly just to get IPv6 on my LAN bc the old DSL router wasn’t properly upgradable and I’m trying to find a use for the other 2.

          Also a pandaboard, a beagleboard, an OpenPandora and a GPD Win 1st gen that are also begging to do something useful again.

          I’m sure lots HaD readers have a lot of overkill otherwise-e-waste-might-as-well-use-it laying around.

      1. Looking in the article, he’s using Raspbian on the Pi so it does take time to boot. The Pi zeros have OTG-USB support and can be configured as a usb gadget. Most of the time you see tutorials on how to use that to get serial or ethernet connections to it but setting it up to appear as a keyboard is possible too. He should just get a Teensy and one of the keyboard firmwares for that.

        1. Yeah, teensies is what I’ve always used. Was wondering if there were any novel functionalities making use of a keyboard running linux. Like it would be cool if the HDMI port was exposed or even if it had a built-in screen (maybe on the third module where the pi is) and you could have a KVM switch built-in that swapped between the connected computer and the internal one, so you could have a small linux computer for doing small tasks like web browsing without tasking your main computer with it.. I dunno.

    1. Well I was thinking of doing something similar. Though I was going to read all the HID inputs with a teensy as its good for ‘realtime’ and use the Pi Zero W as both the onboard computer with a little screen for things like remote controlling media PC, ssh and other such small terminal stuff and also to use the Pi Zero to convert it to a bluetooth keyboard/joystick/mouse combo device.

      Still reading and testing the bluetooth stuff as Bluez documentation sucks. Its basically read though all the source code and the bluetooth SIG documentation to figure out how it should be working…

  2. I love these builds but I’m always disappointed when they include a Pi Zero. Why? There are so many micro-controllers which have a USB interface and code ready to go – why develop with something as over-priced, complex as the Pi? Especially as the solution has custom PCBs in there already?? He could have saved himself the external device, kept it to two parts and put a simple connective cable between the one with the micro controller and the daughter keyboard half.
    A really excellent quality build spoiled, imho, by the use of a part which is better suited to other applications.

    1. Why use a pi zero? Why not? Is not using devices in unique ways the foundation on which this blog was built? There might be “better” options out there, but getting caught up on the “best” way to do things is boring. I much rather read about people using devices in interesting ways than a endless stream of promicro keyboards with different physical layouts. Give me the odd ducks.

  3. It looks nice, but a separate control box really kills it for me. I handwired a variant on the medidox layout using chocs, doesn’t have a separate ‘control box’, and it’s 14mm high. One of my kids seems to have absconded with the left side though…

  4. This needs to exist as a real product.

    Enhancements would be linking one side to the other side instead of both to the control box, and embedding the logic there – you don’t need a Pi for this surely, and STM32 or similar should suffice?

        1. Yep, lots of room to explore if you want to venture further away from the MS Natural. My personal progression has been MS Natural (several versions) -> VE.A clone -> Redox -> CRKBD.

          OP is interesting to me in that it’s the first time I’ve seen the new low profile MX switches used. If they had a tactile version I’d be keen to try a board out with them.

  5. While I question the use of a Raspberry Pi, it’d be cool if, when not connected to another computer the keyboard acted as an input for the Pi. Add a screen and your keyboard is a computer.

  6. Pi zeros are $5 a pop at Microcenter, I’ve got more sitting around on my bench than I know what to do with.

    I realize not everybody has that option, and while I agree it’s overkill, I can see how I might make the same decision myself.

Leave a Reply

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