For keyboard, the strongest matches are qmk/qmk_firmware (This repository is the definitive firmware framework for programmable), tmk/tmk_keyboard (This repository provides programmable keyboard firmware that handles key) and zmkfirmware/zmk (ZMK is an open-source wireless keyboard firmware framework built). josefadamcik/soflekeyboard and espressif/esptool round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Discover the best open-source custom mechanical keyboard repositories, ranked by stars and activity, to help you find the right fit.
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
This repository is the definitive firmware framework for programmable mechanical keyboards, providing all the keymap customization, macro support, RGB control, and layer switching capabilities required by the search.
tmk_keyboard is keyboard firmware for AVR and Cortex-M microcontrollers designed to handle key matrix scanning and HID communication. It functions as an embedded hardware control library for managing GPIO pins and EEPROM storage, as well as a driver that transmits keystroke and mouse data to a host computer via USB or PS/2 protocols. The project features a layer-based keymap engine that allows physical keys to be mapped to multiple virtual layers. It also includes a legacy keyboard protocol translator to convert signals from vintage hardware standards to modern computer interfaces. The firmw
This repository provides programmable keyboard firmware that handles key matrix scanning, layer switching, and macro support, though it lacks some modern high-level configuration tools.
ZMK is a modular firmware framework built on the Zephyr RTOS for wireless keyboards. It functions as a programmable system for defining custom keymaps, layers, and input behaviors, acting as an HID device emulator for keyboard and mouse input on computers and mobile devices. It specifically provides a controller solution for synchronizing two separate keyboard halves over wireless or wired links. The project is distinguished by its focus on Bluetooth Low Energy connectivity, featuring multi-device pairing and the ability to switch between several saved host profiles. It includes advanced powe
ZMK is an open-source wireless keyboard firmware framework built on Zephyr RTOS that supports custom keymaps, layers, macros, lighting control, and split keyboard configurations.
This project provides hardware specifications and configuration sets for building programmable split mechanical keyboards and macro pads. It focuses on column-staggered designs that utilize the QMK firmware framework to manage input behaviors and keymaps. The hardware design emphasizes modularity and customization, featuring hotswap sockets for switch replacement without soldering, rotary encoders for specialized control, and low-profile switch options. Visual feedback is integrated through per-key RGB lighting and I2C-based OLED status displays. The system covers a broad range of capabiliti
This repository provides hardware designs and wiring specifications for building a split mechanical keyboard rather than the programmable firmware or configuration software itself.
esptool is a Python-based serial utility designed for flashing firmware, configuring hardware fuses, and provisioning Espressif system-on-chip devices. It functions as a serial firmware flasher and hardware provisioning tool that interacts with chips over a serial connection to enable program execution and device setup. The tool provides specialized capabilities for managing Espressif hardware, including the ability to set permanent electronic fuses to lock security settings and define hardware-level configurations. It also features a serial communication bridge that routes network traffic to
This repository is a general-purpose serial firmware flasher for microcontrollers rather than mechanical keyboard configuration software, making it a low-level building block outside your target domain.
Psychson is a toolset for modifying USB firmware binaries and flashing custom images to specific hardware controller architectures. It provides utilities for dumping, patching, and flashing custom firmware specifically for Phison 2251-03 USB controllers. The software includes a payload injector for embedding HID keystroke scripts into USB firmware to automate inputs on a target machine. It also features a controller flasher for writing modified burner images directly to Phison-based USB hardware. The suite covers firmware management and hardware forensic analysis, including capabilities for
Psychson is a low-level toolset for flashing and modifying Phison USB controller firmware, which is used for hardware security testing and BadUSB payloads rather than user-facing programmable mechanical keyboards.
stlink is a toolset for ARM Cortex-M flashing, firmware management, and debug server operations, with specific support for STM32 microcontrollers. It provides an ARM Cortex-M flash programmer for writing binary and hex files, an ITM trace logger for real-time instrumentation data, and a SWD/JTAG debug server. The project includes a graphical user interface for managing MCU firmware and exporting memory, as well as a remote server that allows external debuggers to control execution and inspect registers on target hardware. The toolset covers microcontroller memory management through flash era
This is a low-level microcontroller flashing and debugging toolset for STM32 chips, which can program microcontrollers but lacks the keymap customization, macro support, and keyboard configuration features needed for custom keyboards.
probe-rs is an embedded debugging toolset used for flashing, debugging, and inspecting microcontrollers via hardware debug probes. It functions as an embedded firmware flasher, a memory manager for reading and writing to processor registers, and a server implementing the Debug Adapter Protocol to connect hardware debugging to various code editors. The project includes a CMSIS-Pack target parser to extract device metadata and flash configurations from industry-standard definition files. It provides a driver-based probe abstraction to interact with various hardware debug probes regardless of th
While it provides firmware flashing capabilities for microcontrollers, this is a general embedded debugging toolset rather than software or firmware dedicated to programmable mechanical keyboards.
Files related to the Kyria keyboard.
This repository contains hardware design files for a specific split keyboard rather than programmable firmware or configuration software, making it a physical building block rather than the tool you are looking for.
Ergonomic keyboard
This repository contains hardware designs for a split ergonomic keyboard rather than the programmable firmware and configuration software requested.
Parameterized ergonomic keyboard
This repository provides OpenSCAD models for generating ergonomic keyboard hardware rather than the firmware or configuration software needed to program keymaps and lighting.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| qmk/qmk_firmware | 20.5K | C | GPL-2.0 | |
| tmk/tmk_keyboard | 4.1K | C | — | |
| zmkfirmware/zmk | 4.1K | C | MIT | |
| josefadamcik/soflekeyboard | 2.5K | G-code | NOASSERTION | |
| espressif/esptool | 6.4K | Python | GPL-2.0 | |
| brandonlw/psychson | 4.2K | C# | MIT | |
| stlink-org/stlink | 5.1K | C | BSD-3-Clause | |
| probe-rs/probe-rs | 2.6K | Rust | apache-2.0 | |
| splitkb/kyria | 355 | — | NOASSERTION | |
| fsund/pteron-keyboard | 170 | — | CC-BY-SA-4.0 |