Case study
SainSmartDDS140: a USB oscilloscope client built from protocol research
SainSmartDDS140 reimplements control of the SainSmart DDS140 USB oscilloscope through its recovered USB protocol. The author describes decompiling the vendor .NET app, examining its WinUSB wrapper and checking commands against hardware. A pyusb client exposes capture, calibration, recording and a local browser interface, while protocol notes document control transfers and interleaved channel samples.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 0
- Last commit
- 2026-10-31
- Language
- Python
- License (GitHub)
- MIT
GitHub data as of 2026-11-10
Evidence
- Observed
- Code, documentation and a demo observed; no download method found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: A SainSmart DDS140 is required for device capture and hardware self-tests.
- Prerequisites: Python 3, pyusb and libusb-1.0 are required for the client.
- Limits: Hardware trigger, eight-channel logic analysis and the signal generator are not implemented.
- License: MIT license.
Cite
BibTeX
@misc{sainsmart-dds140-case,
title = {{SainSmartDDS140: a USB oscilloscope client built from protocol research}},
howpublished = {\url{https://github.com/4noha/SainSmartDDS140}},
url = {https://github.com/4noha/SainSmartDDS140},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/sainsmart-dds140-case/}}
}Plain text
SainSmartDDS140: a USB oscilloscope client built from protocol research. https://github.com/4noha/SainSmartDDS140 (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/sainsmart-dds140-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · 4noha/SainSmartDDS140 · Revision e6d06f6
- docs/protocol.md GitHub · 4noha/SainSmartDDS140 · Revision e6d06f6
More in Protocols
- haylou-rt-tools: reconstructing Haylou RT BLE and watch-face formats · Case study
- DJI RC Plus 2: control protocol and gamepad bridge · Case study
- AK820 Center: a Linux configurator for the AJAZZ AK820 Pro · Case study
- Komimi: a Redmi Buds 6 Lite client built on its reconstructed control protocol · Case study
- Fisher & Paykel RF505BRNUX1: decoding refrigerator board traffic · Case study
- Lightstick Vibed Studio: reconstructing the Super Junior Ver. 2 BLE controls · Case study