Skip to content

Supported hardware

probe-web runs probe-rs, so in principle it supports the probes and chips probe-rs does. In practice, what a browser can reach depends on the probe's USB interface, and the async port that WebUSB needs has been verified on the boards below.

Verified boards

Flashing, RTT and the debugger were verified on every board over both transports: WebUSB in Chrome, and WebSocket to probe-rs serve. Pack import and embedded-test were verified over WebUSB, and the MCXA153 test suite over WebSocket as well. Flashing was checked out of band by reading the image back with native tools after the browser released the probe (probe-rs read, or esptool.py read-flash for the ESP32-S3).

BoardProbeCoreFlash and verifyRTT and defmtDebuggerSemihostingPack importembedded-test
NXP FRDM-MCXA153MCU-Link (CMSIS-DAP v2), SWDCortex-M33
Nordic Thingy:91 (nRF9160)J-Link, SWDCortex-M33✓ (with down channel)
Espressif ESP32-S3-DevKitCBuilt-in USB-JTAG, JTAGXtensa LX7 ×2✓ (no disassembly)n/a

— means not tested on that board; n/a means it does not apply (Espressif does not publish CMSIS packs).

What "Debugger ✓" covers: source breakpoints, stepping over, into and out of functions, stack traces, scopes, variables, evaluate and setVariable, registers, memory, RTT while debugging, the debugger components, the workbench and the DAP adapter.

Flash times for a 4 KiB image with verify, as a rough guide:

BoardWebUSBprobe-rs serve
FRDM-MCXA1531.25 s1.99 s
Thingy:911.24 s1.28 s
ESP32-S30.71 s1.69 s

WebUSB is no slower than native USB here. The worker skips a network hop, and USB transfer overhead in Chrome is small (about 15 % above native, measured per transfer).

Probes

Probe familyWebUSBNotes
CMSIS-DAP v2 (MCU-Link, DAPLink, Pico probe, …)Verified. Detected by USB interface, so any vendor ID works.
SEGGER J-LinkVerified.
Espressif USB-JTAG (ESP32-S3, C3, C6, …)Verified on the ESP32-S3.
CMSIS-DAP v1 (HID-only)WebUSB cannot claim HID interfaces. Use probe-rs serve.
ST-LinkUntestedShould work. The WebUSB-specific changes are not verified on hardware yet.
WCH-LinkUntestedSame as ST-Link.
FTDI-based JTAGUntested

Any probe probe-rs serve supports works over the WebSocket transport.

On Linux, WebUSB needs the same udev rules as probe-rs so the browser can open the device. See probe-rs's setup guide. On Windows, the probe's interface needs the WinUSB driver, as for probe-rs.

Chips

Any chip probe-rs has a target description for can be flashed and debugged, subject to the probe support above. For a chip probe-rs does not ship, import its CMSIS pack.

Auto-detection (attaching without naming the chip) works where the chip identifies itself. It works for the ESP32-S3 but not for the nRF9160 or the MCXA153. That matches native probe-rs.