Future of Kaleidoscope?

I noticed in the recent announcement of Keyboardio Preonic that it will come with QMK instead of Kaleidoscope. Does that signal a change direction for all Keyboardio keyboards firmware?

I am not super into the keyboard scene so I don’t have a strong opinion on which is better. I love my model 100, just like my model 01. I played around with Kaleidoscope and I could certainly do everything I wanted to with it and seemed logically designed. As someone who does some programming, but certainly not embedded or C programming, I could pretty easy follow it and make the changes I wanted, but seems like the rest of the world has sort of standardized on QMK.


The short answer is “we don’t know yet.”

I definitely find myself conflicted about firmware. There’s a lot I like better about Kaleidoscope, but QMK has built a much stronger ecosystem and development community. They’ve been working hard to move keyboard definitions to be data rather than code, and have loads more device support than we do. As a small shop, it’d be very appealing to be able to put more of our resources to making and selling keyboards than maintaining basic firmware functionality.

We haven’t done even speculative engineering on this yet and my heart is definitely with Kaleidoscope, but it’s all going to come down to how we can deliver the best keyboards to the most customers.

That said, having talked to Jack about some of what they’re doing to make QMK more modular and maintainable, I do like what I’m hearing.


I have no idea whether these alluded changes to QMK firmware occured since I made my keymap three years ago. Nonetheless my understanding was that Kaleidoscope represented a quantum (excuse the pun) leap over that system. After all QMK already existed and the cited reason for Kalaedoscope was IIRC because it was felt either that the older system could not be adapted to what Keyboardio wanted, or simply that there was the opportunity to design something better.

So surely the perceived problems with QMK still exist today, and one might reasonably ask:

  1. What were the problems with QMK at the time that made it better to build a new system than contribute fixes?
  2. Whatever the claims for subsequent improvement to QMK, would these problems be locked in to retain backward compatibility?

This backward compatibility would surely limit the margin for breakthroughs in QMK. I would not want a keymap that had previously worked to now be broken if I tried to build it on the latest QMK. When one gets a keymap that works, I think most will forget about it for several years, until they need to make a tweak or replace a broken board. For this reason I think that if a fundamentally newer architecture is reqired a newer firmware should replace QMK, not try to drag QMK into the modern age.

Finally, I think the world of keyboards risks stagnation if there is only one firmware. It may not fall on the shoulders of Keyboardio to do that single-handed, but there certainly should be rivalry to ensure continued refinement. Think BSD and Linux. THe keyboard scene is quite boring now in some respects, with almost anyone converged around Cherry compatible switches and QMK. Keyboardio represented a breath of fresh air, with Matius (Alps) switches and Kaleidoscope firmware.

Whilst I have sympathy with having to ditch the problematic Matius switches, if Kaleidoscope is discarded, what then becomes the unique selling point of Keyboardio? Sometimes there are things whose value is not represented on the balance sheet.


QMK is open source, so I don’t see any concern. Also, there are many other “less popular” firmwares out there. So it will never just be QMK. The die-hard community could continue supporting Kaleidoscope on their own, if they wanted.

I stopped using Kaleidoscope on my Keyboardio Atreus pretty soon after I received it. At the time, QMK had many features Kaleidoscope didn’t. And I already used QMK for a couple of years with my Ergodox, so I wanted many of those features in my Atreus too. QMK was my only option.

The other hurdle for me was that Keyboardio software does not run under FreeBSD (my OS of choice for well over a decade). I can compile and upload QMK firmware without problems under FreeBSD.

Kaleidoscope actually predates QMK.

Well that’s me told then!

QMK was a fork of an earlier firmware called TMK to which it added a whole bunch of whistles and bells. I suspect that TMK in turn predates Kaleidoscope, and whose design is unlikely to have anticipated the complexity QMK added. Sometimes it pays to be second!

I am on Haiku (albeit I have linux, mac too) on which the latest Arduino is not yet ported either, so I am in the same boat. Some might say why not just use Linux as a free Unix everyone else is using, but this is similar to your argument that the loss of kaleidoscope may not be so bed.

Hmm interesting! I’ve somehow missed that announcement and can’t find it on Keyboardio’s blog. Would you mind linking to the original @randomman ?

It was in an email they sent out. I have found they don’t update their blog often.
Below is a copy and paste of the email

Hello from Berkeley!

You might not know it from the weather, but fall’s here and no matter whether you’re headed back to the office or back to school, it’s a great time to treat yourself to a new keyboard. Now’s a great time to pick up a new Atreus or Model 100. You can use coupon code SEPTEMBER2023 to take 10% off a new keyboard.

Over the past few months, we’ve been pretty quiet while we’ve been gearing up for our next few projects. We’ve also been busy settling into our new place, having moved about half a mile north to Berkeley early this summer. Our new workshop and office are still coming together, but we’ve now got a lot more space for the keyboard collection.

We’re quite pleased to be able to tell you about a couple of the next things that we’re doing.

First up is a collab with Jack Humbert and OLKB!

The Keyboardio Preonic

We’re partnering with OLKB to manufacture and distribute a fully-assembled version of their beloved Preonic ortholinear keyboard.

Render of the Preonic with blank keycaps

Starting with the design language we first created for the Keyboardio Atreus, we’ve been working with Jack Humbert, the Preonic’s creator, to hone every aspect of the new keyboard’s design, from the configurable 59/60 key matrix of the traditional Preonic layout to a new 3 key command cluster in the keyboard’s top right corner. All keys will, of course, be hot-swappable.

Side view! (also rendered)

The Keyboardio Preonic will be our first bluetooth keyboard, as well as our first keyboard that ships with preinstalled QMK firmware and VIA configurator support right out of the box.

We’ve got the industrial design and high-level specs for the keyboard just about locked down, but still have a bit of work to do before it’s ready for sale.

We expect to launch a crowdfunding campaign for preorders for the Keyboardio Preonic this winter. If you want to be alerted the moment the campaign goes live and aren’t already on our mailing list, subscribe now.

We’ll be detailing more about the design, pricing, and optional accessories in future updates.

The Model 101

At the same time, we’ve been working on a single-piece version of the Model 100, dubbed the Model 101. This new keyboard will share the exact same key layout and keycaps as the Model 100, but housed in a gently-tented plastic shell. We’re expecting the Model 101 to be a more affordable intro to our sculpted key layout you know and love.

Not a render! A peek at some industrial design prototyping we’ve been doing for the M101

As of right now, we’re expecting the new Model 101 to ship with cushioned palm rests which nestle into the recessed circles you see in the photo above. Right now, we’re hoping to offer a Bluetooth option for the Model 101, but we’re not going to make the final call on that until we have a bit of experience with the bluetooth module on the Preonic.

We expect to offer the Model 101 in a few different colors including a shiny electric-guitar red, a stealth black, and another as-yet-unselected color.

The Model 101 has been a bit further along than the Preonic, but over the past couple of weeks, Preonic development has raced ahead of the Model 101 and we’re currently expecting crowdfunding for the Model 101 to kick off after we launch the Preonic.

The Box Of Crap

Next month, for the first time since December 2019, Jesse’s headed back to China to visit the factory to work on finalizing a number of details for both new keyboards. If you’ve been with us a while, you may be familiar with our side project, the famed Box of Crap.

It’s often the case that work at the factory is a mix of busy 16 hour days and…days when we’re just waiting for suppliers or engineers to do their thing. One of the ways Jesse passes the time is by wandering around Shenzhen’s famous Huaqiangbei market area looking for cool, weird stuff. A couple times now, we’ve sent him into the markets with thousands of dollars to buy the weirdest, most interesting stuff he could for you.

Previous Boxes of Crap have included all manner of weird stuff, including mini-drones, guaranteed-fake SD cards that let you write 4x the amount of data you can read from them, glasses that let you look around corners, strange cables, and fidget spinners (a month before they became ultra-popular).

You can read an account of our first Box of Crap adventure here: https://shift.newco.co/2016/10/13/what-50-buys-you-at-huaqiangbei-the-worlds-most-fascinating-electronic-market/

We haven’t always made money on the Box of Crap, but it’s always been an adventure. We’re going to try changing things up a bit this time - we’re planning on using our fulfillment service to pick and pack everything and expect to use their ultra-discounted rates to ship to the US. Even so, shipping rates are a…large part of the cost of the project. In the past, we’ve paid over $20 for the shipping on $50 Boxes of Crap and there’s always been more cool stuff that we’ve wanted to send folks than we had budget for.

We’re currently expecting to be able to ship 100 Boxes of Crap this time around—that’s around the largest number of orders we think we’d be able to manage easily buying from the resellers in the markets of Huaqiangbei.

To be sure we get you the best possible crap this time around (without losing money on the project), we’re upping our budget a bit. This time, Boxes of Crap will be $100 each, including shipping to the US. (For customs and logistical reasons, we’re only shipping Boxes of Crap to the US this time.) Our goal is to earn $20 of profit per box, to pay $25 or less of shipping per box, and to spend the rest on useless junk you’ll find mildly amusing. None of this stuff will come with any warranty. It’s exceedingly likely that the box will contain items known to the State of California to cause cancer.

Next month, once Jesse is on the ground in China, we’ll send out email to our mailing list announcing when Boxes of Crap will be going on sale.

<3 Jesse + Kaia


I assume will be full Kaleidoscope support for this board as well, for those who prefer it?

1 Like

I’ve been away from the forums for a long while, but I was recently pinged about this topic on the Fediverse, and asked to chime in here. You can read my reply in that link, won’t be repeating it here, not verbatim.

Similarly to @jesse, there’s a lot I like more about Kaleidoscope (but then, I’m as biased as he is, so take this with a grain of salt): the architecture, the plugin system make it easier to cobble together custom firmware, in my opinion. It also results in cleaner, less tangled code in the firmware itself. Kaleidoscope provides a lot more options to push data into EEPROM, so it becomes configurable, and the run-time configuration story with Kaleidoscope is miles ahead of QMK.

Other than the architecture, there are things Kaleidoscope provides that QMK doesn’t:

  • QMK does not support absolute pointers IIRC, so no mouse warp (and mouse warp is amazing).
  • I think Kaleidoscope’s LED story is also better, but that one’s probably debatable (and I haven’t looked at QMK in a while, it might have improved since).
  • Kaleidoscope layers are activation-ordered, while QMK layers are index-ordered. The former is far less surprising. With Kaleidoscope, you can activate layer 2 first, then layer 1, and the lookup order will be 1->2->0. With QMK, if you activate layer 2 first, then layer 1, the lookup order will be 2->1->0, because it always goes from higher to lower.
  • The Focus protocol to fiddle with run-time configuration is something QMK doesn’t have. It has the QMK<->VIA protocol, but last I checked, that’s not nearly as flexible and extensible as Focus.

Mind you, there are plenty of things QMK provides that Kaleidoscope doesn’t: far larger hardware support, rotary encoders, sound(!), to name a few things off the top of my head.

The biggest “selling point” of Kaleidoscope, however, is not the firmware itself. It’s Chrysalis. Chrysalis is lightyears ahead of VIA, and that’s mostly thanks to the firmware’s run-time configuration capabilities.

The Kaleidoscope bus factor is tiny. On the other hand, QMK has a much, much, much larger community, both users and developers, and all of the above features - sans the architecture itself - can be ported over to QMK. It’s even possible to make Chrysalis work with QMK, though that requires a fair amount of work on both sides.


For the Preonic, we don’t know yet. It’s being designed as a QMK keyboard - that’s part of the deal with OLKB.