Skip to main content

Officially supported microcontrollers

While most CircuitPython devices are great for hand wired keyboards, most keyboards are designed to accept a Pro Micro. The boards listed below either are, or can be adapted to that pinout to use common keyboards already on the market.

nice!nano

Features include

  • Pro Micro pinout
  • Both USB HID and Bluetooth support
  • Can do Bluetooth split keyboards with no wires at all
  • Has battery support including charging

Downsides

  • $25 USD per microcontroller at most retailers
  • Not enough space to run KMK without compiling

Pre-compiling KMK for nice!nano

As the nice!nano has limited flash memory you'll need to compile KMK. To do that you'll need to download and install the compatible mpy-cross for your Operating System. Don't forget to add it to your PATH, test by running mpy-cross from a shell (Powershell, Bash, Fish, etc). Once that's set up, run either make compile (if you have make) or python util/compile.pyto generate the .mpy versions of KMK files. Then copy the whole compiled kmk/ directory to your keyboard.

Common Retailers

ItsyBitsy M4 Express

Features include

  • Affordable at $15 USD
  • Can run most features of KMK including RGB

Downsides

  • Needs adapted to work with Pro Micro pinout keyboards. Adapter can be found HERE

Common Retailers

RP2040

Features include

  • Very affordable
  • Very powerful for the price

Downsides

  • Little support for keyboard kits

Common Retailers

Adafruit ItsyBitsy nRF52840 Express

Features include

  • Both USB HID and Bluetooth support
  • More affordable than the nice!nano at only $18

Downsides

  • Needs adapted to work with Pro Micro pinout keyboards. Adapter can be found HERE
  • No battery support without addon board found HERE

Common Retailers

Other microcontrollers

What you'll need to have at minimum

  • CircuitPython
  • 256KB of flash storage
  • HID over USB and/or Bluetooth.