Settings

Theme

M60 – Open-Source USB&BLE, Hot-Swappable Mechanical Keyboard Powered by Python

makerdiary.com

124 points by kfihihc 5 years ago · 46 comments

Reader

1MachineElf 5 years ago

One of the things the Planck Rev 6 PCB made me realize is how important hotswap is for me personally. First, I have _dozens_ of interesting mechanical keyboard kits which are un-built because I simply don't have the convenient time & place to set up my soldering equipment. Second, some of the kits I've managed to build have bricked on me due to unexplained microcontroller problems, and while I have an expensive desoldering gun, it's still a PITA to use/maintain/clean, so hot-swap sockets solve that switch recoverey problem in a very convenient way. Lastly, of course, the ability to change switches on a whim is nice on it's own.

This M60 keyboard builds on all of that by providing a socketed microcontroller, so even if it isn't the layout I prefer, I'll still look into buying one for the sole sake of supporting this work. Open source design & easy-to-program QMK-ish firmware are also huge plusses.

I also love the fact that pictured are the new Kailh Silent Pink switches. I got a small amount a couple weeks ago and want to get more, but they've sold out at US distributors. If the M60 is ever offered as a "full kit" then I hope those switches are an option.

  • kfihihcOP 5 years ago

    You got the point :)

    Hoping you will enjoy M60.

  • dmix 5 years ago

    Maybe a dumb question but why don't more mech keyboards have hotswap? That seems like a great feature I don't remember ever coming across in the few times I've bought them.

    • 1MachineElf 5 years ago

      They have a bit of a learning curve, because if the switch legs aren't straightened out before being pushed in, there's a chance they can be irreversibly crumpled. It can be a hard lesson if the switches were expensive.

      De-soldered switches are especially prone to this problem because the leftover solder on the legs makes them 1) more brittle, and 2) irregularly shaped, so switches like vintage blacks are kind of a no-go for hotswap.

      Some have reported the hotswap sockets pop out when forcing switches in, which I personally haven't witnessed myself. The impact ranges from a trivial matter of needing to apply more solder to the pad, all the way up to the hot swap socket ripping off the pad itself (very difficult to repair).

      Hotswap sockets are less secure than switches that are directly soldered on, which means that one typically will want to use them in combination with a switch plate. Switch plates, however, have the counter-intuitive effect of raising the pitch of your keyboard's sound profile. Most people don't realize this. By a lot of standards, a plate-less keyboard does sound better, and with hotswap all those keys will start looking slightly crooked fast.

      These nitpicks are things most users will never notice, but people who have been in the hobby for a long time do notice them, and those folks happen to be very vocal and influential. Then there's also the fact that anyone who is willing to design a PCB is probably savvy enough to desolder without issues. These factors are why there appears to be a strong anti-hotswap movement.

      Overall, I'd still recommend using hotswap.

    • pattato 5 years ago

      Not a dumb question at all. Hotswappable switches are becoming more common but many keyboard enthusiasts still are iffy about them. Hotswappable switches tend to have a bit more wobble that their soddered counterparts, but in my opinion the benefit of being able to change out the switches outweighs the wobble.

      Those who are confident in their switch choice will prefer less wobble, and probably have multiple keyboards anyway with different switches.

    • jolmg 5 years ago

      I'm getting the feeling that hotswap in this context doesn't refer to being able to plug/unplug the keyboard from the computer while the computer is on[1], since I've never seen a keyboard that wasn't able to do that. So, this may be a dumber question, but what's being referred to as hotswap in this context?

      [1] https://en.wikipedia.org/wiki/Hot_swapping

      • hnarn 5 years ago

        > A keyboard being hot-swappable means the PCB (which, simply put, is the circuit board inside the keyboard) has special sockets so that you can click switches into place and pull them out without ever needing to touch a soldering gun.

        From a Google search :-)

        • Nightshaxx 5 years ago

          This is acctually becoming a more common feature. I recently purchased a new mechanical keyboard and a lot of the newer designs are host swappable.

jdlyga 5 years ago

I would love to see more enthusiast scissor-switch keyboards. I learned to type on a mechanical keyboard, and I've tried all sorts of modern mechanical keyboards over the years. But I feel like laptop-style scissor switch keyboards are more precise and comfortable. Personally, I make more typing errors on a mechanical keyboard. My current favorite keyboard is an HP Wireless Elite V2.

  • dudeofawesome 5 years ago
  • the_pwner224 5 years ago

    > But I feel like laptop-style scissor switch keyboards are more precise and comfortable.

    I agree. The best keyboard I have ever used was a SteelSeries-branded keyboard in a MSI GT70 Dominator Dragon laptop. The keys had great depth/travel, took a fair bit of pressure to press (only a bit annoying after super long sessions), and coupled with the pressure/feedback, the tactile feel was just amazing. I started with Cherry Reds for a number of years before I realized that the switches were the reason my typing sucked. With Cherry Blues my accuracy got much better but still not perfect, and the switches just felt cheap to press and the clicking noise also sounded cheap/plasticky. Recently I switched to Matias Alps quiet clicks which are reminiscent of that SteelSeries keyboard but still not quite as good - the keycaps don't attach perfectly to the switches so they rattle a bit, and the switches just don't feel as good. I'm going to try some low profile switches once I've convinced myself that it's worth spending another $100-150 on a keyboard which probably won't be that great... Unfortunately I've grown used to a split keyboard with my custom keymap and I love it a lot more than the normal keyboard layout so I'm stuck with shitty switches.

  • dialamac 5 years ago

    I’ve been very happy with a dell premier wireless (717 not the 616 or whatever) scissor keyboard and mouse combo purchased 3 years ago. I don’t care for the mouse at all (don’t use it). I like the key feel much better than HPs offering that I have also used.

  • cellularmitosis 5 years ago

    One possibility would be to use your HP elite with an inline USB to USB keyboard controller. You could program it to remap all of your keystrokes to Dvorak, or implement a bunch of crazy macros, etc. they run the same software as the custom keyboards.

agrippanux 5 years ago

This could be amazing. I worked 4 years at Massdrop (now Drop) and used probably close to 30 keyboards. I always wanted one that I could script instead of do a Windows -based rigmarole to flash the layers. If this comes in at or below a $300 price point I will definitely order one.

  • ashtonkem 5 years ago

    To my eye, the only thing that's unique here software wise is that it uses Python rather than a more typical embedded language like C. A lot of keyboards (including my Ergodox EZ) use QMK, which doesn't require a Windows-based rigamarole to flash; there are at least 2 open source apps that'll do it on OSX.

    • Bedon292 5 years ago

      It is probably because the vast majority of my time is spent in python already, but its very appealing. I am typing this on a keyboard running QMK, and just don't enjoy dealing with the software side. I don't make changes often enough to remember all the steps I have to do to make things work. So I have to re-learn every time. I certainly should take better notes, but I would much prefer this keyboard ran python and I could just change the mapping on the fly without compiling and flashing and all that.

    • 1MachineElf 5 years ago

      It's true that hundreds of programmable keyboards we use today are supported by QMK, but based on the parent comment's 4 years at Massdrop, it seems likely that a lot of the programmable keyboards they are referring to are ones that didn't support QMK or even TMK out-of-the-box.

    • ornornor 5 years ago

      There is also config.qmk.fm so you can do it all visually in a browser.

  • tyingq 5 years ago

    Various DIY approaches, if you're open to some research: https://www.reddit.com/r/MechanicalKeyboards/wiki/firmware?v...

  • jtuente 5 years ago

    A 75% or compact format is more inline with how I think I want to use something like this. Then this would be an easy upgrade from my WASD.

  • mosselman 5 years ago

    This sound fascinating. Could you give us some examples of what you'd like your keyboard to do?

lukevp 5 years ago

I don’t suppose there is a way for the SoC to run something besides Python? I appreciate the flexibility of a scripting language and would love to try one of these out, but I feel like a hardware device should have a RTOS (or no OS) and a language that doesn’t have a GC. Can you imagine having jitter/latency randomly introduced from the Python layer?

  • rgoulter 5 years ago

    I've seen many keyboard PCBs support configuration with firmware such as QMK. (The wiki for the MechanicalKeyboards subreddit mentions other examples of firmware https://www.reddit.com/r/MechanicalKeyboards/wiki/firmware).

    If you're comfortable with C (and setting up the toolchain in the right way), great.

    Allowing customisation with Python is for greater accessibility.

    • VectorLock 5 years ago

      Being able to change settings with regular files on an a virtual USB disk and not having to install a compiler to make these changes sounds great.

  • packetlost 5 years ago

    I haven't actually looked at this, but Python has a number of toolkits that compile it down to LLVM targets and then to machine code, even for embedded devices.

    Source: run a quantum computer on Python

  • fheld 5 years ago

    >Besides, the keyboard is powerful enough to run Python, will also be able to run C/C++, Rust, Go (TinyGo) and JavaScript (JerryScript). The hardware is also optimized for power efficiency.

    from https://makerdiary.com/blogs/mechanical-keyboards/the-story-...

angrygoat 5 years ago

Something I've wanted for a while is an option to have two different physical keyboards connected to the one machine, with different keymaps. In my particular case, most of the time I want to type in English, but I also sometimes wish to type in Hebrew. I find typing on my keyboard with English keycaps very clunky, especially when trying to add vowel pointing to letters.

There are solutions out there, but they all amount to hacks; what I think I really want is for the second keyboard to not have a keymap at all, but instead to transmit unicode code points, but there isn't a standard way to do that.

Anyway, this project looks cool: I'd really like to buy a hackable keyboard that lets me work on customisation without having to deal with everything else (especially building it from components.)

  • nougatbyte 5 years ago

    I don't know if this is hack by your standards but you can do this with pretty standard tools in linux (I think it was xinput and xkbmap)

RealStickman_ 5 years ago

I'm really not a fan of these minuscule keyboards but I'd definitely be interested in a TKL version.

aosaigh 5 years ago

I've been looking for an "out of the box" MacOS-friendly mechanical keyboard for a while now. So far, the recent Keychron keyboards seems to be the only real contender, and unfortunately from all reports they are just to tall and cause wrist pain.

This seems like it would be a great alternative where you could have a Mac configuration - with media keys - mapped pretty easily with a custom keycap set (unless I'm misunderstanding?).

  • cellularmitosis 5 years ago

    After my progress stalled on writing custom firmware for my custom keyboard [1], I went with a Matias quiet pro for Mac. I love this keyboard.

    All of the Mac functionality works as expected. The only exception was when I tried to get an 18 year old eMac to boot from CD-ROM (by holding down the C key at boot time), this didn’t work. I had to use an official Apple keyboard for that. Works fine once the machine is booted, so I’m guessing it is some sort of Mac openfirmware issue.

    [1] https://github.com/pepaslabs/hexon38

  • Nightshaxx 5 years ago

    I have a keychron. It's alright, for some reason I find something about the key layout trips me up (although I've never used a 65%, mechanical, or Mac keyboard before, so one of those may be why). It is pretty high but the solution is to get a 10$ wrist rest.

  • bransonf 5 years ago

    I've been using a CODE [0] with MX Clears on MacOS for a year now.

    well worth it imo.

    [0] https://codekeyboards.com/

  • kfihihcOP 5 years ago

    M60 is compatible with MacOS, even media keys.

scoutt 5 years ago

I wonder how all these maker sellers get along with Bluetooth SiG certification.

Edit: I mean, the product is presented very well. There was a clear investment in time and money. And because of that, this question was the first thing that came to my mind.

  • kevinbowman 5 years ago

    They likely use off-the-shelf bluetooth modules which are already certified, and just talk some kind of higher-level protocol over it which sits above the SiG certification.

    • scoutt 5 years ago

      Many think this is true (even I did) but it's not. You have to certify the product anyway, even if you use an off-the-shelf module.

      The only difference is that you can "certify with test" and "certify without test" (and price changes, starting from 5K a pop). Even evaluation boards and for prototyping, so I guess a end-user keyboard has to be certified[1].

      [1] https://softwareengineering.stackexchange.com/questions/1352...

onetom 5 years ago

A split space-bar version could make it a lot more versatile, without a lot of drawbacks, imho. You could use the 2 halves as layer keys when held or one as space, the other as backspace, or if one half is pressed, then the other half could mean backspace or enter.

There is also the SpaceFn layout, which works with just one space, I know: https://geekhack.org/index.php?topic=51069.0

but it feels like it could be a lot better with split spaces.

  • CarVac 5 years ago

    In my opinion the best use for a second thumb key is Shift, to take load off of the pinky fingers.

manuelabeledo 5 years ago

I would be interested to know what are the real advantages of using Python, instead of the well-established QMK, and what is the purpose of having a M.2 bay (unless that's where the Bluetooth module plugs in).

The PCB looks cool though, and BLE 5.0 is relatively uncommon nowadays (most keyboards rely on older, thus cheaper, Bluetooth enabled SoCs), but apart from that, I see little appeal for someone already invested in building mechanical keyboards.

Animats 5 years ago

What's the point of hand-wiring?

"The Quality Goes In before the Name Goes On. From Zenith, the last TV manufacturer to adopt printed circuits.[1] Not a successful business strategy.

[1] https://www.youtube.com/watch?v=OhZ1L8xA_nU&t=32

VectorLock 5 years ago

Is there an off the shelf MicroPython board that can be used to make something like this using wired switches in a Dactyl / Manuform style keyboard. I see a lot of bespoke keyboard boards using socket style microcontrollers as well.

hackmiester 5 years ago

Was the use of the M.2 slot compliant with usual M.2 pinouts? Seems like an interesting choice. I dug a little, but didn't find much.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection