This module repository provides a ZMK shield that replaces the built-in status screen with a custom screen designed for 128x64-pixel OLED displays, or 128x32 with some limitations.
To use this module, first add it to your config/west.yml
by adding a new entry to remotes
and projects
:
manifest:
remotes:
- name: zmkfirmware
url-base: https://github.com/zmkfirmware
- name: englmaxi
url-base: https://github.com/englmaxi
projects:
- name: zmk
remote: zmkfirmware
revision: main
import: app/west.yml
- name: zmk-dongle-display
remote: englmaxi
revision: main
self:
path: config
Next, replace the built-in status screen by adding dongle_display
to your build.yaml
:
---
include:
- board: seeeduino_xiao_ble
shield: sweep_central_dongle dongle_display
This shield assumes that the dongle is already set up and functioning with the built-in status screen.
For setup examples, refer to the shields in my zmk-config
.
- If you are using the larger 1.3" OLED, replace
solomon,ssd1306fb
withsinowealth,sh1106
and setsegment-offset = <2>
. - If you are using a nice!nano, replace
xiao_i2c
withpro_micro_i2c
. - If you are using the smaller 0.91" OLED, replace
height = <64>;
byheight = <32>;
- active hid indicators (CLCK, NLCK, SLCK)
- active modifiers
- bongo cat
- highest layer name
- output status
- peripheral battery levels
To also display the battery level of the dongle/central device, use the following configuration property:
CONFIG_ZMK_DONGLE_DISPLAY_DONGLE_BATTERY=y
If you want to use MacOS modifier symbols instead of the Windows modifier symbols, use the following configuration property:
CONFIG_ZMK_DONGLE_DISPLAY_MAC_MODIFIERS=y
To allow smaller OLEDs, with 128x32 pixels, it will be necessary to exclude some widgets, like the bongo cat, active modifiers or the highest layer name. You can do it with the following config entries:
CONFIG_ZMK_DONGLE_DISPLAY_BONGO_CAT=n
CONFIG_ZMK_DONGLE_DISPLAY_MODIFIERS=n
CONFIG_ZMK_DONGLE_DISPLAY_LAYER=n
It is also necessary to reduce the buffer size, otherwise the I2C communication can become unstable:
CONFIG_LV_Z_VDB_SIZE=32
- case1
- case2
- Cyberdeck by @rafaelromao
- Dongle PCB by @spe2
- Macintosh by @rain2813
- Redox by @rurounikexin
- sai44 Dongle by @leafflat
- ZMK Display Dongle by @yingeling
- ZMK Nice Nano 128x64 OLED Dongle by @James_909973
- Dilemma DIY with 128x32 OLED
- Prospector by @carrefinho
- YADS by @janpfischer