This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer.
The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to define layouts and pin mappings through structured JSON files or visual design interfaces.
The system covers a wide range of capabilities, including matrix scanning for switch detection, layer-based keymap resolution, and complex input handling such as key chords and tap-hold timing. It also includes drivers for hardware integration, such as battery level sampling, split keyboard synchronization, and the control of addressable RGB LEDs and backlighting.
The project includes a development toolchain installer to set up the compilers and utilities required to build and deploy the firmware.