Skip to content

feat: switch to CX40 dongle board and ZMK main (v0.4) - #10

Closed
perrwa with Copilot wants to merge 21 commits into
mainfrom
copilot/test-add-cx40-zmk04-changes
Closed

feat: switch to CX40 dongle board and ZMK main (v0.4)#10
perrwa with Copilot wants to merge 21 commits into
mainfrom
copilot/test-add-cx40-zmk04-changes

Conversation

Copilot AI commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

Test branch combining CX-40 dongle support with ZMK main (upcoming v0.4). Rebased on perrwa/cx40 and points all ZMK references at main branch.

  • build.yaml: Board names updated for ZMK v0.4 HWMv2 (nice_nano_v2nice_nano//zmk, raytac_mdbt50q_rxmdbt50q_cx_40)
  • config/west.yml: ZMK v0.3main, raytac dongle perrwa/add-cx40perrwa/fix-ram-overflow
  • Workflows: Reusable workflow ref @v0.3@main in both build.yml and release.yml
  • Docs: README and copilot-instructions updated for CX-40 board, perrwa fork, and release trigger change

Release workflow trigger

release.yml now triggers on push to main (auto-builds firmware on merge) plus manual workflow_dispatch with an optional tag input for versioned releases. This replaces the previous tag-push (v*) trigger.

⚠️ All refs pinned to main — intentional for testing. Pin to v0.4 tags once ZMK cuts a release.

Swap board from raytac_mdbt50q_rx to raytac_mdbt50q_cx_40 and point
zmk-component-raytac-dongle to perrwa fork with CX40 support.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI changed the title [WIP] Test add cx40 and zmk0.4 changes feat: switch to CX40 dongle board and ZMK main (v0.4) Apr 12, 2026
Copilot AI requested a review from perrwa April 12, 2026 17:42
@perrwa
perrwa requested a review from Copilot April 12, 2026 17:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates this ZMK config to test against upcoming ZMK v0.4 by switching all upstream references to main, and changes the dongle target to the CX-40 board variant.

Changes:

  • Update config/west.yml to track ZMK main and switch the Raytac dongle module remote to perrwa (also on main).
  • Update build.yaml to build the dongle firmware for raytac_mdbt50q_cx_40.
  • Update CI/release workflows to use ZMK’s reusable build workflow from @main.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.

File Description
config/west.yml Moves ZMK/module revisions to main and switches dongle module remote to perrwa.
build.yaml Changes dongle board in the build matrix to raytac_mdbt50q_cx_40.
.github/workflows/build.yml Updates reusable workflow ref from @v0.3 to @main.
.github/workflows/release.yml Updates reusable workflow ref from @v0.3 to @main.

Comment thread config/west.yml Outdated
Comment thread config/west.yml
Comment thread build.yaml Outdated
Comment thread .github/workflows/build.yml
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml
perrwa and others added 12 commits April 12, 2026 14:01
- build.yaml: raytac_mdbt50q_rx → raytac_mdbt50q_cx_40
- config/west.yml: zmk v0.3 → main, raytac dongle rschenk/v0.3 → perrwa/main
- workflows: reusable workflow @v0.3 → @main

Agent-Logs-Url: https://github.com/perrwa/zmk-config/sessions/74bb02a0-3a79-4f40-9a3a-15d2aa6edbfc

Co-authored-by: perrwa <7255333+perrwa@users.noreply.github.com>
- nice_nano_v2 → nice_nano//zmk (revision-based naming + ZMK variant)
- raytac_mdbt50q_cx_40 → mdbt50q_cx_40 (vendor prefix is now directory, not board name)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Zephyr 4.1's BLE controller + USB stack exceeds 256 KB RAM on this
board without tuning. Disable logging, shrink BLE buffers, and reduce
stack/heap sizes to fit within nRF52840 SRAM.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add mdbt50q_rx + corne_dongle and mdbt50q_rx + settings_reset to
build matrix to determine if Zephyr 4.1 RAM overflow affects all
standalone nRF52840 boards or only CX-40.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
RX test complete — both boards need the extend variant fix.
RX fails with Missing ZMK Compat (not RAM overflow).
Results documented in perrwa/zmk-component-raytac-dongle#5.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update build.yaml board name: mdbt50q_cx_40 → raytac_mdbt50q_cx_40_dongle//zmk
Point west.yml to perrwa/fix-ram-overflow branch for testing.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Upstream Zephyr board raytac_mdbt50q_cx_40_dongle doesn't exist in
ZMK's Zephyr fork (v4.1.0+zmk-fixes). Reverting to standalone board
with ZMK_BOARD_COMPAT + RAM tuning in the dongle component.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@perrwa
perrwa force-pushed the copilot/test-add-cx40-zmk04-changes branch from 2de823a to 160a0dd Compare April 12, 2026 21:05
perrwa and others added 3 commits April 12, 2026 14:46
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Dongle: MDBT50Q-RX → MDBT50Q-CX-40, rschenk → perrwa fork
- Board names: raytac_mdbt50q_rx → mdbt50q_cx_40, nice_nano_v2 → nice_nano//zmk
- Release trigger: tag push v* → push to main
- West manifest: ZMK v0.3 → ZMK main (v0.4)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@perrwa
perrwa force-pushed the copilot/test-add-cx40-zmk04-changes branch from e6893d6 to dd82bd7 Compare April 12, 2026 22:25
@perrwa

perrwa commented Apr 12, 2026

Copy link
Copy Markdown
Owner

✅ Build and draw both pass on ZMK v0.4 (main). CX-40 dongle config validated — closing since this was a test branch.

@perrwa perrwa closed this Apr 12, 2026
@perrwa perrwa added enhancement New feature or request firmware Firmware configuration changes labels Apr 12, 2026
@perrwa
perrwa deleted the copilot/test-add-cx40-zmk04-changes branch April 13, 2026 02:08
@perrwa
perrwa restored the copilot/test-add-cx40-zmk04-changes branch April 13, 2026 02:09
@perrwa perrwa reopened this Apr 13, 2026
@perrwa perrwa added the do not merge Not ready — do not merge label Apr 13, 2026
@perrwa
perrwa changed the base branch from perrwa/cx40-zmk03 to main April 13, 2026 03:33
@perrwa
perrwa removed their request for review April 13, 2026 03:34
perrwa and others added 4 commits May 19, 2026 20:19
unified board (nRF52840). Keep CX40 dongle as BLE central with
corne_dongle shield unchanged.

Changes:
- Add boardsource/wireless-corne_zmk_config as west module
- Update raytac dongle pin to latest main
- Add blecorne.keymap wrapper (#include corne.keymap)
- Add blecorne.conf symlink to corne.conf
- Update build.yaml: blecorne_left/right with central=n override

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Symbol was removed in ZMK 0.4. RGB underglow=n is sufficient to
disable LED driver.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@perrwa perrwa closed this May 20, 2026
@perrwa
perrwa deleted the copilot/test-add-cx40-zmk04-changes branch May 20, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Not ready — do not merge enhancement New feature or request firmware Firmware configuration changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants