# 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.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/4noha/SainSmartDDS140>
- Primary source: <https://github.com/4noha/SainSmartDDS140/blob/e6d06f6a049f8ab6daa74cb2eee31634b42df1ee/README.md>
- Catalog page: <https://awesomerea.org/resources/sainsmart-dds140-case/>
- Record JSON: <https://awesomerea.org/resources/sainsmart-dds140-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/sainsmart-dds140-case/index.md)

## 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.

## Primary sources

1. <https://github.com/4noha/SainSmartDDS140/blob/e6d06f6a049f8ab6daa74cb2eee31634b42df1ee/README.md>
2. <https://github.com/4noha/SainSmartDDS140/blob/e6d06f6a049f8ab6daa74cb2eee31634b42df1ee/docs/protocol.md>

## More in Protocols

- [haylou-rt-tools: reconstructing Haylou RT BLE and watch-face formats](https://awesomerea.org/resources/haylou-rt-tools-case/index.md) · Case study
- [DJI RC Plus 2: control protocol and gamepad bridge](https://awesomerea.org/resources/dji-rc-plus-2-controls-case/index.md) · Case study
- [AK820 Center: a Linux configurator for the AJAZZ AK820 Pro](https://awesomerea.org/resources/ak820-center-case/index.md) · Case study
- [Komimi: a Redmi Buds 6 Lite client built on its reconstructed control protocol](https://awesomerea.org/resources/komimi-case/index.md) · Case study
- [Fisher & Paykel RF505BRNUX1: decoding refrigerator board traffic](https://awesomerea.org/resources/fisher-paykel-fridge-bus-case/index.md) · Case study
- [Lightstick Vibed Studio: reconstructing the Super Junior Ver. 2 BLE controls](https://awesomerea.org/resources/lightstick-vibed-studio-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
