I want to preface this by saying that I am a noob and don't really know what I'm doing. I am trying to add a prospector dongle as my main with my sofle as peripherals. I tried to follow the ZMK documentation for dongles but my build is failing. I'm not sure what to provide so I'll start with this screenshot of the build error. Please let me know what to provide.
#Prospector dongle with Sofle choc wireless
1 messages · Page 1 of 1 (latest)
Linking your repository would be helpful. Just from the screenshot, you're mixing different things from different versions. Pick either the latest released version v0.3, or development branch main and stick to it.
https://github.com/rs9-d/zmk-config here is the link
I tried to bring over my old keymap that I used nick coutsos's keymap editor web gui to create. I wasn't sure if it would create conflicts or not
Here is the prospector link I was referencing as well
GitHub
ZMK module for the Prospector dongle. Contribute to carrefinho/prospector-zmk-module development by creating an account on GitHub.
Are you trying to migrate to the main branch?
If yes, update the version in config/west.yml and .github/workflows/build.yml to main, basically the opposite of https://zmk.dev/blog/2025/06/20/pinned-zmk
If no, you should include and use ZMK v0.3 compatible version of the prospector module and use the board intended for zmk v0.3
I want to use the latest version of the prospector module. Instead of migrating to the main branch couldn't I pin to the latest release to make everything work? I read the link you sent and don't necessarily want to risk having things break
The latest released version is v0.3, the upcoming v0.4 is not yet a released version.
#development message
Oh okay I see. Then I'll stick with v0.3. I will switch the prospector version now and see if that fixes it
Alternatively I think you could use commit hash in both files, so you could use the latest code (as of right now) and not have unexpected breaking changes down the line.
I have no idea how to do that so I think I'd rather just do the simplest possible thing to make it work, although I appreciate the thought
Oh wait I have to use the latest because the board isn't compatible, like you already said
Latest commit on main right now is https://github.com/zmkfirmware/zmk/commit/ead91ca094c6cd778574f73b9ae011ddab611c66
So instead of v0.3 or main, use ead91ca094c6cd778574f73b9ae011ddab611c66. It always points to this exact version https://github.com/zmkfirmware/zmk/tree/ead91ca094c6cd778574f73b9ae011ddab611c66, unlike main which changes as things progress.
I have the xiao ble board instead of the seeeduino
seeeduino_xiao_ble for zmk v0.3
xiao_ble//zmk for the upcoming zmk v0.4
It's the same board
Just different name because reasons
Okay sorry this is all very confusing for me lol
Like so?
and the one at the top too
I'm now realizing that I linked the old version of my repository. Shouldn't change much though. Relinking the newest version in case it's needed
https://github.com/rs9-d/zmk-config-sofle2
I wanted to make sure it's actually possible use commit hash in workflow versions so I forked the repository, might as well go all the way. Here's a working (compiling, not sure if it actually works on hardware but probably works) repository https://github.com/Genteure/zmk-rs9d-config
You should get the config back to your repository under your account because I'll delete that at some point later
Thanks so much! I downloaded and made a new repository so you can delete whenever. I will test this out on the dongle and my sofle and report back.
I took a look at your changes and tried to make sense of them but I don't really understand much of it. That's my primary concern for the future; if I ever run into issues I will have no idea how to fix them
Which part of the change specifically? You can always ask again later.
I have some things to do for work so I'll respond in a little bit while I'm on lunch
The changes:
- All the revisions are pinned to commit hashes because you want latest without it breaking later
- Renamed all
name.ext.txtfiles toname.extfor exampleKconfig.defconfig.txt->Kconfig.defconfig - Renamed shield name to sofle_dongle because otherwise it won't pick up the same keymap.
config ZMK_KEYBOARD_NAMEis literally that, not replacing it with the name- Replaced 6 with 7
- Deleted unrelated sections in the device tree dtsi
- Replaced the encoder pin with dummy placeholders because xiao ble doesn't have a
&pro_microand those pins are not used on the dongle anyway (they have status disabled) - in build.yaml added all 3 builds and settings reset for each board. Updated
boardto the new names. And set the left side to peripheral role instead of the default central role.
Okay thanks for this.
How do I know what needs to be brought over from the device tree?
Why did you change the board from nice_nano_v2 to nice_nano//zmk?
Also why did you change the amount of BT profiles from 6 to 7
Got it working btw, you’re the best!
This was due to a naming convention change in the current version of ZMK compared to v0.3