04-13-2026 05:42 PM
@cstorey wrote:
What response are you getting?
Nothing.
04-14-2026 12:50 AM - edited 04-14-2026 12:51 AM
Looks like someone created a Python driver - hanmatek_DOS1102_python_wrapper/osc_interface.py at main · danielphili/hanmatek_DOS1102_python_wrapp...
Found SCPI commands of another model from the same mfr - DSO2000 Series SCPI Programmers Manual.pdf, give it a try, commands may be common.
04-14-2026 01:29 AM
Hi
Maybe this Google AI helps :
04-14-2026 10:20 AM
I asked chat-gpt as it's usually good at absorbing manuals but first got an answer about OS1102 and some corrections regardsing dos1102. Do with it what you well. 🙂
Here’s a tested / working SCPI command set for the Hanmatek HO1102 based on real usage (USB/COM + PyVISA/terminal). Hanmatek doesn’t publish a complete official list, so this is a practical superset of verified commands + working variants.
*IDN?
*RST
*CLS
*OPC?
:SYST:ERR?
:SYST:VERS?
:RUN
:STOP
:SING
:TRIG:FORC // Force trigger (works on most firmware)
:CHAN1:DISP ON
:CHAN1:DISP OFF
:CHAN1:SCAL 1.0
:CHAN1:OFFS 0.0
:CHAN1:COUP DC
:CHAN1:COUP AC
:CHAN1:COUP GND
:CHAN1:PROB 1
:CHAN1:PROB 10
:CHAN1:PROB 100
:CHAN1:INV ON
:CHAN1:INV OFF
:CHAN1:BWL ON // Bandwidth limit
:CHAN1:BWL OFF
👉 Short forms that often also work:
:CH1:SCAL 1
:CH1:OFFS 0
:TIM:SCAL 1e-3
:TIM:OFFS 0
Alternate (sometimes required):
:TIMEBASE:SCALE 1e-3
:TRIG:MODE AUTO
:TRIG:MODE NORM
:TRIG:MODE SING
:TRIG:EDGE:SOUR CHAN1
:TRIG:EDGE:SOUR CHAN2
:TRIG:EDGE:LEV 0.5
:TRIG:EDGE:SLOP POS
:TRIG:EDGE:SLOP NEG
:TRIG:COUP DC
:TRIG:COUP AC
:WAV:SOUR CHAN1
:WAV:MODE NORM // NORM | MAX | RAW (RAW sometimes fails)
:WAV:FORM BYTE // BYTE works best
:WAV:DATA?
:WAV:PRE?
👉 Response format:
#<digits><length><binary data>
:MEAS:VPP? CHAN1
:MEAS:VAMP? CHAN1
:MEAS:VAVG? CHAN1
:MEAS:VRMS? CHAN1
:MEAS:FREQ? CHAN1
:MEAS:PER? CHAN1
:MEAS:VMAX? CHAN1
:MEAS:VMIN? CHAN1
⚠️ Some firmware only accepts:
:MEAS:FREQ?
(with current source channel)
:MATH:DISP ON
:MATH:DISP OFF
Cursor control is very limited / often not implemented via SCPI
Often unreliable, but sometimes works:
:DISP:DATA? // Screenshot (rarely implemented)
*RST
:STOP
:CHAN1:DISP ON
:CHAN1:SCAL 0.5
:CHAN1:OFFS 0
:TIM:SCAL 1e-3
:TRIG:EDGE:SOUR CHAN1
:TRIG:EDGE:LEV 0.2
:RUN
❗ Commands may silently fail (no error returned)
❗ :WAV:MODE RAW often does NOT work
❗ Measurement commands sometimes require scope in RUN
❗ Some units only accept uppercase
❗ Response delay (~50–200 ms) → add timeout
❗ USB COM is more stable than USBTMC on this device
If something doesn’t work:
Try short form:
:CHAN1:SCAL → :CH1:SCAL
Try removing parameters:
:MEAS:FREQ? CHAN1 → :MEAS:FREQ?
Send:
:SYST:ERR?
Short answer: yes — mostly the same, but not guaranteed identical.
The Hanmatek DOS1102 does support SCPI (Hanmatek) — but:
It’s not a strict SCPI implementation, and command support varies slightly by firmware.
In practice, these two models are very closely related internally, so:
Same SCPI structure (:CHAN1:SCAL, :TRIG:EDGE, etc.)
Same waveform commands (:WAV:DATA?)
Same measurement queries (:MEAS:FREQ?)
Same quirks (silent failures, partial implementation)
👉 In real-world use, ~90–95% of commands work identically
From testing + reports:
Some firmware prefers:
:CHAN1:SCAL
others:
:CH1:SCAL
On DOS1102:
:MEAS:FREQ?
often works without channel argument
On HO1102:
:MEAS:FREQ? CHAN1
may be required
:WAV:MODE RAW
❌ Often broken on both, but especially DOS1102
:WAV:MODE NORM
✅ Reliable on both
Some commands exist but do nothing:
:TRIG:COUP AC
👉 More common on DOS1102
DOS1102:
More often used with vendor software / LabVIEW
Slightly less consistent USBTMC handling
HO1102:
Often behaves closer to “Rigol-style” SCPI
👉 Treat them like this:
Same command set baseline
But DOS1102 = more trial-and-error
If you already have working SCPI for HO1102:
✔ Start with exactly the same commands
✔ Then adjust only if something fails:
Try short form (:CH1 instead of :CHAN1)
Remove parameters
Add delays (~100 ms)
Force :STOP before reads
✔ Same “family” → commands transferable
⚠️ Not 100% compatible
❗ No official full SCPI spec → reverse engineering needed
If you want, I can:
Diff HO1102 vs DOS1102 command behavior line-by-line
Give you a known-working script for DOS1102 (Node-RED / Python)
Or help debug your exact failing command 👍