12 ms·
M60 – Open-Source USB&BLE, Hot-Swappable Mechanical Keyboard Powered by Python
- agrippanux 6y agoThis 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.
- mosselman 6y agoThis sound fascinating. Could you give us some examples of what you'd like your keyboard to do?
- tyingq 6y agoVarious DIY approaches, if you're open to some research: https://www.reddit.com/r/MechanicalKeyboards/wiki/firmware?v=b97827be-df8b-11e4-8cbb-22000b698d20 https://www.reddit.com/r/MechanicalKeyboards/wiki/firmware?v...
- jtuente 6y agoA 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.
- ashtonkem 6y agoTo 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 6y agoIt 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 6y agoIt'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 6y agoThere is also config.qmk.fm so you can do it all visually in a browser.
- lukevp 6y agoI 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?
- packetlost 6y agoI 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
- rgoulter 6y agoI'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 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 6y agoBeing 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.
- fheld 6y 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-of-m60-mechanical-keyboard https://makerdiary.com/blogs/mechanical-keyboards/the-story-...
- RealStickman_ 6y agoI'm really not a fan of these minuscule keyboards but I'd definitely be interested in a TKL version.
- angrygoat 6y agoSomething 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 6y agoI 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)
- aosaigh 6y agoI'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 6y agoAfter 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 https://github.com/pepaslabs/hexon38
- kfihihc 6y agoM60 is compatible with MacOS, even media keys.
- bransonf 6y agoI've been using a CODE [0] with MX Clears on MacOS for a year now. well worth it imo. [0] https://codekeyboards.com/ https://codekeyboards.com/
- Nightshaxx 6y agoI 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.
- jdlyga 6y agoI 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.
- cellularmitosis 6y agoOne 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.
- the_pwner224 6y 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 6y agoI’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.
- VectorLock 6y agoIs 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.
- the_pwner224 6y agoAt the bottom of the page there's a link to an article on hand wiring this keyboard: https://makerdiary.com/blogs/mechanical-keyboards/a-hand-wired-usb-bluetooth-keyboard-powered-by-python https://makerdiary.com/blogs/mechanical-keyboards/a-hand-wir.... That article in the list of materials lists 'Pitaya Go': https://github.com/makerdiary/pitaya-go https://github.com/makerdiary/pitaya-go. From that page I also found to https://makerdiary.com/collections/frontpage https://makerdiary.com/collections/frontpage where you can buy one. And the code from the hand wiring post: https://github.com/makerdiary/python-keyboard https://github.com/makerdiary/python-keyboard. It's a bit expensive at $30 but seems a lot better than the Pro Micros normally used with QMK, and the shop has other form factors which are cheaper. With WiFi on the chip too this could potentially push forward the frontier of cool keyboards. I wonder how hard it would be to make a split keyboard with these. Probably you could do I2C over a TRRS cable.
- 1MachineElf 6y agoOne 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.
- kfihihc 6y agoYou got the point :) Hoping you will enjoy M60.
- dmix 6y agoMaybe 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.
- jolmg 6y agoI'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 https://en.wikipedia.org/wiki/Hot_swapping
- hnarn 6y ago
- onetom 6y agoA 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 https://geekhack.org/index.php?topic=51069.0 but it feels like it could be a lot better with split spaces.
- CarVac 6y agoIn my opinion the best use for a second thumb key is Shift, to take load off of the pinky fingers.
- scoutt 6y agoI 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 6y agoThey 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 6y agoMany 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/135285/when-does-it-become-mandatory-to-sign-up-with-the-bluetooth-special-interest-gro https://softwareengineering.stackexchange.com/questions/1352...
- hackmiester 6y agoWas 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.
- kfihihc 6y agoYou can find more details about M.2 Module here: https://makerdiary.com/collections/frontpage/products/nrf52840-m2-module https://makerdiary.com/collections/frontpage/products/nrf528...
- manuelabeledo 6y agoI 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.
- JustFinishedBSG 6y ago> what is the purpose of having a M.2 bay To plug an NRF52840 https://makerdiary.com/collections/frontpage/products/nrf52840-m2-module https://makerdiary.com/collections/frontpage/products/nrf528...
- Animats 6y agoWhat'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 https://www.youtube.com/watch?v=OhZ1L8xA_nU&t=32