Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
679e73b
feat: switch dongle board to CX40 (raytac_mdbt50q_cx_40)
perrwa Apr 10, 2026
b51114b
Merge branch 'main' into perrwa/cx40
perrwa Apr 12, 2026
831a198
Initial plan
Copilot Apr 12, 2026
05b00e0
feat: switch to CX40 dongle board and ZMK main (v0.4)
Copilot Apr 12, 2026
bb861e0
fix: update board names for ZMK v0.4 HWMv2
perrwa Apr 12, 2026
d8a6752
fix: add board-specific RAM tuning for mdbt50q_cx_40
perrwa Apr 12, 2026
68707be
Revert "fix: add board-specific RAM tuning for mdbt50q_cx_40"
perrwa Apr 12, 2026
4bec975
test: add RX dongle builds to diagnose RAM overflow scope
perrwa Apr 12, 2026
ae826d5
revert: remove diagnostic RX dongle build entries
perrwa Apr 12, 2026
8f60e7e
fix: use CX-40 ZMK variant board from fix branch
perrwa Apr 12, 2026
9b3bfd9
fix: revert board name to mdbt50q_cx_40 (extend approach failed)
perrwa Apr 12, 2026
fe68719
ci: retrigger build with CX-40 RAM reduction fixes
perrwa Apr 12, 2026
160a0dd
ci: retrigger with TX power restored
perrwa Apr 12, 2026
df773b0
ci: retrigger build after hw protect re-enabled
perrwa Apr 12, 2026
ef17b3a
docs: update README and copilot-instructions for CX-40 and v0.4
perrwa Apr 12, 2026
dd82bd7
fix: point dongle module at main (RAM fix merged)
perrwa Apr 12, 2026
da2a754
Merge branch 'main' into copilot/test-add-cx40-zmk04-changes
perrwa Apr 13, 2026
181c397
Merge branch 'main' into copilot/test-add-cx40-zmk04-changes
perrwa May 20, 2026
aa25ff4
feat: switch halves to boardsource blecorne board
perrwa May 20, 2026
ad3c39d
fix: remove undefined CONFIG_WS2812_STRIP (ZMK 0.4)
perrwa May 20, 2026
61e9ad2
feat: add settings_reset targets for blecorne halves
perrwa May 20, 2026
b50576a
fix: match physical layout include order with blecorne board (#31)
perrwa May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Copilot Instructions

Split Corne-Cherry v3.0.1 ZMK keyboard config. Nice!Nano v2 halves + Raytac MDBT50Q-RX dongle (BLE central). West manifest pins ZMK v0.3 + `rschenk/zmk-component-raytac-dongle`.
Split Corne-Cherry v3.0.1 ZMK keyboard config. Nice!Nano v2 halves + Raytac MDBT50Q-CX-40 dongle (BLE central). West manifest tracks ZMK main (v0.4) + `perrwa/zmk-component-raytac-dongle`.

## Build

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
if: always() && (needs.check-changes.outputs.firmware == 'true' || needs.check-changes.result == 'skipped')
permissions:
contents: read
uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@v0.3
uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@main
with:
fallback_binary: hex

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
build:
permissions:
contents: read
uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@v0.3
uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@main
with:
fallback_binary: hex

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

- **Corne-Cherry v3.0.1** — split 3×6+3 keyboard ([foostan/crkbd](https://github.com/foostan/crkbd))
- **Nice!Nano v2** — controllers for each half (BLE peripherals)
- **Raytac MDBT50Q-RX** — USB dongle running as BLE central ([rschenk/zmk-component-raytac-dongle](https://github.com/rschenk/zmk-component-raytac-dongle))
- **Raytac MDBT50Q-CX-40** — USB dongle running as BLE central ([perrwa/zmk-component-raytac-dongle](https://github.com/perrwa/zmk-component-raytac-dongle))

## Keymap

Expand All @@ -28,13 +28,13 @@ All builds run in GitHub Actions — no local toolchain needed.
| Workflow | Trigger | What it does |
|----------|---------|--------------|
| `build.yml` | PRs, manual dispatch | CI build for all targets |
| `release.yml` | Tag push `v*`, manual dispatch | Builds firmware → draft prerelease |
| `release.yml` | Push to `main`, manual dispatch | Builds firmware → draft prerelease |
| `draw-keymaps-unified.yml` | Keymap/config changes | Regenerates keymap SVGs and YAML |

The build matrix (`build.yaml`) produces firmware for:

- **Dongle** — `corne_dongle` shield on `raytac_mdbt50q_rx`
- **Left/Right halves** — `corne_left`/`corne_right` on `nice_nano_v2` with `-DCONFIG_ZMK_SPLIT_ROLE_CENTRAL=n`
- **Dongle** — `corne_dongle` shield on `mdbt50q_cx_40`
- **Left/Right halves** — `corne_left`/`corne_right` on `nice_nano//zmk` with `-DCONFIG_ZMK_SPLIT_ROLE_CENTRAL=n`
- **Settings reset** — for both boards

### Dongle flashing
Expand All @@ -54,7 +54,7 @@ make clean # Remove generated .zip packages
├── config/
│ ├── corne.conf # Keyboard settings (sleep, battery, BLE)
│ ├── corne.keymap # Keymap (Devicetree syntax)
│ └── west.yml # West manifest — ZMK v0.3 + Raytac dongle module
│ └── west.yml # West manifest — ZMK main (v0.4) + Raytac dongle module
├── keymap-drawer/ # Auto-generated keymap visualizations
│ ├── corne.svg / corne.yaml # Per-layer output
│ ├── corne-unified.svg / .yaml # All layers merged into one view
Expand All @@ -69,7 +69,7 @@ make clean # Remove generated .zip packages

- [ZMK Documentation](https://zmk.dev/docs/)
- [Corne Keyboard (foostan/crkbd)](https://github.com/foostan/crkbd)
- [Raytac Dongle ZMK Component (rschenk)](https://github.com/rschenk/zmk-component-raytac-dongle)
- [Raytac Dongle ZMK Component (perrwa fork)](https://github.com/perrwa/zmk-component-raytac-dongle)
- [keymap-drawer (caksoylar)](https://github.com/caksoylar/keymap-drawer)

## License
Expand Down
2 changes: 1 addition & 1 deletion boards/shields/corne_dongle/corne_dongle.overlay
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include <dt-bindings/zmk/matrix_transform.h>

#include <layouts/foostan/corne/5column.dtsi>
#include <layouts/foostan/corne/6column.dtsi>
#include <layouts/foostan/corne/5column.dtsi>

&foostan_corne_6col_layout {
transform = <&default_transform>;
Expand Down
16 changes: 7 additions & 9 deletions build.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
---
include:
- board: nice_nano_v2
- board: blecorne_left
shield: settings_reset
- board: blecorne_right
shield: settings_reset

- board: raytac_mdbt50q_rx
- board: mdbt50q_cx_40
shield: corne_dongle
- board: raytac_mdbt50q_rx
- board: mdbt50q_cx_40
shield: settings_reset

# Dongle setup: both halves are peripherals (dongle is central)
- board: nice_nano_v2
shield: corne_left
- board: blecorne_left
cmake-args: -DCONFIG_ZMK_SPLIT_ROLE_CENTRAL=n
artifact-name: corne_dongle_left-zmk
- board: nice_nano_v2
shield: corne_right
- board: blecorne_right
cmake-args: -DCONFIG_ZMK_SPLIT_ROLE_CENTRAL=n
artifact-name: corne_dongle_right-zmk
1 change: 1 addition & 0 deletions config/blecorne.conf
1 change: 1 addition & 0 deletions config/blecorne.keymap
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "corne.keymap"
6 changes: 2 additions & 4 deletions config/corne.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@ CONFIG_ZMK_SLEEP=y
# 1800000 ms = 30 minutes (default is 15 min)
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=1800000

# Disable RGB underglow, backlight, and WS2812 driver to eliminate
# ~12 mA quiescent draw from soldered SMT LEDs (even when "off").
# VCC to the LED rail is gated via ext_power EP_OFF on the nice!nano v2.
# Disable RGB underglow and backlight to eliminate
# quiescent draw from soldered SMT LEDs (even when "off").
CONFIG_ZMK_RGB_UNDERGLOW=n
CONFIG_ZMK_BACKLIGHT=n
CONFIG_WS2812_STRIP=n

CONFIG_ZMK_BATTERY_REPORTING=y

Expand Down
15 changes: 10 additions & 5 deletions config/west.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,20 @@ manifest:
remotes:
- name: zmkfirmware
url-base: https://github.com/zmkfirmware
- name: rschenk
url-base: https://github.com/rschenk
- name: perrwa
url-base: https://github.com/perrwa
- name: boardsource
url-base: https://github.com/boardsource
projects:
- name: zmk
remote: zmkfirmware
revision: v0.3
revision: main
import: app/west.yml
- name: zmk-component-raytac-dongle
remote: rschenk
revision: v0.3
remote: perrwa
revision: 852f71077c62b1c54a39f24948e9739f34acacb0
- name: wireless-corne_zmk_config
remote: boardsource
revision: 2158104902e164c317e35f53dfa0ca1e36e1a751
self:
path: config
Loading