3.0 KiB
Supported Devices
Board | Chipset | Python Platform | Notes |
---|---|---|---|
Adafruit Feather M4 Express | Atmel SAMD51 (Cortex M4F) | CircuitPython | An economical solution for basic USB keyboards |
Adafruit ItsyBitsy M4 Express | Atmel SAMD51 (Cortex M4F) | CircuitPython | A smaller solution for basic USB keyboards |
Support Planned/WIP
Board | Chipset | Python Platform | Notes |
---|---|---|---|
Seeed nRF52840 Micro Dev Kit | nRF52840 | CircuitPython | This is basically as bleeding edge as it gets. Will support BLE HID to PC as well as BLE split boards |
Planck rev6 Keyboard | STM32 of some sort | MicroPython | Requires porting MicroPython to STM32F3, this work has begun but I'm pretty terrible at it. |
Proton C Controller? | ??? | ??? | Does not exist yet, the controller from a Planck rev6 in a Pro Micro pin-compat controller chip |
Unsupported Devices
Here's a list of problematic, but possibly usable microcontrollers:
Board | Chipset | Python Platform | Notes |
---|---|---|---|
Adafruit Feather Huzzah | ESP8266 | CircuitPython | Suuuuuper limited on GPIO lanes, Lack USB HID (HW) |
Adafruit HUZZAH32 | ESP32 | MicroPython | This may work as a BLE HID device, or with a GPIO-based USB breakout. Lacks USB HID (HW) |
Adafruit Feather nRF52 BLE Controller | nRF52832 | CircuitPython | Lacks USB HID (HW), but could be fixed with GPIO USB breakout. BLE HID should be possible, but it's considered somewhat unstable. This chip is considered "mostly unsupported" in CircuitPython at the time of writing. |
Porting new devices
Pull requests are welcome and encouraged to add support for new keyboards/microcontrollers. The base requirements for device support
- CircuitPython or MicroPython
- 256KB of flash storage
- HID over USB or Bluetooth.
Secondary Support
In the future, secondary support for lesser controllers is planned. One of these cases is the pro micro being used for a slave half of a split keyboard while all actual work is being done by a supported board. This could also be used to convert boards that use USB or i2c that run lesser chips to a KMK board, with a supported board acting as a translation layer. Support for a converter is planned with the inspiration coming from the Hasu USB to USB Controller Converter and would allow for conversion to KMK as opposed to TMK or QMK with that board.