zmk/app/boards/keebio/bdn9
Peter Johanson 4b330229ca refactor(boards): Move BDN9 to ZMK variant by default
Make the standard BDN9 board ID be `bdn9/stm32f072xb/zmk` or
`bdn9//zmk` by shorthand.
2026-01-31 19:55:04 -07:00
..
Kconfig.bdn9
Kconfig.defconfig
README.md
bdn9-layouts.dtsi
bdn9.conf
bdn9.keymap
bdn9.yaml
bdn9.zmk.yml refactor(boards): Move BDN9 to ZMK variant by default 2026-01-31 19:55:04 -07:00
bdn9_stm32f072xb_zmk.dts refactor(boards): Move BDN9 to ZMK variant by default 2026-01-31 19:55:04 -07:00
bdn9_stm32f072xb_zmk_defconfig refactor(boards): Move BDN9 to ZMK variant by default 2026-01-31 19:55:04 -07:00
board.cmake
board.yml refactor(boards): Move BDN9 to ZMK variant by default 2026-01-31 19:55:04 -07:00

README.md

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>;