[ZSA - Moonlander] Fixed compatibility with latest Moonlander Hardware changes#26090
Open
ZacharyLefebvre wants to merge 1 commit intoqmk:masterfrom
Open
[ZSA - Moonlander] Fixed compatibility with latest Moonlander Hardware changes#26090ZacharyLefebvre wants to merge 1 commit intoqmk:masterfrom
ZacharyLefebvre wants to merge 1 commit intoqmk:masterfrom
Conversation
…test versions of the Moonlander hardware Since December 2025, ZSA has sold new versions of their Moonlander. The chip, Product ID and Bootloader are now different. They now differenciate the two versions 'reva' and 'revb' where revb (revision B) is the newer version handling the bootloader and such. I basically took the code from their Fork (https://github.com/zsa/qmk_firmware) and took everything needed to get my new Moonlander working with the QMK original repo. I also have an old Moonlander so I confirmed I could still compile and flash on the first version (revA) using QMK CLI. List of changes : - Replaced deprecated RGB_* with UG_* equivalents - Replaced deprecated KC_MS_* and KC_BTN* with MS_* equivalents - Updated GPIO API calls (setPin → gpio_*) - Added ZSA modules in the modules folder at the root (maybe should it be somewhere else ? I basically replicated ZSA tree from their repo) - Fixed missing module includes for zsa/defaults - Fixed formatting (using QMK format cmd) - Added common and ergodox_ez keyboards in the zsa list (couldn't test the ergodox keyboard as I don't own one) - Added oryx keymap - Introduced reva and revb folders as explained above - Added ZSA most recent readme
9 tasks
Member
|
Each keyboard should be broken out into a separate PR (this helps to keep things manageable for reviews, and helps get them reviewed and merged faster). Modules are highly unlikely to be merged as the intent behind them is to allow code to live outside of the firmware repo. The current modules included in the repo are all examples of some of the functionally added by/to the repo.
Eg, the ZSA modules should stay in a ZSA controlled repo, and the boards PR here should be able to be compiled without needing the modules. |
drashna
reviewed
Mar 19, 2026
Comment on lines
+155
to
+163
| setPinOutputPushPull(A9); | ||
| setPinOutputPushPull(A8); | ||
| writePinHigh(A9); | ||
| writePinHigh(A8); | ||
| wait_ms(500); | ||
| writePinLow(A9); | ||
|
|
||
| NVIC_SystemReset(); | ||
| } |
Member
There was a problem hiding this comment.
Suggested change
| setPinOutputPushPull(A9); | |
| setPinOutputPushPull(A8); | |
| writePinHigh(A9); | |
| writePinHigh(A8); | |
| wait_ms(500); | |
| writePinLow(A9); | |
| NVIC_SystemReset(); | |
| } | |
| gpio_set_pin_output_push_pull(A9); | |
| gpio_set_pin_output_push_pull(A8); | |
| gpio_write_pin_high(A9); | |
| gpio_write_pin_high(A8); | |
| wait_ms(500); | |
| gpio_write_pin_low(A9); | |
| NVIC_SystemReset(); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Since December 2025, ZSA has sold new versions of their Moonlander. The chip, Product ID and Bootloader are now different. They now differenciate the two versions 'reva' and 'revb' where revb (revision B) is the newer version handling the bootloader and such. I basically checked the code from their Fork (https://github.com/zsa/qmk_firmware) and took everything needed to get my new Moonlander working with the QMK original repo. I also have an old Moonlander so I confirmed I could still compile and flash on the first version (revA) using QMK CLI.
Types of Changes
Issues Fixed or Closed by This PR
Checklist
Note 1 : I added ergodox_ez from the ZSA fork but couldn't test it so you might want to remove it from here if you think it's not valuable.
Note 2 : I had to add the zsa modules in order to get the compiling working but I left it where it was in the ZSA repo (modules/zsa/...), I'm not sure if it's the right place to put it but it is mandatory somewhere for compiling.
Note 3 : This is my first open-source contribution ! I'm glad to be part of that community and sorry if I made beginner mistakes. Let me know if there's s anything wrong I did.