An open-source, web-based viewer for analyzing saved oscilloscope waveform data. This tool provides a simple and interactive way to inspect data files without needing proprietary software.

The odv project aims to create a free, user-friendly viewer for data captured by oscilloscopes. Built with Python and Dash, it runs locally in your web browser, offering a smooth experience for zooming and inspecting waveform details.
- Interactive Plots: Zoom, pan, and hover over data points to see precise values.
- Drag and Drop: Easily load data files by dragging them onto the application window.
- Adjustable Precision: Control the number of data points displayed to balance between performance and detail.
- Web-Based: No complex software installation needed for users with the executable version.
- Extensible: Designed to easily add support for new oscilloscope models.
There are two ways to run ODV: by downloading the ready-to-use application (easiest) or by running the code from the source (for developers).
-
Install Docker: Make sure you have Docker installed on your system. You can download it from Docker's official website.
-
Clone the repository:
git clone https://github.com/zhangjinshui-nerveee/odv.git cd odv -
Build and run the Docker container:
docker-compose up --build
This command will build the Docker image (if it hasn't been built yet) and start the application.
-
Open the viewer: Open your web browser and navigate to
http://127.0.0.1:8050/. The application will be running inside the Docker container. -
Navigate to the Releases Page of this repository.
-
Download the latest executable file for your operating system (e.g., odv-windows.exe, odv-macos).
-
Double-click the file to run the application. A browser window will open with the viewer ready to use.
- Python 3.8+
- pip
- Clone the repository:
https://github.com/zhangjinshui-nerveee/odv.git
cd odv
- Install the required dependencies:
pip install -r requirements.txt
- Run the application:
python app.py
- Open the viewer: A browser window will pop up. If not, open your browser and navigate to the address shown in the terminal, which is typically: http://127.0.0.1:8050/
To run the application with a single command, add an alias to your shell config:
For zsh (default on macOS):
echo "alias odv='<path-to-venv>/bin/python <path-to-repo>/app.py'" >> ~/.zshrc
source ~/.zshrcFor bash:
echo "alias odv='<path-to-venv>/bin/python <path-to-repo>/app.py'" >> ~/.bashrc
source ~/.bashrcReplace <path-to-venv> with your virtual environment path and <path-to-repo> with the repository path.
Then simply run:
odv
We welcome contributions, especially to expand support for more data formats! Reporting Bugs or Suggesting Features
If you encounter a bug or have an idea for a new feature, please open an issue on GitHub. Provide as much detail as possible.
The main goal of this project is to support as many oscilloscope models as possible. If your data format is not currently supported, we would love to add it!
- Please open a new issue with the title "Data Support for [Your Oscilloscope Model]".
- In the issue, describe the oscilloscope model (e.g., "Tektronix MDO3054").
- Provide a sanitized sample data file that we can use for development. You can attach it to the issue or provide a link.
- Tektronix MDO3054
This project is licensed under the MIT License. See the LICENSE file for details.