What are the gotchas to porting Kaleidoscope to different keyboards?

So, the Model 01 is built around an ATMega32u4 in each half of the keyboard. It turns out, in the build-your-own keyboard world, the ATMega32u4 is an incredibly popular chip to use β€” principally via the Pro Micro and the Teensy boards. As such, getting Kaleidoscope to run on the Pro Micro and the Teensy would give a significant fraction of the DIY keyboard community the choice between QMK and Kaleidoscope.

To the aforementioned end, what are the known gotchas to porting Kaleidoscope to run on the Pro Micro and/or Teensy?

I know many (most?) keyboards which use the Pro Micro and Teensy use proprietary boot loaders (vs. the open-source boot loader used in the Model 01). So a common basic open-source keyboard boot loader is one thing that would need to be coded.

And this is pretty much where my knowledge of porting gotchas ends. Which is why I’m asking the Keyboardio community for help in identifying where the pain points are likely to be found. :slight_smile:

Famous last words: β€œHow hard can it be to port Kaleidoscope to other keyboards?” :stuck_out_tongue:

1 Like

This has been discussed a bit already, but not in great depth:

Actually, if my memory is correct, it’s one ATmega32u4 (in the left half), and two ATtiny88’s (one in each half, doing the key scanning).

1 Like

Also here: Porting Kaleidoscope to other hardware


It’s not terribly hard, it has been done before in a proof-of-concept way. I got Kaleidoscope to run on my ErgoDox EZ too (but it didn’t do anything useful). You can use the proprietary boot loader too (I did that), or Caterina may work there too.

The biggest issue is likely figuring out the PIN stuff, the rest should be pretty straightforward.