Personal ZMK firmware configuration for custom keyboards.
| Shield | Keys | Type | Features |
|---|---|---|---|
| Pacane | 58 | Split (pro_micro) | Mouse, ZMK Studio |
| Pacane Corne | 42 | Split (pro_micro) | Pointing |
| Temper | 36 | Split (pro_micro) | Pointing, OLED, RGB underglow |
| Pacane Macro | 16 | Single (pro_micro) | Sleep |
All split keyboards use nice_nano_v2 boards.
The Pacane shield has ZMK Studio support enabled. This required:
- A physical layout file (
boards/shields/pacane/pacane-layouts.dtsi) defining key positions for Studio's visual editor. - Switching
choseninpacane.dtsifromzmk,matrix-transformtozmk,physical-layout. - Adding
CONFIG_ZMK_STUDIO=ytoconfig/pacane.conf.
- Zephyr SDK
- Python 3.10.x with
west,protobuf, andgrpcio-tools:pip install west protobuf grpcio-tools - CMake and Ninja:
brew install cmake ninja
cd config
west init -l .
west updateFrom the repo root:
# Pacane left
west build -s zmk/app -b nice_nano/nrf52840/zmk -- \
-DSHIELD=pacane_left \
-DZMK_CONFIG="$(pwd)/config" \
-DBOARD_ROOT="$(pwd)"
# Pacane right (use -p for pristine rebuild when switching shields)
west build -s zmk/app -b nice_nano/nrf52840/zmk -p -- \
-DSHIELD=pacane_right \
-DZMK_CONFIG="$(pwd)/config" \
-DBOARD_ROOT="$(pwd)"Output firmware is at build/zmk.uf2.
# Temper (with nice_view display)
west build -s zmk/app -b nice_nano/nrf52840/zmk -p -- \
-DSHIELD="temper_left nice_view_adapter nice_view" \
-DZMK_CONFIG="$(pwd)/config" \
-DBOARD_ROOT="$(pwd)"
# Pacane Corne
west build -s zmk/app -b nice_nano/nrf52840/zmk -p -- \
-DSHIELD=pacane_corne_left \
-DZMK_CONFIG="$(pwd)/config" \
-DBOARD_ROOT="$(pwd)"
# Pacane Macro
west build -s zmk/app -b nice_nano/nrf52840/zmk -p -- \
-DSHIELD=pacane_macro \
-DZMK_CONFIG="$(pwd)/config" \
-DBOARD_ROOT="$(pwd)"Pushes and pull requests automatically build all shields via GitHub Actions (see .github/workflows/build.yml and build.yaml).