Comparing KeyboardIO M01 and Ergodox EZ

I’m trying to compare the KeyboardIO M01 against Ergodox EZ to help me buy. Trying to match up the M01 to the points from:

Split/ortholinear/mechanical: Yes in both

Replacing the switches: I think no on the M01 but I don’t care about that.

Tilt-tent/wrist-rest: Out of box in M01 and bought separately in EZ but total cost of EZ with all this seems to be higher

Colours and keycaps: Differently handled by M01

LEDs: M01 wins by far!

2 yr Warranty: Sorry but even googling for “warranty” doesn’t turn out something meaningful! Shouldn’t prospective buyers outright learn what the warranty terms are!? What am I missing?

Open source: Yes in both

Graphical configurator: The Ergodox’s is more mature whereas the M01’s is getting there?

32 Layers: Is there a specific number of layers on the M01?

Hyper/Meh: Meh! I don’t care about these crazy combinations and they are equally possible on M01 as on my current ANSI-type keyboard. But I want to know, what do I do for Win/Level3 and Level5 modifiers?

“Space-cadet shift” aka tap/hold: Does M01’s default firmware provide this?

Mouse control: M01’s Fn layer right? But is scroll available too?

Dual-function keys: Isn’t this the same tap/hold feature as “Space-cadet shift” above? Why is EZ claiming this separately?

That concludes the ErgoDox home page. As for it seems to me that all those points are covered by M01 as well?

BTW the following point on

Additionally, the keyboard is made in an office building in Taiwan by fairly paid employees who enjoy full benefits and holidays – not contractors in a factory in China.

IIUC M01 is made in China. I hope the EZ’s comment is not an indirect reference to that!


For key switches, apparently they can be swapped out: Swapping out keyswitch mechanisms

The Model 01 firmware, Kaleidoscope does indeed have plugins for Space-cadet shift, dual-function keys (which, as you point out, there isn’t really a big difference in practice – SpaceCadet is I guess specifically for shift/parens, while the dual-function is a more general idea), and mouse control, including scrolling (both horizontally and vertically).

The graphical configurator, Chrysalis, is coming along (I’m one of the people working on it) and is fairly functional at this point.

I think there’s a max of 32 layers fo the Model 01 as well.

The Win/Level 3 modifier is the GUI key on the Model 01. Not sure about Hyper – in my experience, I’d just have a key shift into a layer with whatever special keys I want there.


The thing about the ErgoDox for me is that the thumb clusters make no sense. How are you going to be able to press those buttons above the bottom ones?


That’s right. It wouldn’t be difficult to change that limit, though…if someone really wants more than 32 layers. That many layers would use up a lot of PROGMEM, though.

1 Like

Hyper/Meh is also possible, because that’s just Alt+Ctrl+Shift, and you can have an Alt+Ctrl+Shift key on your keymap.

The default firmware does not, but unlike ErgoDox EZ’s QMK, the Model01’s Kaleidoscope supports plugins, and there is a Space Cadet plugin (and DualUse, and OneShots, and dozens of others)…

Yep, and yep!

There are subtle differences, at least in the EZ case. Space-cadet would press the modifier immediately (because parens are shifted too), while DualUse would only press the modifier when the modifier usage of the key is triggered. (If I remember correctly, that is…)

It does not. I believe it was there before the Keyboardio Kickstarter. We are on friendly terms with the makers of the EZ :slight_smile:

Yes. Though, the factory firmware does not have all that many plugins enabled, so if you want to use some of the features provided by these, you will have to compile your own firmware. But that isn’t terribly hard, either. If it is, then we’re doing something wrong, and need to make it more accessible.


18 posts were split to a new topic: Unicode input under QT/KDE

@jesse I think is the person to reply to the above!

The plugin approach is a huge advantage of Kaleidoscope against QMK.

As an ErgoDox EZ user, I try to explain why.

On the EZ and the Planck, both QMK-driven, I use a special keymap that is based on an additional library that I wrote. This library is linked with the firmware code. It contains complex features and, thus, quite some code. With such extensions it is very easy to exceed the limits of the PROGMEM (32k, both for the ErgoDox EZ and the M01).

Because of this memory restriction, it took me some time to get this working with QMK. I had to deactivate other unused features to save PROGMEM. QMK, by default comes with a lot of extras that can be deactivated manually. For a newbie deactivating this stuff is not straight forward as it requires to find out what is enabled in the first place by digging through makefiles and C-headers.

Kaleidoscope’s plugin approach, in contrast, makes it very easy to get rid of unwanted functionality (or adding wanted). It just means commenting or adding lines in/to the Arduino sketch which are related to plugins that are supposed to be excluded or added. This is ridiculously easy compared to the way QMK does it.

You might have noticed, I am quite disappointed by QMK. Hoping to be able to run Kaleidoscope on my ErgoDox EZ and my Planck in the near future and also waiting for my own M01 (currently cheering for chinese wood suppliers), I am working hard to port all the required features I use with QMK to Kaleidoscope.


Just for clarification. The ErgoDox EZ and the Planck are great keyboards. What I wrote above was just about firmware.

1 Like

This point alone carries so much weight it would make me choose the M01 over the Ergodox (and it did).

1 Like

I built an ergodox infinity a while back and ended up selling it to a coworker. The thumb cluster positioning ended up causing me pain while typing. It’s somewhat odd, because I’ve been using a Kinesis Advantage for close to 10 years now, and have never had any problems with it.

If you can, lay hands on each model, we’re all built differently enough that the technical merits of one vs the other may not be the deciding factor.

1 Like

Yes, you can do scrolling with just the Model 01. What Jesse is indicating is that the default firmware doesn’t have the scroll actions mapped to any keys. However, you can change your firmware to put the scroll keys on a map (like this – see the MouseScroll* keys) (or use Chrysalis to map your keys).


I think the issue that really pisses me off about the Ergodox is the thumb keys. My hands are too small to comfortably reach anything beyond the nearest thumb keys.

1 Like

It is possible to do scrolling, with the MouseKeys plugins (where the rest of the mouse keys are too). What isn’t yet possible, is to have wheel-clicks. You can emulate a scroll wheel scrolling, you can’t have it simulate a button too. But we do have 3 mouse buttons one can use. Perhaps more too, but three is what we have in the factory firmware. The HID descriptor allows up to 8 buttons, but as far as I see, we only make three easy to use. You can likely use the rest too, with a bit of work.

I’ll split out the unicode stuff and answer that separately.

1 Like

I haven’t tried the EZ, but I briefly used the original Ergodox and the layout of its thumb-clusters exacerbated my DeQuervain’s something fierce. The M01 on the other hand has been very kind to my thumbs. On that basis alone I’d recommend the M01.

Hey guys, apologies for reviving this thread after a number of months, would be very interested in opinions though.

As a long time (and happy & grateful) user of ergodox ez I’m wondering how folks are actually physically pressing the function keys on the keyboardio.

For bg, I preordered Keyboardio but quickly also bought EZ due to the delays. Due to other commitments etc, haven’t had time to try Keyboardio out until about now really.

The thing that makes me want to use Keyboardio (despite the already sunk financial investment) is what I feel is an under utilisation of my thumbs on the EZ. From the thumb cluster, I can’t reach the far inner row, or the key above one to the inner.

Are folks pressing the keyboardio function keys with the upper or lower joint of the thumbs or more the bottom part of the wrist, and is this sustainable for them? I have been getting thumb pain after only a few hours. Guessing hitting these keys with upper part of thumb would be most comfortable to me, but it does rule out using more than one thumb key at once.

Would really appreciate any instruction or reflection from an experienced user of the keyboardio for thumb use. Photos/video could be really handy :slight_smile:

I could also do with seeing if I can be a bit smarter and use less mouse/trackpad. Any more recent reflections/learning on that subject comparing keyboards/firmwares I would find very interesting.

Thanks in advance (and to the folks who made these 2 excellent keyboards!)

I’m hitting the thumb keys with the upper part of my thumb. I have put my modifiers on the thumb arc, and all of them are OneShot, so I never have to chord them. My other thumb keys are Space, Backspace, Esc, and Enter - I rarely need to chord those either.

This way pressing any of the thumb keys is convenient, I never have to worry about holding more than one (per hand), and thus my thumbs are happy with this setup.


I use my thumb’s middle joint (of three). While I’m doing that, the tip of that same thumb can comfortably press any one key in the corresponding thumb arc.


Sounds awesome, thanks. OneShot sounds like the way forward :smile: . Will check out out when time allows.

Just wonder, do you still use the FN (bottom thumb) keys much/at-all?

Yeah, those two are my layer switch keys (each a different one, both of them OneShot).