Skip to main content
In debug mode, Embedder can drive a Siglent SDS800X HD bench scope over LAN to capture analog waveforms. Supported models: SDS802X HD, SDS804X HD, SDS812X HD, SDS814X HD, SDS822X HD, SDS824X HD. Captures auto-publish to the Power tab of the Console panel (VS Code extension and standalone app).
Oscilloscope support is in beta. The SDS800X HD family is fully supported. Other LXI / SCPI scopes may work for some features but aren’t fully verified — expect rough edges.

What you can probe

Prerequisites

1

Be in debug mode

Run /debug.
2

Install host software

Embedder installs pyvisa and pyvisa-py automatically the first time you run a scope script — approve the install when prompted.
3

Connect the scope to LAN

Connect the scope to the same LAN as your host (Ethernet or Wi-Fi). Embedder browses mDNS (_lxi._tcp / _vxi-11._tcp / _scpi-raw._tcp) on every non-internal IPv4 NIC, so any LXI-compliant scope shows up in hardware_status under metadata.discoveredScopes with its vendor, model, serial, firmware, ip, and hostname.If discoveredScopes is empty (corporate Wi-Fi, AP isolation, mDNS blocked), set the IP directly:
Read the scope’s IP from the front panel under Utility → Menu → I/O → LAN Config (DHCP is on by default). Quick reachability check: open http://<ip> in a browser and you should see the scope’s built-in LXI status page.
4

Wire your probes

Not sure which probe goes where? Ask Embedder:
User asking Embedder how to wire the Siglent scope, agent walks through the channel and ground clip

Asking Embedder for SDS812X HD wiring help

Connecting a scope probe tip and ground clip to a board test point

Probing a test point with a scope probe

Example prompts

Single-shot capture on an edge trigger:
embedder
The agent arms a single-shot trigger, blocks until it fires, and reads the frozen acquisition. Rise time comes back via the scope’s built-in measurement.
Embedder running a single-shot capture on the Siglent SDS812X HD and publishing the trace to the Power tab

Embedder driving an SDS812X HD capture in debug mode

Screenshot the scope display:
embedder
Check rail integrity under load:
embedder
The agent records a high-rate analog trace, looks for droop or ringing, and reports min / max / avg. Measure interrupt latency:
embedder
You’ll need a debug GPIO toggle in your ISR; the agent computes the time delta from the captured trace. Verify SPI clock at high rate:
embedder
Use this when the logic analyzer is decoding garbage — signal-integrity failures look fine in the digital decode but show up clearly on the scope. The 12-bit ADC and longer memory depth surface ringing and overshoot that lower-resolution captures miss. Drop to raw SCPI:
embedder
Reach for raw SCPI when the helper layer doesn’t cover what you need — the Siglent SDS Series Programming Guide (EN11G) is the full API reference.

What the agent does for you

The agent writes a Python script that opens a SCPI session over LAN, configures channels and timebase, arms the trigger, captures the waveform, and publishes the result to the Power tab. The chart is shared with power-analyzer traces, so you can correlate analog scope captures with current measurements on the same timeline.

Common gotchas

Check that the scope is on the same LAN as your host and that you can open http://<ip> in a browser. If mDNS is blocked (corporate Wi-Fi, AP isolation), set EMBEDDER_SCOPE_HOST=<ip> and re-run hardware_status. If discoveredScopes shows the scope but reachable: false, follow the suggestedFix (typically a subnet alias like sudo ifconfig <iface> alias <ip>/<cidr>).
A single-shot capture times out after 5 s by default. Check the trigger source, level, and coupling, or ask the agent to use a longer timeout: “wait up to 30 seconds for the trigger”.
V/div is too coarse for the signal — the trace runs into the rails. Ask the agent to “drop V/div to 200 mV” or whatever fits. The opposite (V/div too fine) shows a flat-looking line because the signal is way bigger than the visible window.
Some helpers are tuned for the SDS800X HD’s specifics. On other LXI / SCPI scopes those helpers may misparse data or fail — fall back to raw scope_query / scope_write calls and the vendor’s programming guide, or stick to a verified SDS800X HD model for full coverage.

Next steps

PicoScope

Prefer a USB scope? PicoScope runs the same capture prompts over USB.

Logic analyzer

Decode digital protocols with a Saleae or Digilent.

Combined workflows

Mix scope, logic, and GDB in one debug session.
Last modified on July 15, 2026