aioscilloscope / Tools / step_kit

step_kit: a channel's absolute bandwidth from a fast-edge pulser

step_kit is one Python file that measures how wide a scope channel really is. A fast-edge pulser's square goes straight into the channel; the kit captures eight single records over SCPI, folds the pulser's edges in equivalent time into one finely sampled step, and gives the rise time, the overshoot and the -3 dB of the channel's response. It talks only SCPI, and it puts back every setting it changes.

CH1What it needs

python3 step_kit.py selftest
python3 step_kit.py measure --host SCOPE --ch 1
python3 step_kit.py analyse records.npz

The README has the wiring, every option, what measure sends in order, and the known limits. METHOD has the arithmetic step by step and the self-test results.

CH2Files

MIT licence (LICENSE).

FileBytesSHA-256
step_kit.py68,716703fed9715652ece11e775a0cce5ac368950cf1ec29a72c7d07c9db111dd4dbe
test_step_kit.py19,66055a7f04f66645aaa3704cb160b1634d2bf9bc7d7a174512cb4c1befdbd42ef7d
README.md12,380ea63f4928d51864d1bc36b3c7763a3af124850479bd9eed7be8f2a48ffa21558
METHOD.md10,305ebf87215fa07c88d026ace6f81232d1b76c620ff72173ab85191ce484db78cb2
LICENSE1,0690f248fd800e1876da972b234d751e04f8ac6730364c6f9bc04bd0e1f89b62b06

The same sums are in SHA256SUMS; check them with sha256sum -c SHA256SUMS. The kit's own tests run against a fake SCPI scope: python3 -I test_step_kit.py (15 tests).

CH3What we measured

The bandwidth of an MHO934 with the band limit OFF, under Rigol's firmware and under NovaOS, measured on 2026-10-17 with the same pulser and cable: the results, the method and the raw runs are on NovaOS vs stock. Those runs were taken with our bench tool's step method, whose analysis this kit carries unchanged: on synthetic records the two give exactly the same numbers.

Choose the pulser's frequency so its edges sweep the sample interval several times a record. Ours, 1,003,017 Hz, swept it only about 1.7 times in each 250,000-point record Rigol's firmware returns, and on synthetic records with so few sweeps the -3 dB reads up to about 1 % low at 4 GSa/s. The kit counts the sweeps and warns below five; if it warns, move the frequency by a few hundred hertz.