siglent-scope

Remote-control Siglent SDS1000X-E oscilloscopes over TCP using SCPI commands.

2|Updated May 13, 2026
One-click install
npx skills add https://github.com/curtisgalloway/public-skills --skill siglent-scope-curtisgalloway
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: siglent-scope
Source: https://github.com/curtisgalloway/public-skills/tree/main/plugins/hardware-lab/skills/siglent-scope
Command: npx skills add https://github.com/curtisgalloway/public-skills --skill siglent-scope-curtisgalloway

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Automating a Siglent SDS1000X-E oscilloscope is harder than the programming guide suggests: naive SCPI clients hang on firmware quirks like unanswered SAST? queries, unexpected ARM behavior, and MSIZ writes that silently clamp TDIV. This Skill encodes the verified connection procedure, command dialect, and workarounds so waveform capture and screenshots work on the first try. ## Core Features & Use Cases - Scope Discovery and Connection: Resolve the scope address via user input, $SCOPE_HOST, or the default hostname, then verify connectivity over the raw SCPI socket on port 5025 without any VISA stack. - Screenshot and Waveform Transfer: Capture 800x480 BMP screenshots via SCDP and pull deep-memory (up to 14 Mpts) waveform data with correct binary framing and volts/time conversion formulas. - Firmware Quirk Workarounds: Avoid hangs by polling INR? instead of SAST?, arming with TRMD SINGLE instead of ARM, and verifying TDIV after any MSIZ write. - Use Case: An engineer validating USB full-speed signal integrity asks the agent to arm the scope for a single acquisition, wait for the trigger, and pull the C1 waveform for analysis — the agent does it over a plain TCP socket without hanging. ## Quick Start Ask the agent to connect to the Siglent scope on the network, take a screenshot, and save the current channel 1 waveform to a file.

Frequently Asked Questions about siglent-scope

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control a Siglent SDS1104X-E oscilloscope over the network?▼

Connect to the scope's raw SCPI socket on TCP port 5025 and send SCPI commands directly — no VISA stack is required. Verify connectivity by sending *IDN? and checking the response, then send CHDR OFF to strip echoed headers from query replies.

How do I capture a screenshot from a Siglent SDS1000X-E scope?▼

Send the SCDP command over the SCPI socket; the scope returns a raw 800x480 BMP with no length prefix. Parse the file size from BMP header bytes 2-5 (little-endian), read that many bytes, then consume one trailing newline.

Why does my SCPI script hang when querying a Siglent scope?▼

The SAST? query never replies while trigger mode is STOP, hanging the connection forever with no error. Poll the INR? register bit 0 instead — it is a latched acquisition-done flag that clears on read.

Can I use pyvisa with a Siglent SDS1000X-E oscilloscope?▼

Yes, the scope supports VXI-11, so pyvisa works with a TCPIP::<host>::INSTR resource string. However, the raw socket on port 5025 is preferred and avoids the VISA dependency entirely.

Is the Siglent SDS1000X-E suitable for USB high-speed signal analysis?▼

No. With 100/200 MHz analog bandwidth it is fine for USB low-speed and full-speed signal integrity work, but it cannot capture USB high-speed (480 Mb/s) signaling.