Wireless SWD / JTAG debug probe · CMSIS-DAP

Debug the board without the cable.

A USB dongle at your PC and a small probe on the target, joined by an encrypted 2.4 GHz link. Your IDE sees an ordinary CMSIS-DAP adapter, and the board under test stays electrically isolated from your laptop.

PC · IDE pyOCDOpenOCD USB Dongle CMSIS-DAP v1/v2 2.4 GHz · AES-CCM commands → ← data · SWO · UART the cable you no longer need Probe SWD · JTAG SWDIO SWCLK SWO UART TX/RX GND Target STM32 · nRF Cortex-M
SWD/JTAG, SWO trace and the target's UART all travel over the same paired radio link.
Three signals, one link

Everything a debug cable carries

The probe drives the target's debug port locally and streams the results back, so step, breakpoints, flashing and live trace all work as they do on a wired probe.

SWDIO · SWCLK · TMS · TCK · TDI · TDO

SWD and JTAG

Flash, erase, verify, step and set breakpoints over SWD, or over JTAG with automatic scan-chain detection.

SWO · ITM

SWO trace

printf over ITM and data trace up to 1 Mbaud, with nothing lost over the radio. The dongle shows SWO as its own COM port.

TX · RX

Target UART

Your board's serial console appears as a second COM port on the PC, from 9600 to 921600 baud. TX and RX can be swapped in software.

No new toolchain

Works with the tools you already use

The dongle is a standard CMSIS-DAP v1 and v2 adapter. Any debugger that speaks CMSIS-DAP finds it with no driver to install.

  • pyOCDgdbserver, flash, SWO
  • OpenOCDSWD and JTAG, cmsis-dap
  • VS Code + Cortex-Debugincluding Live Watch via OpenOCD
  • Phantom Studioflashing, memory, SWO, radio, updates
# phantom.cfg — OpenOCD
adapter driver cmsis-dap
cmsis-dap vid_pid 0x1209 0x0007
cmsis-dap backend usb_bulk
transport select swd
source [find target/stm32h7x.cfg]
adapter speed 4000

# or with pyOCD
pyocd gdbserver --target stm32h750vbtx
Out of the box

Plug in the dongle and start debugging

Paired at the factory

The dongle and probe in a kit already know each other. If a pair is ever lost, hold the two boards together and Phantom Studio re-pairs them with a six-digit code.

Encrypted link

Every packet is encrypted and authenticated with AES-CCM and a replay counter. A dongle from a different kit cannot talk to your probe.

Updates over the air

Phantom Studio updates the dongle over USB and the probe over the radio. Probe images are signed, and a failed update rolls back on its own.

Finds a clear channel

The dongle picks a quiet channel at start-up and hops away when packet loss climbs. A watchdog brings the probe back if anything hangs.

Datasheet

Specifications

Measured on the current nRF52840 prototype with an STM32H750 target. Figures will be updated for the production board.

Host interfaceUSB, CMSIS-DAP v1 (HID) and v2 (bulk), plus 2 CDC serial ports
Debug protocolsSWD, JTAG (auto chain detect)
Memory read≈ 54 KB/s · bulk read in Studio ≈ 77 KB/s
Memory write≈ 78 KB/s
Single step≈ 7 ms
SWO traceUART (NRZ) up to 1 Mbaud, ≈ 80 KB/s, 0 loss
Target UART9600 – 921600 baud
Radio2.4 GHz proprietary link, AES-CCM, automatic channel selection
Target I/O3.3 V · level-shifted 1.2 – 5.5 V version planned
Supported targetsARM Cortex-M: STM32, Nordic nRF and other CMSIS-DAP-compatible MCUs
Software

Phantom Studio

The companion app for flashing, memory dumps, SWO capture, radio diagnostics and firmware updates. It also runs batch flashing for small production runs.

Coming soon

Phantom Studio for Windows

Windows 10 / 11 · 64-bit

The first public build will be published here. Studio checks this site for new versions of itself and of the dongle and probe firmware.

Updating firmware

  1. Open Phantom Studio with the dongle plugged in.
  2. Go to the Update page. Studio shows the installed and available versions.
  3. Press Update. The dongle updates over USB, the probe over the radio.