Files
zmk/app/boards/keebio/bdn9
Pete Johanson a23aa009d7 Add ZMK_BOARD_COMPAT symbol, that we can enable for our ZMK variants (#3265)
feat: Add ZMK_BOARD_COMPAT Kconfig symbol, and check for it

To properly detect users selecting a base board ID, when a ZMK variant
is available, add a ZMK_BOARD_COMPAT Kconfig symbol that the ZMK
variants will enable, allowing us to detect using the bare varand and
warn/error in CI so users don't end up with passing CI that results in
an unusable firmware due to missing ZMK enablement for keyboard name,
settings storage, etc.

refactor(boards): Add ZMK_BOARD_COMPAT to ZMK board variants

To clearly indicate the ZMK board variants are set up for ZMK usage,
select the ZMK_BOARD_COMPAT symbols for them.

fix(boards): Fix pillbug board.yml to report extension

Properly not the ZMK variant is part of an extension of the existing
pillbug board.
2026-03-03 10:39:11 -05:00
..
2025-12-09 19:43:22 -05:00
2025-12-09 19:43:22 -05:00
2025-12-09 19:43:22 -05:00
2025-12-09 19:43:22 -05:00
2025-12-09 19:43:22 -05:00

Building ZMK for the BDN9

Some general notes/commands for building standard BDN9 layouts from the assembly documentation.

Standard Build

west build -p -d build/bdn9 --board bdn9_rev2

Encoder Notes

If you built your BDN9 with encoders, you'll need to change the following in your local BDN9 config or add them to the end of the file.

CONFIG_EC11=y
CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y

Then, you'll want to uncomment the necessary encoder lines in your bdn9_rev2.keymap:

&sensors {
     status = "okay";
     sensors = <&left_encoder &mid_encoder &right_encoder>;
};

&left_encoder { status = "okay"; };
&mid_encoder { status = "okay"; };
&right_encoder { status = "okay"; };

And then add the correct sensor-bindings array to each keymap layer, e.g.:

sensor-bindings = <&inc_dec_kp PG_UP PG_DN &inc_dec_kp M_VOLU M_VOLD &inc_dec_kp C_PREV C_NEXT>;