v0.6.2 — OLED Edition
OLED button-model and visual-chrome refactor on top of v0.6.1. The Pico-OLED-1.3's two physical buttons are now strictly navigation on every screen; per-screen interactions (cycling the trigger preset, cycling the lightbar mode, etc.) all live on the DualSense controller buttons. Drop-in upgrade; no breaking changes to flash format or pairings.
What changed
Button model
- KEY0 / KEY1 are pure navigation now — K0 short-press = next screen, K1 short-press = previous screen, on every screen. KEY1 long-press still cycles OLED brightness (unchanged). The old contextual K1=cycle behavior on Trigger Test and Lightbar moved to controller buttons:
- Trigger Test — press △ on the controller to cycle the adaptive-trigger preset.
- Lightbar — press R1 on the controller to cycle through
[LIVE]→ favorites → effects. (△ stays as "save current RGB to favorite slot 0" — the existing UX.)
- Reboot gesture: KEY0 + KEY1 held simultaneously for ≥ 1 s (replaces the older KEY0 double-click). Rapid forward-navigation kept tripping the double-click timer by accident, soft-rebooting the dongle mid-session. The two-button chord can't be fat-fingered. DS5
PS + Mutehold-2 s remains the headless backup.
Visual chrome
- Every screen gets
>painted at the top-left (next to KEY0) and<at the bottom-left (next to KEY1), so the on-screen labels physically pair with the buttons. Main content shifts right by 6 px to clear the chrome strip. - All
K0=next K1=backfooters removed. Trigger Test footer =Tri=cycle. Lightbar footer =R1=mode. Slots / Settings keep their contextual hints.
Web preview (DS5Dongle-OLED-Config-Web)
- Web preview mirrors all of the above byte-for-byte.
- Trigger preset via the controller actually fires real haptics through the dongle (DS5 output report 0x02 / SetStateData, relayed over BT).
- Three screens that need feature reports Chrome WebHID can't expose on a stock DualSense descriptor (Slots, Diagnostics, CPU/Clock) now render in orange when a controller is connected, with an explanatory note below the canvas — clear visual signal that the values are mock.
Documentation
- README has a new Web Config Tool section near the top linking https://marcelinevpq.github.io/DS5Dongle-OLED-Config-Web/#config, plus a BOOTSEL primer for first-time flashers.
- OLED Display Add-on section rewritten: 11 screens (CPU/Clock added in v0.6.1 is now properly documented), consistent web-preview screenshots, new button-reference table, ASCII mockups dropped.
Hardware verified
Pico 2 W + Waveshare Pico-OLED-1.3:
- K0 spam test (rapid paging) — no accidental reboots.
- K0+K1 chord (1 s) — soft reboot fires reliably.
- K1 short-press = back-nav on every screen; K1 long-press = brightness cycle.
- Triangle on Trigger Test cycles preset and adaptive triggers update on the paired DS5 (Off / Feedback / Weapon / Vibration / Bow / Gallop / Machine).
- R1 on Lightbar cycles mode; Triangle still saves to favorite slot 0.
- Slots / Settings △-based UX unaffected.
- DS5 PS+Mute headless reboot still works.
Install
Download ds5-bridge-oled-v0.6.2-oled-edition.uf2 below, hold BOOTSEL on the Pico while plugging USB, copy the UF2 to the RP2350 mount. Or flash from the web config tool — no picotool, no drag-and-drop.
A -debug build is also attached (ENABLE_SERIAL=ON, ENABLE_VERBOSE=ON — printf to USB CDC).
Checksums are appended automatically by .github/workflows/release.yml after the build job finishes.
Checksums
eb8886ce6336a04db315fece11e34f20e95b672b2d79e21e425ed184c91e5050 ds5-bridge-oled-debug-v0.6.2-oled-edition.uf2
38ca93b10152ae76e09859426e67beb98fd3d420436d3398fa7a5ad421494bd9 ds5-bridge-oled-v0.6.2-oled-edition.uf2