Keyboard Device
Keyboard device configuration contains keyboard name, USB VID/PID, etc, which is the information about your keyboard that appears to the operating system or identifies your device.
Basic Configuration
The keyboard device info is defined in [keyboard] section of keyboard.toml, or device_config field in RmkConfig struct:
To make your keyboard to be recognized by Vial, the serial_number shall start with vial:f64c2b3c:
Hardware Selection
You must specify either a chip or board in keyboard.toml, but not both:
Option 1: Specify Chip
Option 2: Specify Board
Supported Hardware
Supported Chips
- Nordic nRF52 Series:
nrf52840,nrf52833,nrf52832,nrf52811,nrf52810 - Espressif ESP32 Series:
esp32c3,esp32c6,esp32s3 - Raspberry Pi:
rp2040 - STM32 Series: Any STM32 chip supported by embassy-stm32 with USB capability
rp2350 is currently supported via the Rust API examples, but keyboard.toml chip selection only recognizes rp2040 for now.
Supported Development Boards
nice!nano- nRF52840-based wireless boardnice!nano_v2- Updated version of nice!nanopi_pico_w- Raspberry Pi Pico W with WiFi/BLEXIAO BLE- Seeed Studio XIAO nRF52840
Board names are case-sensitive.
USB Configuration
For microcontrollers that lack full USB device functionality (such as the nRF52832 or ESP32-C3), USB support must be explicitly disabled: