Capture and visualize electrical signals from an older Tektronix oscilloscope.
Analyze clock jitter and frequency spectra of captured waveforms.
Export multi-channel oscilloscope data as CSV files for analysis in PulseView.
Send direct text commands to an oscilloscope for debugging.
| garnerm91/scope_app | 0xustaz/streamgate | a-bissell/unleash-lite | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Python | Python | Python |
| Setup difficulty | hard | hard | hard |
| Complexity | 3/5 | 4/5 | 4/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires connecting to a physical Tektronix oscilloscope via interface cabling to capture live data.
{"i": 0, "repo": "garnerm91/scope_app", "stars": 1, "lang": "Python", "ok": true, "char_count": 1764, "text": "This is a desktop application for pulling waveform data from Tektronix oscilloscopes made in the mid 2000s. An oscilloscope is a piece of test equipment that visualizes electrical signals as a graph of voltage over time. The app connects to these instruments, reads their captured data, and displays it as a waveform plot, a frequency spectrum (FFT), or a clock jitter plot. It also exports captured data as CSV files for use in other signal analysis software called sigrok or PulseView.\n\nThe app works with up to four channels at once, reading them all from a single trigger event. A trigger is what tells the scope to start recording, so synchronized capture means all channels are recorded at the exact same moment, which matters for analyzing communication protocols. You can capture data three ways: grab whatever is currently in the scope's memory, force a single fresh trigger, or run continuously with a new trigger each cycle.\n\nThe display offers draggable cursors for making measurements, with units that adapt based on which plot view you have active. There is also a manual command console for sending direct text commands to the instrument for debugging or one-off measurements. A save button exports multi-channel captures as CSV files compatible with PulseView's importer. However, the exported data is analog, so if you want to run a protocol decoder like I2C or SPI on it in PulseView, you need to apply a logic threshold conversion first.\n\nA notable design choice is that all communication with the scope happens on a separate background thread, keeping the user interface responsive even when the instrument is slow to respond. The app also runs fine without any hardware attached, generating fake data so you can explore every feature without owning a scope. It has been tested against three specific Tektronix models: the TDS2014C, TDS3012B, and TDS5054B.\n\nThe readme notes some limitations. Jitter measurements need at least 50 signal edges in the capture to be statistically meaningful. A smaller sample produces a number that looks correct but is not. The multi-channel synchronization relies on a standard command that most Tek scopes support, but if a specific instrument does not, capture proceeds without that guarantee.", "error": null}
A desktop app for pulling and visualizing data from Tektronix oscilloscopes (test instruments that graph electrical signals). It plots waveforms, frequency spectra, and clock jitter, and exports data for further analysis.
Mainly Python. The stack also includes Python.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.