The Model 100 is a split, ergonomic, programmable keyboard from Keyboardio

Want to watch the video version of this review? You can watch it on my YouTube channel here.

Setting it apart from most keyboards, is that it is made primarily from wood; you can choose walnut, as I did, or a lighter coloured maple.

You can order it with a few different Kailh Box MX switches, the silent Tactile, Box white clicky, or the Box Silent linear, which are actually Kailh Deep Sea Box silent switches which is what I opted for. But this is a hotswap board so if you don’t like what you chose, it is easy peasy to swap to something else.

Shipping to the UK took a couple of weeks and I got stung for duty. It’s 50/50 when you order a board from overseas, and this one I was unlucky. It ended up about £280 plus £80 in import fees. So, with or without import fees, this is an expensive keyboard, make no mistake.


The Model 100 arrives beautifully presented and comes in a very substantial carry case, which folds open to reveal each half of the board, 2 ethernet cables, a keycap puller, and a spare switch.

picture of Keyboardio Model 100
Beautifully presented with nice extras

In practice I find the small ethernet cable too short, while the other one is way too long. But the idea with the short one is that it lets you use the joiner thingy which slides on and lets you connect the two halves so it is more like one unit.

The keyboardio Model 100 halves joined together
It’s possible to join the two halves as one unit

The board feels great. The combination of these silent switches and the wooden case gives it a nice ‘thockiness’. In terms of feel, when I started using it I was surprised to find how much difference these individually sculpted ABS keycaps make. To type on, it is kind of like a half way between a flat split board, like say the Moonlander, and a proper keywell keyboard like the Kinesis Advantage360, or Glove80. These custom moulded keycaps really are spectacularly effective at orienting your hands on each side as you place them to rest. There is also homing bars for both the index and pinky fingers, as well as one of the thumb keys, I like that a lot.

the sooped keys of the Model 100
Keys are ABS but the scooped profile really adds something

However, there is a potential downside to these keycaps. Although they are MX stem, because they are entirely bespoke, so you can’t add any aftermarket sets, you will need to get any replacement key caps from keyboardio. And as they are ABS, which feel fine, they will develop some shine over time. Keyboardio does different sets for different layouts and regions, and also do a blank set, but they don’t have any cut-out for the light, so be aware that the lovely per key RGB you can enjoy shining through with say the QWERTY set, you won’t get with the blanks.

RGB lighting

And on the subject of lighting, the Model 100 has per key LED lighting which you can easily configure in the GUI editor, if that’s your thing. I don’t know why but I find the lighting on these custom keycaps against the wood aesthetic oddly charming.

Octo stand

It’s also worth mentioning that, although I didn’t order one, you can also purchase a stand kit for the Model 100, that Keyboardio calls the Octo-stand. It is refreshingly inexpensive, at around $20, and allows up to 7.5 degrees of tilt in any direction.

Palm keys

Beside the wooden enclosure, the other thing that really intrigued, and drew me to this keyboard was the palm keys. Now despite the odd shape, they are just normal MX switches underneath with a custom keycap. And as this board is fully programmable, you can obviously set them to do what ever you want. For the most part I used them to switch layers, so I could hold down my left palm and get a layer on the right with my arrows, or hold down the right one and get a numpad on the left. Before I discuss how I got on with that, let’s talk about programmability.

Programming and layout

The Model 100 is fully programmable and there are a couple of ways to amend your layout. One is Crysalis, which is a GUI-based layout you can use as an app, or on the web. It’s a really nice clear interface where you can simply set up your layers and layout. My understanding is that in some point in the past Dygma forked Crysalis for their own GUI, which would make sense because Crysalis gives you that same fantastic feedback loop where you don’t need to Flash a file. Certainly not in any way that feels like flashing a file. You make you layout changes and click a button and that’s it, its on your board. It makes iteration so quick and painless, I love it.

However, the functionality of Crysalis is limited. Things like timings for mod-tap keys, where a key does one thing on a tap and another key on a long press, you can’t deal with sufficiently in Crysalis. Instead you need to use the Arduino IDE.

Kaleidoscope and the Arduino IDE

Kaleidoscope is firmware for the Model 100 that you can write via the free Arduino IDE. In the IDE, you have what it calls a ‘sketch’ which as far as I can gather is just a file that creates the Kaleidoscope firmware for the Model 100. If you have ever written your keyboard layout in code for other boards with QMK instead of a graphical interface like VIA or VIAL, it’s much the same experience. You have a keycode for each switch position and you repeat this for your various layers and that gets compiled to your firmware.

However, anything more complicated like Home Row Modifier timings is a little more fraught as many of the more advanced features that kaleidoscope enjoys come via included 3rd party code, like QuKeys in this instance, which is what gives you what I know as mod-taps and I didn’t find example code on this easy to come by and involves a lot of trial and error…

Right lets stop a minute before I go too far into the weeds here. If at this point things are starting to sound unclear, and perhaps a little complicated, that’s because they are. For the typical keyboard owner, you just don’t care about any of this, you just want the simplest way to get your keyboard doing what you want it to do. And using an IDE to get your programmable keyboard up and running is not simple.

I didn’t end up in Kaleidoscope because I wanted to, I ended up there by necessity.

I was trying to set up home row mods, where each home row key doubles as a modifier like shift, control or super, was pretty much unusable, and I was getting all sorts of incorrect key actuations due to timings. This is not something that the average user would be bothered about, or likely to encounter, but keyboard nerds like me, and perhaps you, are.

The slightly good news is, once you set things like QuKeys timings up how you want in the IDE and Flash the Model 100, they are unaffected by further changes in Chrysalis. So it’s possible to just flash it once with your timings in the Arduino IDE, and then continue to edit in Chrysalis, and that keymap will supersede the one you had set in the Arduino IDE.

But the takeaway here is that sorting something like a tap-dance or timing for home row mods is a poor user experience and I feel should be catered for in the GUI. If that sort of thing isn’t something relevant to your needs, don’t worry because you can happily just enjoy the GUI which is well enough done and fairly pleasant to use.

Physical key layout

In terms of the physical layout of the switches, I found the Model 100 to be very comfortable. The splay of thumb switches means that whether you like keeping your thumb closer to your palm, or further out, there is a switch for you. Unlike the Glove80, Dygma Defy, or Kinesis, there aren’t different rows of thumb switches, just one pleasant arc. For someone that doesn’t like overloading the thumbs with constant work beyond slapping a space bar or enter, that’s a bonus.

thumb keys of the Model 100 lit up
Fully programmable RGB lighting and the thumb arc is nicely spaced

Now, in my time with the Model 100, I’ve come to realise I’m not a fan of single height and width thumb keys. Sadly, my typing style just isn’t that accurate and I would personally favour a larger hit area but if you are an accurate typer, I think this arc of switches is very comfortable and well considered. It might not have the appeal of a some other boards with masses of thumb keys, but I actually find this simpler bank of keys more practical. Furthermore, those keys have a nice rounded keycap on them so there are no sharp edges. I think most people are going to find this an incredibly comfortable keyboard for daily use.

Sadly, I didn’t really get on with those palm switches as well as I had hoped. I love the idea of them but I find I have to hover my palm and thumb at all times, just a little. And, just like other split ergo boards I have, that necessitates my thumb being above the height of my palm in a resting state. And its my belief this contributes to the thumb pain I start to get after 2-3 days of continued use with this board or say the Advantage360 and Glove80.

Now this isn’t something that is a direct criticism of this board really, or any of those other boards. Plenty of other people find those boards incredibly comfortable. And I acknowledge a lot of research has gone into making those boards comfortable for most users. Rather, it’s an incompatibility between my body mechanics and those designs. But the net result is that I think I would have spent a lot longer with the Keyboardio Model 100, if it wasn’t for that. As it is, I’ve had to accept this isn’t a keyboard I’ll comfortably use as a daily driver. Well certainly not with those palm switches.

There are enough keys on this and the aforementioned boards to set those palm, or thumb keys to nothing, and just enjoy the rest of the board, and this might be something I do in future but at present, this is where I am at.

Support and Community

Keyboardio has an online forum as well as a Discord server. Forums are the medium I generally prefer due to searchability on the web, but it is hard as a new user to know where you should be directing your queries for the quickest response. Due to the lack of friction using Discord, I opted to use that instead.

The Discord is not hugely active. I wouldn’t say it is hostile to newcomers but I felt there was an expectation there you have a level of understanding of the way it all works in Keyboardio land. That was a level of understanding that I, as a beginner, simply didn’t possess. A lot of the time responses are just a case of, “You can only do that in Kalidoscope” and little more, which is pretty frustrating for a newcomer.

If the Model 100 wants to appeal to a broader market, this is where I feel a lot more work needs to go. Something like the Glove80 has enjoyed a lot of success and traction, I feel, because they put so much time into building and supporting their community on their Discord server.


So where does this leave me with the Model 100?

I love the quirky aesthetic, it’s great to type on and sounds great with the Kailh silent switches. I don’t like ABS for keycaps because of the eventual shine but the custom moulds really add something to the overall experience, guiding your fingers to the right key, and I appreciate that they are rounded on certain keys where they need to be.

The palm keys are something you don’t get elsewhere but didn’t ultimately work out for me.

For everyday setup, the GUI is very nice and simple. If you have more complex needs like tweaking the timings for keys or setting up things like tap-dance, you will need to use an IDE which is regrettable as it is a lot more involved and frustrating.

While this likely won’t be my daily driver, I think it could be plenty of other peoples. My particular body mechanics and sloppy typing mean this isn’t the best choice for me, but I genuinely appreciate the vast majority of the Keyboardio Model 100 design choices, and it is a keyboard I don’t think ever really gets the attention or consideration it should.

Learn to use CSS effectively, 'Enduring CSS' is out now

Get $5 off HERE ↠

Write and maintain large scale modular CSS and embrace modern tooling including PostCSS, Stylelint and Gulp