The Monitor keeps serial output, debugger state, and instrument captures beside your code and chat. Start with the symptom, then choose the observation that can confirm or reject a cause.
Follow Debugging and RCA for an investigation from reproduction through hardware/software diagnosis, correction, and regression checks.
Start an investigation
- Open the project with source and firmware artifacts that match the target.
- Run
/debug when you need GDB, target-state inspection, or bounded instruction and coverage captures.
- Run Embedder: Open Embedder Monitor.
- Ask Embedder to check the connected devices and complete any required setup. For bench instruments, you can also connect from the Monitor.
- Describe the symptom and the state you need to preserve.
Hardware scripts and ordinary instrument measurements can also run in Act mode.
Choose the evidence
- Serial: boot output and device commands through UART, RTT, ITM, or xSCOPE.
- CAN: bus frames and application signals.
- Plots: live numeric signals and calculated channels.
- GDB and registers: stack, memory, execution, and peripheral state.
- Logic analyzer: digital edges and protocol decoding.
- Power analyzer: current and energy during a workload.
- Oscilloscope: analog waveforms and signal measurements.
- Spectrum analyzer: frequency sweeps and RF peaks.
- Coverage and trace: executed paths and source coverage.
- Bluetooth: BLE advertisements, services, and notifications.
- Dashboard: a reusable view of related readings and controls.
Name the instrument, physical channels, duration, and expected result in a capture request.
Each integration has its own setup, usage, and troubleshooting page. Choose by the tool connected to your board or host:
- Serial: UART, SEGGER RTT, ITM/SWO, and XMOS xSCOPE.
- CAN adapters: SLCAN and mjbots fdcanusb.
- Debuggers: SEGGER J-Link, OpenOCD, TI CCS and XDS, and XMOS xTAG and xgdb.
- Logic and analog instruments: Saleae Logic, Digilent WaveForms, DSLogic, PicoScope, SCPI oscilloscopes, Siglent, and the Siglent SSA3015X Plus spectrum analyzer.
- Power instruments: Nordic PPK2 and Joulescope. Digilent’s supply and analog measurement features are on its own page.
- Trace and simulation: SEGGER J-Trace and XMOS xsim. RTT, ITM, and xSCOPE guides also cover their event-recording prerequisites.
- Wireless: Bluetooth Low Energy.
- Programming and remote hardware: probe-rs, AURIX ADS and Flasher, flashing firmware, and remote bridges.
Check model-specific limits before choosing a capture or output function. Detection, catalog coverage, and support for a particular operation are separate checks.
Connect a bench instrument
The Oscilloscope, Spectrum Analyzer, and Power tabs share a device bar for bench instruments. Its Device list shows detected instruments and saved devices of that type.
- In the Monitor, select + to open a Connect tab. The On the bench group lists instruments Embedder currently detects, with each device’s type, address, and state. Select a device to open a tab bound to it. Devices that already have a tab are hidden until you search for them; selecting one then switches to its tab.
- To reach a LAN instrument that isn’t listed, type its address in the search field, such as
192.168.1.20 or 192.168.1.20:5025, and select the Connect to result. Embedder probes the address and opens the matching tab when an instrument answers.
- Select Set up & connect for a new device. Selecting it approves setup. Embedder installs only the packages that model needs and shows progress in the device bar.
Each device shows one of these states:
- Detected: Embedder found the device, but it needs setup before it can connect.
- Setting up: Embedder is installing the device’s dependencies. Progress appears in the bar.
- Ready: setup is complete. A tab bound to the device connects automatically; otherwise select Connect.
- Connected: the tab owns the instrument connection.
- Disconnected: a saved device that isn’t currently reachable. Plug it in or power it on, then retry.
- Unsupported: Embedder recognized the instrument, but its model isn’t supported.
- Error: Embedder found the device but couldn’t reach it or finish setup. The bar shows the reason; fix it, then connect again.
Use Rename to name the device, Rescan to search again, and Forget to remove a saved device that isn’t currently detected. On the Oscilloscope tab, these are in the ⋯ (Device actions) menu.
After you approve setup for one device of an instrument type, Embedder sets up new devices of that type automatically. Embedder remembers each device’s name, address, and tab settings for the next session. The device selected in a Monitor tab is also the default for hardware scripts, such as scope_connect() or spectrum_connect() called without an address.
Test one hypothesis
Save the original capture before changing settings. After a fix, repeat the original condition and compare the result.
Use a hardware script for a repeatable sequence or a combined workflow when several observations are needed.
Preserve the target
A normal GDB connection can program and reset the board. Bounded J-Trace instruction and coverage captures also reset and run it. When the existing fault or RAM state matters, review the attachment precautions before opening a new debugger connection.
State restrictions such as “do not reset,” “do not transmit on CAN,” or “keep the supply below 3.3 V.” Check /hardware-queue if another session is using the board.
The terminal UI supports investigations and saved results, but the full Monitor is available in VS Code. Last modified on September 18, 2026