git404hub

what is scope_app fr?

garnerm91/scope_app — explained in plain English

Analysis updated 2026-07-25

1PythonAudience · developerComplexity · 3/5Setup · hard

tl;dr

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.

vibe map

mindmap
  root((repo))
    What it does
      Reads oscilloscope data
      Plots waveforms and spectra
      Exports CSV files
      Sends manual commands
    Hardware
      Tektronix TDS2014C
      Tektronix TDS3012B
      Tektronix TDS5054B
      No hardware demo mode
    Use cases
      Capture signal data
      Analyze clock jitter
      Debug with direct commands
      Export to PulseView
    Tech stack
      Python
      Desktop GUI
    Limitations
      Jitter needs 50 edges
      Sync may not work

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Capture and visualize electrical signals from an older Tektronix oscilloscope.

VIBE 2

Analyze clock jitter and frequency spectra of captured waveforms.

VIBE 3

Export multi-channel oscilloscope data as CSV files for analysis in PulseView.

VIBE 4

Send direct text commands to an oscilloscope for debugging.

what's the stack?

Python

how it stacks up fr

garnerm91/scope_app0xustaz/streamgatea-bissell/unleash-lite
Stars111
LanguagePythonPythonPython
Setup difficultyhardhardhard
Complexity3/54/54/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · hard time til it works · 1h+

Requires connecting to a physical Tektronix oscilloscope via interface cabling to capture live data.

in plain english

{"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}

prompts (copy fr)

prompt 1
Help me write a Python script using PyVISA to connect to a Tektronix TDS3012B oscilloscope, read channel 1 waveform data, and save it as a CSV file.
prompt 2
Explain how to apply a logic threshold conversion to an analog CSV waveform export so I can decode I2C or SPI signals in PulseView.
prompt 3
Generate a Python function that calculates clock jitter from a list of timestamped signal edges, and explain why at least 50 edges are needed for a statistically meaningful result.
prompt 4
Write a Python desktop GUI snippet that runs all instrument communication on a background thread and generates fake waveform data when no hardware is connected.

Frequently asked questions

what is scope_app fr?

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.

What language is scope_app written in?

Mainly Python. The stack also includes Python.

How hard is scope_app to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is scope_app for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.