kiibohd/controller logo

kiibohd/controller

Free

Kiibohd Controller

FreeFree tier
Type
Open Source

About kiibohd/controller

The Kiibohd Controller is an open-source firmware for custom mechanical keyboards. It supports a wide range of microcontrollers including Teensy and ARM Cortex-M4 chips. The firmware uses the Keyboard Layout Language (KLL) for defining key layouts and is compatible with official keyboards like the K-Type and WhiteFox. It features a modular architecture with scan, macro, and output modules. Development is done using CMake and compilation is supported on Windows, Linux, and macOS.

Key Features

KLL (Keyboard Layout Language) support
Modular architecture: Scan, Macro, Output modules
Supports multiple microcontrollers (Teensy 3.x, atsam4s, etc.)
Cross-platform compilation (Windows/Linux/macOS)
Docker-based build environment recommended
Custom bootloader available
Active community and contributions welcome

Pros & Cons

Pros
  • Highly modular and extensible architecture
  • Supports a wide range of microcontrollers and keyboards
  • Uses a dedicated layout language (KLL) for flexibility
  • Active open-source community
  • Cross-platform development
Cons
  • Steep learning curve for beginners due to KLL and build system
  • Deprecated Teensy 2.0 support may cause issues for older hardware
  • Documentation could be more comprehensive for custom keyboards

Best For

Building custom mechanical keyboard firmwareDeveloping keyboard layouts with KLLPorting firmware to new microcontrollersCreating key matrix scanning and output modules

FAQ

What microcontrollers does Kiibohd support?
The firmware supports atsam4s, Teensy 3.0/3.1/3.2, mk20dx128vlf5, mk20dx256vlh7, with deprecated support for Teensy 2.0 and 2.0++.
How do I compile the Kiibohd firmware?
Compilation is tested on Windows, Linux, and macOS. The recommended method is using the provided Dockerfile. Native compilation instructions are available on the wiki.
What keyboards are officially supported?
Official keyboards include Gemini, Dusk and Dawn, Infinity 60%, Infinity 60% LED, Infinity Ergodox, K-Type, Kira, and WhiteFox. Many other custom keyboards are also supported.
Is there a bootloader available?
Yes, a custom bootloader based on McHCK is available for blank MCUs or re-flashing the bootloader with external tools.