Skip to content

v0.6.2 — OLED Edition

Choose a tag to compare

@MarcelineVPQ MarcelineVPQ released this 19 May 04:13

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 + Mute hold-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=back footers 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