Skip to content


Modules, unlike extensions, change how your keyboard works. These are meant to have the ability to alter the core code in any way. Unlike extensions, these are not in a sandbox, and can make massive changes to normal operation.

Core Modules

These modules are provided in all builds and can be enabled. Currently offered modules are

  • Combos: Adds chords and sequences
  • Layers: Adds layer support (Fn key) to allow many more keys to be put on your keyboard.
  • HoldTap: Adds support for augmented modifier keys to act as one key when tapped, and modifier when held.
  • Mouse keys: Adds mouse keycodes.
  • OneShot: Adds support for oneshot/sticky keys.
  • Power: Power saving features. This is mostly useful when on battery power.
  • Split: Keyboards split in two. Seems ergonomic!
  • SerialACE: [DANGER - see module README] Arbitrary Code Execution over the data serial.
  • TapDance: Different key actions depending on how often it is pressed.
  • Dynamic Sequences: Records a sequence of keypresses and plays it back.

Require Libraries

These modules can be used without specific hardware, but require additional libraries such as the Adafruit CircuitPython Bundle.

  • MIDI: Adds sending MIDI data in the form of keymap entries.


These modules are for specific hardware and may require additional libraries to function. - ADNS9800: Controlling ADNS9800 optical sensor. - Encoder: Handling rotary encoders. - Pimoroni trackball: Handling a small I2C trackball made by Pimoroni. - AS5013 aka EasyPoint: Handling a small I2C magnetic position sensor made by AMS.