Skip to content

feat(toolbox): add 4.2" BWR GDEY042Z98 display preset - #183

Merged
jonasniesner merged 1 commit into
OpenDisplay:mainfrom
gcormier:greg/happy-babbage-e6s86a
Nov 4, 2026
Merged

jonasniesner merged 1 commit into
OpenDisplay:mainfrom
gcormier:greg/happy-babbage-e6s86a

Conversation

@gcormier

Copy link
Copy Markdown
Contributor

Adds a toolbox display preset for the GDEY042Z98 / DEPG0420 4.2" B/W/R panel (SSD1683), as fitted to some RockBase IoT NM-EPD-420 boards.

Requires firmware that maps panel IC 0x004D to bb_epaper's EP42R3_400x300: OpenDisplay/Firmware#173.

Changes

  • config.yaml: add panel_ic_type 77, ep42r3_400x300.
  • simple-config-presets.json: add the ep42r-400x300 preset, "4.2" BWR GDEY042Z98 (400×300)": 84×63 mm active area, color_scheme 1 (bwr), full updates only.
  • simple-config-id-registry.json: register ep42r-400x300 as index 47.

Testing

On an NM-EPD-420 with a GDEY042Z98 panel, running the firmware from OpenDisplay/Firmware#173:

  • Served the toolbox locally from this branch and confirmed the preset is listed and loads.
  • Encoded a config from the NM-EPD-420 driver preset (32), this display preset (47) and USB power (1) with the firmware repo's tools/od-device-cli.py encode-config, then flashed it as a factory embed. BLE scanning wasn't available on the test machine, so it wasn't written through the toolbox's Bluetooth path.
  • The panel boots and renders correctly: black/white/red test boxes in the right colours, text not mirrored, full frame.

Unrelated note

config.yaml documents system_config.device_flags bit 5 (0x20) as channel_sounding, but the NM-EPD-420 driver preset sets device_flags: 0x20 and the firmware reads that bit as DEVICE_FLAG_NM420_INIT (the boot log prints Device flag DEVICE_FLAG_NM420_INIT is set, calling nm420_init()). One of the two is out of date. I haven't changed it here.

Adds panel_ic_type 77 (ep42r3_400x300, DEPG0420 / GDEY042Z98, SSD1683
B/W/R) to config.yaml and a matching 400x300 BWR display preset, as
fitted to some RockBase IoT NM-EPD-420 boards. Requires firmware that
maps panel IC 0x004D to bb_epaper's EP42R3_400x300.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QHMArYMojNcsWm5gYBUc1U
@jonasniesner
jonasniesner merged commit 3b8430a into OpenDisplay:main Nov 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants