SWD and JTAG
Flash, erase, verify, step and set breakpoints over SWD, or over JTAG with automatic scan-chain detection.
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.
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.
Flash, erase, verify, step and set breakpoints over SWD, or over JTAG with automatic scan-chain detection.
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.
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.
The dongle is a standard CMSIS-DAP v1 and v2 adapter. Any debugger that speaks CMSIS-DAP finds it with no driver to install.
# 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
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.
Every packet is encrypted and authenticated with AES-CCM and a replay counter. A dongle from a different kit cannot talk to your probe.
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.
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.
Measured on the current nRF52840 prototype with an STM32H750 target. Figures will be updated for the production board.
| Host interface | USB, CMSIS-DAP v1 (HID) and v2 (bulk), plus 2 CDC serial ports |
|---|---|
| Debug protocols | SWD, 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 trace | UART (NRZ) up to 1 Mbaud, ≈ 80 KB/s, 0 loss |
| Target UART | 9600 – 921600 baud |
| Radio | 2.4 GHz proprietary link, AES-CCM, automatic channel selection |
| Target I/O | 3.3 V · level-shifted 1.2 – 5.5 V version planned |
| Supported targets | ARM Cortex-M: STM32, Nordic nRF and other CMSIS-DAP-compatible MCUs |
The companion app for flashing, memory dumps, SWO capture, radio diagnostics and firmware updates. It also runs batch flashing for small production runs.
The first public build will be published here. Studio checks this site for new versions of itself and of the dongle and probe firmware.