# picoscope-libusb: reconstructing PicoScope 2204A USB control

> picoscope-libusb reconstructs PicoScope 2204A USB control from SDK traces and device experiments. Its protocol notes document endpoints, command framing, firmware upload, capture modes, and waveform transfers; a C libusb driver exposes these functions to a Wails desktop GUI and an Android JNI library. Firmware blobs must be extracted from the user's own device.

- 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/Wasabules/picoscope-libusb>
- Primary source: <https://github.com/Wasabules/picoscope-libusb/blob/8f1f4694af2e8e6b288e27d17d9da8abefd77f0a/docs/protocol.md>
- Catalog page: <https://awesomerea.org/resources/picoscope-libusb-case/>
- Record JSON: <https://awesomerea.org/resources/picoscope-libusb-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/picoscope-libusb-case/index.md)

## Requirements & limits

- **Prerequisites:** A PicoScope 2204A and firmware extracted from the user's own device are required.
- **Testing evidence:** The primary hardware target is Linux desktop; Windows and macOS hardware use has not been validated.
- **Limits:** Signal-generator amplitude and offset did not respond on the tested unit.
- **License:** Licensed under MIT; proprietary firmware blobs are excluded.

## Primary sources

1. <https://github.com/Wasabules/picoscope-libusb/blob/8f1f4694af2e8e6b288e27d17d9da8abefd77f0a/docs/protocol.md>
2. <https://github.com/Wasabules/picoscope-libusb/blob/8f1f4694af2e8e6b288e27d17d9da8abefd77f0a/README.md>

## More in Protocols

- [pyPredator: reconstructing Predator PH18-73 RGB control](https://awesomerea.org/resources/pypredator-case/index.md) · Case study
- [FT9201 Linux: reconstructing fingerprint-reader USB capture](https://awesomerea.org/resources/ft9201-linux-case/index.md) · Case study
- [SP656E CLI: a BanlanX Bluetooth lighting client](https://awesomerea.org/resources/sp656e-cli-case/index.md) · Case study
- [Navico GoFree: screen-mirroring protocol findings](https://awesomerea.org/resources/navico-gofree-protocol-case/index.md) · Case study
- [Claude Code inbox socket: documenting session messages and delivery](https://awesomerea.org/resources/claude-code-inbox-socket-case/index.md) · Case study
- [Fujitsu FGL Type A Bus Protocol: decoding an air-conditioner wired remote](https://awesomerea.org/resources/fujitsu-fgl-type-a-bus-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.
