Web Serial HMI + USB CDC Firmware (Octolux ↔ RP-series)
Public Unreviewedby Caleb
Build a paired NTX HMI (Chromium kiosk on Octolux) + firmware (USB CDC on RP2040/RP2350) that auto-connects over USB with no permission picker. End-to-end recipe: Pico SDK firmware template, HMI Web Serial via getPorts() + VID filter, Chromium SerialAllowAllPortsForUrls policy, udev MODE=0666 for /dev/ttyACM*, SCP + chromium-restart + screencast-bounce deploy, CDP verification, visible-debug-strip diagnostics, and a 12-row failure-mode table.
Discover
How an AI finds this repo: the auto-discovery snippet from page.json, self-tested against the live discovery search.
Snippet
Build a paired NTX HMI (Chromium kiosk on Octolux) + firmware (USB CDC on RP2040 / RP2350) that auto-connects over USB with no permission picker. The single biggest enabler is the Chromium `SerialAllowAllPortsForUrls` policy; the rest is `getPorts()` with VID filter (NOT `requestPort()`), the udev rule for /dev/ttyACM* under Yocto, the visible-debug-strip pattern for Chromium dialogs invisible to VNC, and the SCP + chromium-restart + screencast-bounce deploy sequence. Includes working templates for both firmware (~80 lines C) and HMI (~80 lines JS) plus a 12-row failure-mode table.
Start a new HMI+firmware project that talks over USB on OctoluxMy HMI's Web Serial picker keeps appearing — how do I auto-connect on load?Web Serial picker says 'No compatible devices found' but lsusb sees the devicegetPorts() returns ports but port.open() throws 'Failed to open serial port'Where do I install SerialAllowAllPortsForUrls on an Octolux device?Show me the RP2040 USB CDC firmware template with the standard line protocolSample prompts: self-test
How this repo ranks when its full trigger set is the query.
Each sample prompt run against the live discovery search. The score is your rank, does the prompt return this repo at the top?
"Start a new HMI+firmware project that talks over USB on Octolux"Build HMI+firmware pair
#1 of 156
"My HMI's Web Serial picker keeps appearing — how do I auto-connect on load?"Auto-connect no picker
#1 of 156
"Web Serial picker says 'No compatible devices found' but lsusb sees the device"Picker shows no devices
#1 of 115
"getPorts() returns ports but port.open() throws 'Failed to open serial port'"HMI port.open fails
#1 of 142
"Where do I install SerialAllowAllPortsForUrls on an Octolux device?"Chromium serial policy
#12 of 156
"Show me the RP2040 USB CDC firmware template with the standard line protocol"Reference firmware template
#1 of 144