https://github.com/greatscottgadgets/cynthion
USB test instrument
https://github.com/greatscottgadgets/cynthion
gateware software test usb
Last synced: 8 months ago
JSON representation
USB test instrument
- Host: GitHub
- URL: https://github.com/greatscottgadgets/cynthion
- Owner: greatscottgadgets
- License: bsd-3-clause
- Created: 2023-06-23T15:10:31.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-05-02T10:01:11.000Z (about 1 year ago)
- Last Synced: 2025-05-15T12:57:10.760Z (about 1 year ago)
- Topics: gateware, software, test, usb
- Language: Rust
- Homepage: https://greatscottgadgets.com/cynthion/
- Size: 8.73 MB
- Stars: 126
- Watchers: 13
- Forks: 24
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Cynthion: a USB Test Instrument
Cynthion is an all-in-one tool for building, testing, monitoring, and experimenting with USB devices. Built around a unique FPGA-based architecture, Cynthion’s digital hardware can be fully customized to suit the application at hand. As a result, it can act as a no-compromise High-Speed USB protocol analyzer, a USB-hacking multi-tool, or a USB development platform.
Out-of-the-box, Cynthion acts as a USB protocol analyzer capable of capturing and analyzing traffic between a host and any Low-, Full-, or High-Speed ("USB 2.0") USB device. It works seamlessly with our open-source analysis software.
Combined with our LUNA gateware and Facedancer libraries, Cynthion becomes a versatile USB-hacking and development tool. Facedancer makes it quick and easy to create or tamper with real USB devices—not just emulations—even if you don’t have experience with digital-hardware design, HDL, or FPGA architecture!
For more information, see the [Cynthion Crowd Supply](https://www.crowdsupply.com/great-scott-gadgets/cynthion) page.
## Project Structure
This project is broken down into several directories:
* [`docs/`](docs/) -- sources for the Cynthion Sphinx documentation
* [`cynthion/python/`](cynthion/python/) -- sources for the main `cynthion` python module and amaranth gateware.
* [`cynthion/rust/`](cynthion/rust/) -- sources for the main `cynthion` rust crate.
* [`firmware/`](firmware/) -- sources for Cynthion firmware.
* [`shared/`](shared/) -- a collection of toml files containing values shared between host code, gateware and firmware.
* [`util/`](util/) -- miscellaneous support files for Cynthion
## Project Documentation
Cynthion's documentation is captured on [Read the Docs](https://cynthion.readthedocs.io/en/latest/). Raw documentation sources are in the [`docs/`](docs/) folder.
## Related Projects
Cynthion is supported by two additional firmware projects:
* [Apollo](https://github.com/greatscottgadgets/apollo/), the firmware that runs on Cynthion's debug controller, and which is responsible for configuring its FPGA.
* [Saturn-V](https://github.com/greatscottgadgets/saturn-v/), a DFU bootloader created for Cynthion.