A curated list of awesome ZMK firmware resources, links, zmk-config's, zmk-drivers, tools, hardware, and community projects.
- What is ZMK
- Official Resources
- Quick start
- Community zmk-config user configurations
- Community Documentation
- Community firmware Modules and Behaviors
- Tools and Software
- Hardware Addons must-have
- Community Pointing Projects as Computer Mouse
- Guides and Tutorials
- Keyboard Shops
- Keyboard News
- Projects using ZMK closed-source or not upstreamed
- Related projects
- License
Pete Johanson 1 is the creator and lead maintainer of the ZMK Firmware project
Zephyr™ Mechanical Keyboard (ZMK) Firmware
ZMK Firmware 23 is an open source (MIT) keyboard firmware built on the Zephyr™ Project Real Time Operating System (RTOS) 45. ZMK's goal is to provide a modern, wireless, and powerful firmware free of licensing issues.
In ZMK, a board defines the PCB that includes the microcontroller unit (MCU). For keyboards, this is one of two options:
Complete keyboard PCBs that include the MCU (e.g. the Planck or Preonic). Small MCU boards (e.g. the nice!nano or Seeed Studio Xiao RP2040) that expose pins and are designed to be combined with larger keyboard PCBs, or hand-wired to switches to create the final keyboard 6.
In ZMK, a shield is a PCB or hardwired set of components that when combined with an MCU-only board, like the SparkFun Pro Micro RP2040 or nice!nano, results in a complete usable keyboard. Examples would be keyboard PCBs like the Kyria or Lily58. The shield is usually the big PCB containing all the keys 6.
ZMK makes use of Zephyr modules to include additional source code or configuration files into its build. You can think of them as similar to plugins or themes. The most common uses of this feature are:
- Building firmware for a keyboard external to ZMK's tree 7
- Adding functionality to ZMK, such as a driver or a behavior 7
- ZMK Documentation - The primary source for all information regarding ZMK.
- ZMK GitHub Repository - The source code and development hub.
- ZMK Discord Server - The main hub for community discussion, support, and development.
Zephyr Project:
- Zephyr Project Documentation - The underlying RTOS for ZMK. Useful for deep-dives and driver development.
- Zephyr Project Code Repository on GitHub - Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
Nordic Semiconductor:
- nRF Connect SDK (sdk-nrf) - Main nRF Connect SDK repository (west manifest, subsystems, samples).
- Nordic DevZone (Q&A & Forums) - official community forum and tech Q&A (searchable issues, examples, vendor replies).
- nRF Connect SDK docs / install guide - official installation & platform-specific setup for NCS.
- Nordic Developer Academy / Tutorials - self-paced courses and examples (useful to onboard newcomers).
ZSWatch - Zephyr Smartwatch:
- jakkra/ZSWatch - ZSWatch the Open Source Zephyr™ based Smartwatch, including both HW and FW.
- ZSWatch - Smartwatch built from scratch, both hardware and software. Built on the Zephyr™ Project RTOS, hence the name ZSWatch - Zephyr Smartwatch.
- Getting Started Guide - The official guide to setting up your
zmk-configrepository. - Unified ZMK Config Template - A template for managing multiple boards and shields in a single configuration repository.
- ZMK Module Template - A template for creating your own external ZMK modules (behaviors, drivers, etc.).
- mctechnology17/zmk-config - Quickly and easily configure your Wireless corne - sofle - lily58 keyboard with ZMK
- urob/zmk-config - Personal ZMK firmware configuration for various boards (34-keys, Corneish Zen, Planck)
- caksoylar/zmk-config - ZMK user config containing keymap for 26-36 key keyboards
- badjeff/zmk-config - Personal ZMK firmware configuration for various boards
- manna-harbour/miryoku_zmk - Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout. Miryoku ZMK is the Miryoku implementation for ZMK.
- sadekbaroudi/zmk-fingerpunch-keyboards - The purpose of this repository is to house all the ZMK boards and shields associated with fingerpunch keyboards.
- englmaxi/zmk-config - Personal zmk-config for my ergo keyboards
- sunaku/glove80-keymaps - Glorious Engrammer keymap for Glove80 keyboard
- SethMilliken/zmk-config aka araxia - ZMK Firmware Configuration
- tokyo2006/zmk-config-corne - ZMK Firmware Configuration
- a741725193/zmk-corne-oled - (Eyelash Peripherals) Corne ZMK Repository with oled screen
- a741725193/zmk-new_corne - ZMK Firmware Configuration
- eigatech/zmk-config - ZMK Firmware Configuration
- MickiusMousius/RolioFirmware - Firmware for the Rolio split wireless keyboard.
- kumamuk-git/zmk-config-roBa - zmk-config-roBa
- aroum/zmk-enki42-dongle - ZMK config for enki42 keyboard with dongle
- ZMK Documentation Wired Splits - WARNING Hardware UARTs have a few different modes/approaches to sending and receiving data, with different levels of complexity and performance...
- ZMK Documentation Wired Splits (Board Pin Control - rp2040) - WARNING The details of pin control can vary from vendor to vendor.
- petejohanson/splitkb-halcyon-zmk-config - Unofficial splitkb.com Halcyon ZMK Config
- petejohanson/splitkb-halcyon-zmk-module - SplitKB Halcyon ZMK Module
- paulshir/zmk-board-iris-ce - ZMK board definition for Iris CE by Keebio
- SSheldon/zmk-keyboard-chiri-ce - The Chiri CE (Compact Edition) is just like the Iris CE, but with one less row to make it even more compact, like a Corne!
- maksimdrachov/zephyr-rtos-tutorial - Zephyr: Tutorial for beginners
- golioth/awesome-zephyr-rtos - Awesome Zephyr (curated resources), community-curated lists of tools, guides & projects.
- joric/nrfmicro/wiki - Joric's nRFMicro Wiki, an extensive wiki covering the nRFMicro board, batteries, displays, and ZMK.
- araxia.net/keyboards - Personal blog with detailed build logs and ZMK insights.
- Codethetical/reddit.com - Custom Art on Nice!View Displays
- whoop-t/nice-shield-base - create your own!
- sdras/awesome-actions - A curated list of awesome things related to GitHub Actions.
- moul/awesome-ssh - A curated list of SSH apps, libraries and resources.
- dictcp/awesome-git - A curated list of amazingly awesome Git tools, resources and shiny things.
- veggiemonk/awesome-docker - A curated list of Docker resources and related projects about the Docker ecosystem.
- dreftymac/awesome-yaml - A curated collection of YAML tools, templating libraries and related resources.
- fffaraz/awesome-cpp - A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things.
- ZMK Behaviors Documentation - Official documentation on how behaviors work.
- urob/zmk-helpers - Convenience macros simplifying ZMK's keymap configuration
- urob/zmk-auto-layer - Auto-layer (including num-word) implementation.
- urob/zmk-adaptive-key - A ZMK module adding a adaptive-key behavior.
- urob/zmk-leader-key - A ZMK module adding a leader-key behavior.
- urob/zmk-unicode - ZMK module for Unicode input
- dhruvinsh/zmk-tri-state - Tri-state (swapper) implementation.
- dhruvinsh/zmk-num-word - Num-word implementation.
- badjeff/zmk-split-peripheral-bonding-tweak - This an experimental of an experimental module that grant ability to a split central and peripherals to bond on top of a forgettable bluetooth pairing. Two add-on feature are designed to serve this purpose on ZMK.
- badjeff/zmk-hid-io - This module add new HID Usage Page for ZMK.
- badjeff/zmk-split-peripheral-input-relay - This would allow, for example, sending trackpoint events from the peripheral to the center split.
- badjeff/zmk-split-peripheral-output-relay - This is a ZMK Split Transport module adding support for Enhanced ShockBurst (ESB) protocol on Nordic nRF5 Series device.
- badjeff/zmk-split-peripheral-bonding-tweak - This an experimental of an experimental module that grant ability to a split central and peripherals to bond on top of a forgettable bluetooth pairing.
- badjeff/zmk-behavior-insomnia - Insomnia Behavior for ZMK. This module prevents the board from entering sleep mode if BLE is connected, useful for multi-peripheral setups to avoid continuous BLE advertisement scanning.
- badjeff/zmk-output-behavior-listener - It allows to config a feedback of state change event by binding behaviors to feedback devices, such as, eccentric rotating mass (ERM) motors, Linear Resonant Actuator (LRA) vibration motors, LED indicators, serve motors, motorized fader, etc.
- badjeff/zmk-input-processor-mixer - This module interrupt, combine, sync incoming input events from Zephyr input subsystem for ZMK.
- badjeff/zmk-feature-split-esb
- badjeff/zmk-behavior-key-press-lip - Implementation of Last Input Priority key press favor for ZMK.
- badjeff/zmk-input-processor-xyz - This module is used to quantize X and Y value set to fit inside single payload of pointing device on split peripheral, to reduce the bluetooth connection loading between the peripherals and the central.
- badjeff/zmk-behavior-battery-percentage-printer - This is a modified version of alan0ford's behavior_battery_printer.c. Changes has been added to make the behavior awaring of peripheral id.
- ssbb/zmk-antecedent-morph - ZMK Antecedent Morph Behavior aka Adaptive Keys.
- ssbb/zmk-deadkey-slayer - A ZMK module to drop illegal keycodes.
- ssbb/zmk-listeners- ZMK module to invoke behaviors on certain events.
- zzeneg/zmk-raw-hid - ZMK module for Raw HID communication
- englmaxi/zmk-hid-trackball-interface - ZMK trackball interface using HID indicators
- elpekenin/zmk-userspace - "tiny" and "useful" bits to reuse across ZMK boards
- george-norton/zmk-behavior-sensor-attr-cycle - A ZMK behaviour for cycling sensor attributes
- a741725193/zmk-tog-io - simple behavior that toggles io on falling and rising edge of the keyswitch press
- petejohanson/cirque-input-module - Zephyr module for the Cirque Pinnacle input driver.
- AYM1607/zmk-driver-azoteq-iqs5xx - ZMK driver for Azoteq IQS5XX trackpads
- Ahmed-M-Osman1/zmk-driver-azoteq - ZMK driver for Azoteq IQS5XX trackpads
- sekigon-gonnoc/iqs7211e-trackpad-module - iQS7211E sensor driver with 30 mm diameter trackpad, low consumption (~ 1.5 mA) and admits multitactile (two points).
- ZitaoTech/zmk-config-9981-pro - zmk firmware config for 9981 keyboard with trackpad(pro version)
- Full Guide - The fully open-sourced P9981 BLE&USB Keyboard is the smallest ZMK-powered keyboard mouse combo and features n-Key rollover that other original blackberry keyboards don't have!
- HackberryPi-4B example - A handheld Linux device using Raspberry Pi4B as Core with 4" 720X720 TFT Touch display
- zmk fork
- badjeff/zmk-pmw3610-driver - PMW3610 sensor driver.
- badjeff/zmk-paw3395-driver - This is an ZMK pointer input module, that grant ability to call a non-disclosed PAW3395 driver library.
- badjeff/paw3395-pcb - PixArt PAW3395DM-T6QU low power laser mouse sensor breakout board.
- inorichi/zmk-pmw3610-driver - PMW3610 sensor driver.
- kzyz/zmk-az1uball-driver - A 16x16mm I2C trackball module 5,3mm (0x0A) compatible with 3.3V/5V, consuming ~8mA, offering PIM447 data/power compatibility with higher precision and 50% less power (non-illuminated), detailed on GitHub at palette-system/az1uball
- kzyz/corne-ulp-ball - example with a xiao MCU + zmk 0.3
- buy a AZ1UBALL on booth (japan)
- t0bybr/pim447 - Pimoroni PIM447 trackball driver
- sekigon-gonnoc/zmk-driver-paw3222 - This driver enables the use of the PIXART PAW3222 optical sensor with the ZMK framework.
- george-norton/zmk-driver-pmw3360 - A ZMK driver for the Pixart PMW3360 optical mouse sensor
- badjeff/kb_zmk_ps2_mouse_trackpoint_driver - PS/2 trackpoint driver fork updated for mainline ZMK.
- infused-kim/zmk-ps2-mouse-trackpoint-driver - PS/2 trackpoint driver.
- badjeff/zmk-analog-input-driver - This driver groups ADC io channels into single input event for input subsystem.
- letmegobacktosleep/zmk-keyboard-joystick-wasd - An attempt at making a joystick act as a four-directional switch, in a keyboard.
- badjeff/zmk-drv2605-driver - DRV2605 haptic feedback driver.
- mctechnology17/zmk-oled-adapter - use different OLED screen sizes without modifying code (for 128x32, 128x64 and 128x128 OLED screens)
- MickiusMousius/zmk-ls0xxvcom-driver - Zephyr driver for LS0XX displays with the VCOM fix applied
Note
elpekenin/zmk-userspace These drivers can be easily located here and not only in behaviors
- caksoylar/zmk-rgbled-widget - A ZMK module to add battery & BT indicators using an RGB LED (like in Xiao BLEs).
- sekigon-gonnoc/zmk-feature-status-led - This module provides LED status indicators for ZMK keyboards using gpio-leds.
- joelspadin/zmk-keyboards - marten_numpad and indicator LEDs driver
- dhruvinsh/zmk-config - legacy branch This repository tracks my keyboard configuration.
- englmaxi/zmk-config - single LED indicator widget based on caksoylar/zmk-rgbled-widget
- 4mplelab/zmk-feature-charge-indicator - A ZMK feature module to indicate battery charging status on an RGB LED, designed to coexist with the
rgbled_widget - aroum/zmk-kabarga - This project features the implementation of an LED status indicator. A similar indicator approach is utilized across many of my other projects (fEnki, mEnki, gbEnki, yolochka, etc.).
- badjeff/zmk-adns9800-driver - ADNS9800 sensor driver.
- badjeff/zmk-tb6612fng-driver - This module exposes TB6612FNG inputs via Zephyr's sensor_driver_api and key press behavior.
- badjeff/zmk-drv883x-driver - This module exposes DRV883x inputs via Zephyr's sensor_driver_api and key press behavior.
- petejohanson/ec-support-zmk-module - Electrostatic Capacitive (Topre) matrix scan implementation.
- sekigon-gonnoc/zmk-feature-non-lipo-battery-management - This module provides battery management functionality for non-LiPo batteries (such as alkaline or NiMH) in ZMK keyboards. It includes voltage monitoring, battery percentage calculation, and power management features.
- george-norton/zmk-driver-rp2040-sleep - ZMK driver to setup the RP2040 sleep mode
- mctechnology17/zmk-nice-oled - vertical widgets for oled and niceview screens using zmk (for split and non-split keyboards)
- mctechnology17/zmk-dongle-display-view - horizontal widgets for keyboards with dongles, splits and non-splits using the nice!view (bongocat, wpm, caps, batt, etc.)
- MickiusMousius/RolioFirmware (for Vista508) - The Vista508 is a low-power, high refresh rate display meant to replace I2C OLEDs traditionally used.
- M165437/nice-view-gem - A sleek customization for the nice!view shield
- zzeneg/zmk-nice-view-hid - ZMK module for nice!view widget with Raw HID functionality
- infely/nice-view-battery - A clean customization for the nice!view displays
- GPeye/hammerbeam-slideshow - A zmk module to implement a slideshow of 30 of Hammerbeam's 1 bit art on the peripheral (right) nice!view display.
- GPeye/urchin-peripheral-animation - Urchin Peripheral Animation
- GPeye/mario-peripheral-animation - Urchin Peripheral Animation
- dsifry/nice-view-mod - A copy of the nice!view shield from the official ZMK repo as a ZMK module for the purposes of easily customizing
- Ziembski/nice-view-press-start - Custom shield for nice!view with retro feeling
- whoop-t/nice-one-punch-ok - one punch
- whoop-t/nice-adventure-time - adventure time
- whoop-t/nice-futurama-sus - futurama
- whoop-t/nice-fry-button-miss - futurama fry
- whoop-t/nice-luffy-wanted - luffy
- whoop-t/nice-luffy-gear-five - luffy gear five
- Jestar342/nice-view-spacemarine - This is a base repo to help anyone get started creating their own images/animations for their nice!view.
- kevinpastor/nice-view-elemental - A bold while minimalistic interface for your keyboard's display
NOTE ZMK Supports Dongle scheme for 3 controllers (host + 2 halves). It's a little bit more battery friendly (up to a month on a 100 mAh) than a battery-powered BT host (up to 7 days) 8.
- mctechnology17/zmk-dongle-display-view - horizontal widgets for keyboards with dongles, splits and non-splits using the nice!view (bongocat, wpm, caps, batt, etc.)
- englmaxi/zmk-dongle-display - Custom status screen for zmk dongles
- carrefinho/prospector-zmk-module - ZMK module for the Prospector dongle
- t-ogura/prospector-zmk-module - Keyboard broadcasts status via BLE Advertisement (observer mode)
- t-ogura/zmk-config-prospector - Prospector only listens - does NOT connect to keyboard
- janpfischer/zmk-dongle-screen - YADS - Yet another Dongle Screen for ZMK
- victorlucachi/charybdis-zmk-module - zmk module for bkb charybdis mini/nano with pmw3610 and xiao/nicenano dongle
- joaopedropio/snake-module - Snake Dongle Shell 🐍
- dhruvinsh/zmk-prospector - Prospector but for ST7735S display
- rschenk/zmk-component-raytac-dongle - ZMK module to support the Raytac MDBT50Q-RX USB key as a dongle
- carrefinho/prospector - Desktop ZMK Dongle with color 1.69-inch IPS LCD screen with curved cover glass screen
- tokyo2006/prospector-zmk-module/support_nicenano - Desktop ZMK Dongle with color 1.69-inch IPS LCD screen with curved cover glass screen
- rain2813/zmk-cygnus-oled - This is keymap configuration for redox zmk firmware, 1.3-inch I2C OLED display
- englmaxi/zmk-dongle-display 1 - case1
- englmaxi/zmk-dongle-display 2 - case2
- rafaelromao/keyboards - Cyberdeck
- spe2/zmk_dongle_hardware - Dongle PCB
- rain2813/makerworld.com - Macintosh
- rurounikexin/makerworld.com - Redox
- leafflat/sai44 - sai44 Dongle
- yingeling/makerworld.com - ZMK Display Dongle
- James_909973/printables.com - ZMK Nice Nano 128x64 OLED Dongle
- rafaelromao/keyboards - Dilemma DIY with 128x32 OLED
- dohn-joh/dongle-zmk - Dongle ZMK
- joaopedropio/snake-dongle - Snake Dongle is a compact, highly customizable ZMK-powered dongle that features a Snake‑game-style animation and optional sound effects.
- joaopedropio/snake-dongle-shell - Snake Dongle Shell 🐍
- keycapsss.com/Prospector Kit - ZMK dongle with full color LCD screen (standard) - The Prospector is a customisable status screen designed for wireless ZMK-based keyboards. It features a full-colour LCD screen and an ambient light sensor (not Eco variant).
- keycapsss.com/Prospector Kit - ZMK dongle with full color LCD screen (ECO) - NO Adafruit APDS9960 (Proximity, Light, RGB, and Gesture Sensor)
- beekeeb.com/Pre-soldered Prospector - ZMK Dongle - NO Adafruit APDS9960 (Proximity, Light, RGB, and Gesture Sensor)
- beekeeb.com/ZMK Dongle - Prospector DIY Kit - NO Adafruit APDS9960 (Proximity, Light, RGB, and Gesture Sensor)
- ergohaven.xyz/Ergohaven's Qube - This universal device is designed to be an essential companion for wireless keyboards. It works as a dongle and displays useful information and reduces your keyboard's energy consumption
- OLED Display 128x32 - 0.91 OLED LCD Display 128x32 SSD1306 I2C
- OLED Display 128x64 - 0.96 OLED LCD Display 128x64 SSD1306 I2C
- nice!view - A sharp, low-power E-Ink display designed to be easily added to a nice!nano. SHARP MiP DISPLAYS, cutting edge Memory-in-Pixel technology - 30Hz at minmal power draw.
- VISTA508 Low Power Display - The Vista508 is a MIPS display with excellent power consumption characteristics that is pin compatible with the very popular nice!view display.
- Vista272 Low Power Display - The Vista272 is a drop in replacement for the nice!view display, it uses the exact same MIPS display module.
- Halcyon TFT LCD Display - The Halcyon TFT LCD Display Module provides your Halcyon keyboard with a responsive and vibrant colour display
- ZMK Studio - Official GUI Support (Online via USB) - ZMK Studio provides runtime update functionality to ZMK powered devices, allowing users to change their keymap layers without flashing new firmware to their keyboards.
- ZMK Studio (Offline via BLE) - A desktop application that allows you to modify your keymap offline via Bluetooth.
- nickcoutsos/keymap-editor - A web based graphical editor of ZMK keymaps.
- nickcoutsos/keymap-editor - source code on GitHub
- nickcoutsos/keymap-editor/wiki - keymap-editor wiki!
- caksoylar/keymap-drawer - Visualize keymaps that use advanced features like hold-taps and combos, with automatic parsing.
- caksoylar/keymap-drawer - source code on GitHub
- ZMK Firmware official hardware-integration/physical-layouts - Physical Layouts
- zmk-physical-layout-converter by caksoylar - Web app for converting between physical layout formats for ZMK Studio 9.
- caksoylar/zmk-physical-layout-converter - source code on GitHub
- keymap-layout-tools by nickcoutsos - Helper code for dealing with rendering keyboard layouts. 9.
- nickcoutsos/keymap-layout-tools - source code on GitHub
- zmk-physical-layout-converter by caksoylar - Web app for converting between physical layout formats for ZMK Studio 9.
- joelspadin/zmk-locale-generator - Python module to generate localized keyboard layout headers for ZMK Firmware.
- An experimental tool to create ZMK shields by Genteure - A web-based tool to create ZMK configurations for custom keyboards.
- MrMarble/zmk-viewer - cli tool to generate preview images from a zmk .keymap file
- efogdev/zmk-keymap-shell - Shell commands and behaviors (ToDo) for managing multiple keymap profiles on ZMK keyboards.
- ZMK Power Profiler - An online tool to estimate your keyboard's power usage and battery life based on its components
- Online Power Profiler for BLE - The tool is based on a model of measured values, and is not showing the actual measurement 10.
- codyd51/Mighty-Mitts - macOS menu bar applet for battery levels of ZMK split keyboards
- kot149/zmk-battery-center - A system tray app to monitor the battery level of ZMK-based keyboards for MacOS/Windows
- Maksim-Isakau/zmk-split-battery ZMK Split Battery Status in system tray for Windows
- mh4x0f/zmkBATx - Opensource tool for peripheral battery monitoring zmk split keyboard over BLE for linux
- JanValiska/ZmkBatteryClient - Waybar custom module for ZMK powered keyboards
- LVGL Image Converter - Convert BMP, JPG, PNG or SVG files to C arrays (or various binary formats) for use with LVGL.
- javl/image2cpp - image2cpp is a simple tool to change images into byte arrays (or arrays back into images) for use with (monochrome) displays such as OLEDs on your Arduino or Raspberry Pi.
- joric/qle (QMK Logo Editor) - QMK Logo Editor is a lightweight web editor for creating and exporting small monochrome logos / glyphs for keyboard OLEDs.
- notisrac/FileToCArray - Coverts any file to a C style array. (It can also do image color format and size coversion)
- zzeneg/qmk-hid-host - ZMK and QMK HID Host. Host component for communicating with ZMK and QMK keyboards using Raw HID feature.
- badjeff/zmk-companion-macos - ZMK Companion. A main menu macOS application communicate to ZMK powered HID device.
- zmkfirmware/zmk-cli - Command line tool for ZMK Firmware
- zmkfirmware/zmk-docker - Lightweight Docker images for ZMK
- urob/zmk-actions - Github workflows for maintaining ZMK modules
- aroum/cn_tester - A tool for testing n!n pins and Chinese-manufactured clones.
- george-norton/vik-hat - A ProMicro hat with a VIK connector
- hazels-garage/battpack - A 'backpack' for the nice!nano to make wiring up a battery cleaner on boards without native support
- boardsource/Battery Helper - Upgrade your Bluetooth Low Energy (BLE) controller with the nope, a cutting-edge PCB that empowers you to seamlessly integrate a power switch into any keyboard PCB, regardless of the make or model.
- davidphilipbarr/nicehatharry - A small 'hat' that sits ontop of the nice!nano to support a nice!view
- badjeff/leylabella-zmk-config - This is the ZMK firmware config repository for leylabella, a computer mouse 🐭.
- badjeff/moudabella-zmk-config - This is the ZMK firmware config repository for moudabella, an open source bluetooth mouse 🐭 for CAD 🐱.
- george-norton/zmk-keyboard-ploopy - Work in progress ZMK firmware for Ploopy RP2040 devices
- M-Tolbot/zmk-comfig-mouset - This keyboard/mouse hybrid is my vision of a split keyboard with trackball - Inspired by my Hertao mouse.
- tokyo2006/zmk-for-cygnus - The zmk configuration repo is here
- tokyo2006/nano-trackball Using PMW3610 instead of ADNS-5050, Using type c instead of mini USB, Modify 3d model with Sharp3d, Using micro nrf52840 as MCU, Taobao link: Micro nrf52840, Aliexpress : Micro nrf52840, The schematic uses JLC EDA PRO so the project file is epro suffix.
- Pull requests
- aroum/ufa - Focuses on porting the ZMK firmware to commercial gaming mice.
- adafruit/RPI-RP2 - for rp2040 and kb2040. If your board ever gets into a really weird state and CIRCUITPY doesn't show up as a disk drive after installing CircuitPython, try loading this 'nuke' UF2 to RPI-RP2. which will do a 'deep clean' on your Flash Memory. You will lose all the files on the board, but at least you'll be able to revive it!
- circuitpython/Update UF2 Bootloader - After you update, check INFO_UF2.TXT to verify that the bootloader version has been updated.
- circuitpython/nice_nano/Update UF2 Bootloader - After you update, check INFO_UF2.TXT to verify that the bootloader version has been updated.
- circuitpython/supermini_nrf52840/Update UF2 Bootloader - After you update, check INFO_UF2.TXT to verify that the bootloader version has been updated.
- nicekeyboards/nice-nano/troubleshooting - Troubleshooting your nice!nano often falls on to the firmware of choice, but a few directly hardware related items can be addressed.
- aroum/nRF52_Bootloader_custom_LED - Contains various low-level modifications and hacks, such as converting the reset pin into a standard GPIO and implementing extended indication during Device Firmware Update (DFU) mode.
NOTE These tools have been tested first -hand (Except for Parllel Clamping, I have a model very similar to that) and could say that they are essential (personal perspective) helped me and still help me repeatedly and they have validated every penny!
- PINECIL – Smart Mini Portable Soldering Iron (Version 2) - The Pinecil is a smart mini portable soldering iron with a 32-bit RISC-V SoC featuring a sleek design, auto standby and it heats up to an operating temperature in just 6 seconds!
- Stannol Kristall 611 Fairtin Solder - Stannol Kristall 611 Fairtin Solder, lead-free Lead-free Sn99,3Cu0,7 REM1 100g 0.5 mm
- flux paste - 1 piece of 10g of flux paste, soldering fat flux, soldering paste, soldering fluid, soldier paste, solder paste, for mechanics, metal, tin, telephone, PC cards, components
- Liquiq flux no-clean - 50 ml bottle with brush soldering water soldering soft soldering river SMD BGA zinc
- Desolder / solder SEQURE HT140 2-IN-1 Hot Tweezers - SEQURE HT140 2-IN-1 Hot Tweezers And Soldering Iron Compatible with C210 Soldering Tips And C120 Hot Tweezers Cartridge Tips Desoldering Tips Support PD QC DC Power Supply Desoldering Repair Tool for SMD
- Desolder pump - Tin-suction vacuum with 3-suction nozzle, EU/US plug, soldering, removal of the pump, electrical soldering device ADT03, new removal machine
- Desolder / solder air pump - Yihua micro hot air pistol C/F temp set 8858IV 700 W solder rework welding station LCD digital hot air pistol BGA IC soldering tools
- Parallel Clamping - Firm grip that keeps components in place, large jaw opening (9/16", 14mm), no bitemarks or scratching, narrow and flat jaws, easy to find somewhere to hold
- Precision Tweezers Set - Grab everything from screws to eyebrows with iFixit's Precision Tweezers Set.
- Soldering Tip Cleaning Ball Hakko 599B - The HAKKO 599B cleans your soldering iron tips without water! The 599B is made from coils of brass, which is softer than the tip plating yet harder than the oxidation that forms on the tip.
- Diagonal Cutters - Diagonal cutters, large super-comfortable grip to use and have strong nippers for perfect trimming of wires and leads
- Making a good solder joint - by Bill Earl published September 06, 2012, last edited May 01, 2024 posted in Tools/ Hand Tools Tools/ Soldering
- Surface Mount Components - by Bill Earl published September 06, 2012, last edited May 01, 2024 posted in Tools/ Hand Tools Tools/ Soldering
- Common Soldering Problems - by Bill Earl published September 06, 2012, last edited May 01, 2024 posted in Tools/ Hand Tools Tools/ Soldering
- Tools - Personally I prefer the tools above "Solder and Desolder Tools", but of course those are much cheaper!
- How to Solder: Through-Hole Soldering - Soldering is one of the most fundamental skills needed to dabble in the world of electronics.
- How to Test Diodes with a Digital Multimete - Digital multimeters can test diodes using one of two methods
- How To Solder and Desolder Connections - While many repairs can be accomplished without soldering, there are times when it's necessary to replace soldered-down components, e.g., joysticks, headphone batteries, and rumble motors.
- The Ultimate Guide to Desoldering - From using desoldering irons to sketchily knocking breadboard components off on the side of a table, there are tons of ways to remove components from a circuit board.
- mrsolderfix3996/youtube.com - My video's will be covering many aspects of soldering , ranging from the very basic stuff to the very extreme difficult projects, with the odd fun project to make popped in along the way
- paceworldwide/youtube.com - For over forty years, PACE, Inc. has provided state-of-the-art, hands-on solder training to the electronics industry around the world. Courses and support materials are available for Surface Mount Technology, Through-Hole Technology and Multilayer PCB Repairs.
- How to solder and desolder SMD using hot air - A quick and complete tutorial about surface mount components (SMD/SMT) soldering and desoldering using hot air station.
NOTE These are the most popular boards, but there are more
Wireless - Pro Micro Interconnect (nRF52840 and others)
- nice!nano v2 - Board:
nice_nano_v2 - nice!nano v1 - Board:
nice_nano - Puchi-BLE V1 - Board:
puchi_ble_v1 - SuperMini NRF54840 - Board:
nice_nano_v2 - Mikoto - Board:
mikoto - Vikoto - Board:
vikoto - nRFMicro 1.1/1.2 - Board:
nrfmicro_11 - nRFMicro 1.3/1.4 - Board:
nrfmicro_13
Wired - Pro Micro Interconnect (RP2040 and others)
- SparkFun Pro Micro RP2040 - Board:
sparkfun_pro_micro_rp2040 - BoardSource blok RP2040 - Board:
boardsource_blok - Adafruit KB2040 - Board:
adafruit_kb2040 - QMK Proton-C - Board:
proton_c - Svlinky - Board:
svlinky@0.2.0andsvlinky@0.1.0
Wireless - Seeed XIAO Interconnect (nRF52840 and others)
- Seeed Studio XIAO nRF52840 - Board:
seeeduino_xiao_ble
Wired - Seeed XIAO Interconnect (RP2040 and others)
- Adafruit QT Py RP2040 - Board:
adafruit_qt_py_rp2040 - Seeed Studio XIAO RP2040 - Board:
seeeduino_xiao_rp2040 - Seeed Studio XIAO SAMD21 - Board:
seeeduino_xiao - Xivik - Board:
xivik@0.1.0,xivik@0.2.0andxivik@0.3.0
- diimdeep/awesome-split-keyboards - A collection of ergonomic split keyboards
- GOLEM keyboard project - Split keyboard database
- ebastler/zmk-designguide - A short hardware-designguide for ZMK keyboards.
- Thumb cluster comfort from SplitKB made by jhelvy - Thumb cluster comfort is pretty individual based on hand size. You can use scaled on a screen or printout to get an idea of how your hand fits different thumb clusters.
- ebastler/zmk-designguide - A community-written guide for designing PCBs intended to be used with ZMK.
- Compare Keycaps Profiles - Support Choc and Cherry MX
- Maintaining a personal ZMK fork - A cookbook approach to maintaining a personal ZMK fork.
- mod-tap/mod-tap/homerow mods bible - behaviors bible
- KeymapDB - KeymapDB (“Keymap Database”) is a public and open-source online database for keymaps of programmable keyboards, with a focus on ZMK / QMK ergonomic keyboards.
- Typeracer - The award-winning online typing competition, TypeRacer, allows people to race each-other by typing quotes from books, movies, and songs. It is the first multiplayer typing game on the web.
- Monkeytype - Monkeytype is a minimalistic and customizable typing test.
- keybr - This web application will help you to learn touch typing which means typing through muscle memory without using your eyesight to find the keys. With multiplayer typing game on the web
- kbd.news - KBD.news is a blog and newsletter on DIY mechanical keyboards. A hand-picked selection of posts from a keyboard enthusiast's perspective
- ErgoMechKeyboards/reddit.com - A community focused around Ergonomic Mechanical Keyboards and strange input devices. Embrace the jank. Created Sep 2, 2019
- crkbd/reddit.com - crkbd, a.k.a. Corne Keyboard https://github.com/foostan/crkbd https://discord.com/invite/aWCZWnS Created Dec 16, 2019
- Building Open Keyboards with ZMK & Zephyr // Zephyr Tech Talk #010 - Tune in on Wednesday, January 24 (9:00 AM EST / 3:00 PM CET) for a new Zephyr Tech Talk live stream where Benjamin will be joined by Pete Johanson, creator and project lead of the ZMK project.
- Naya Create: From Hate To Love To Regret - Full Review - The Naya Create is/was an amazing feat, it actually delivered on almost all of the promises. However, there are quite a few hardware issues, some which can be fixed others you'll have to live with.
- mechanical keyboard vendors list - Where to buy mechanical keyboards, switches or keycaps? This keyboard shop database lists 600+ stores offering keyboards, kits, various parts and accessories.
- Naya Keyboard - Fully modular hardware and endlessly customizable software engineered for effortless ergonomics and peak performance.
- Keychron B1 Pro Ultra-Slim Wireless Keyboard - Keychron B1 Pro is an ultra-slim wireless keyboard. It supports 2.4 GHz, Bluetooth, and a wired connection.
- Advantage360 Professional - Our flagship fully-split contoured keyboard designed to provide maximum comfort and adjustability.
- Adv360-Pro-ZMK source code on GitHub - Production repository for the all-new Advantage360 Professional using ZMK engine
- Disconnect MK1 - The culmination of function, productivity and appearance. Disconnect MK1 is the ultimate keyboard for work and play.
- osmakari/zmk source code on GitHub - For the curious, we keep the firmware open source! You are free to hack away on the firmware and make it truly your own!
- taichan1113/AdeptBLE - This is alpha version of Ploopy Adept BLE modification.
- nrfconnect/sdk-nrf/../pmw3360 - PMW3360 mouse optical sensor
- LicenseID: LicenseRef-Nordic-5-Clause - Copyright (c) 2018, Nordic Semiconductor ASA
- rianadon/zmk - fork for cosmos
- ryanis/Custom-Build (web) - Custom-Build A Keyboard Fit To You. Don't Settle. For One-Size-Fits-All
- Lemon Wireless Microcontroller - Store for buy the MCU
- ssbb/awesome-zmk - curated list of ZMK drivers, behaviors, tools and guides.
- iDoka/awesome-nRF5 - curated resources for nRF5 (libraries, examples, build helpers).
- dotintent/awesome-ble - general BLE resources (useful Nordic links included).
- whoop-t/nice-shield-collection - A collection of links to nice!view shield designs
This list is licensed under the Creative Commons Zero v1.0 Universal.
Footnotes
-
Pete Johanson: https://petejohanson.dev/ ↩
-
ZMK Firmware official website: https://zmk.dev ↩
-
ZMK Firmware official code repository: https://github.com/zmkfirmware/zmk ↩
-
Zephyr Project official website: https://www.zephyrproject.org ↩
-
Zephyr Project Code Repository: https://github.com/zephyrproject-rtos/zephyr ↩
-
Hardware Integration: https://zmk.dev/docs/development/hardware-integration#what-is-a-shield ↩ ↩2
-
Modules: https://zmk.dev/docs/features/modules ↩ ↩2
-
joric dongles wiki: https://github.com/joric/nrfmicro/wiki/Alternatives#dongles ↩
-
ZMK Firmware official physical layouts integration: We recommend the use of this tool for writing a physical layout or converting one from a QMK JSON definition. If your keyboard already has a physical layout defined for the use with KLE, we recommend using this other tool first to convert your existing layout into QMK JSON. The second tool can also import the position data from KiCAD, if said program was used to design the keyboard - https://zmk.dev/docs/development/hardware-integration/physical-layouts ↩ ↩2
-
Online Power Profiler for Bluetooth LE: https://devzone.nordicsemi.com/power/w/opp ↩
