Current Version: v0.9.8i-stable 📦 See Release Notes
This tool provides a live view and SCPI-based data extraction from a Rigol MSO5000 oscilloscope with hacked firmware, using VNC for screenshots and VISA (SCPI) for waveform data.
True power computation is performed via pointwise multiplication of voltage and current waveforms followed by averaging:
This method remains accurate for arbitrary waveshapes and is not dependent on sinusoidal assumptions.
- 📷 Live screenshots from the oscilloscope (via VNC)
- 📊 Channel settings: coupling, bandwidth, scale, offset, probe
- ⏱️ Trigger and timebase information
- 📈 Waveform measurements: Vpp, Vavg, Vrms (up to 4 channels)
- 📤 CSV export of waveform data
- 🧪 Long-time measurement mode with pause/resume/stop
↪️ Saves all data to a single timestamped CSV
↪️ Timestamped rows at user-defined intervals
↪️ Performance tips built into the UI - 🧠 Live Power Analyzer with PQ chart and scaling
↪️ Real-time P/S/Q/PF/Vrms/Irms calculations
↪️ Probe scaling (shunt/clamp + unit conversion)
↪️ Display of PF angle and cumulative energy
↪️ Heatmap-style PQ trail with fading
↪️ ShowsReference: CURRENTorVOLTAGEfrom scope - 🐞 Scrollable debug log
- ⚙️ Manual SCPI tab with command input and response log
↪️ Command list fromscpi_command_list.txt(click or double-click to load)
↪️ Error-safe querying with response log
↪️ Full debug trace included - 🌙 Dark mode GUI with resizable window and tabs
- 🐳 Docker support for easy deployment (X11 + Wayland)
We published a technical whitepaper detailing how to achieve scientifically valid power analysis using the Rigol MSO5000 series oscilloscopes. It compares the internal PQ tool vs. our custom MSO5000 Live Monitor.
🔗 Read the Whitepaper (Markdown)
Covers probe configuration, scaling errors, and real-world lab results with shunts and differential probes.
sudo apt install python3-tk python3.12-venv
git clone https://github.com/ariDev1/MSO5000_liveview.git
cd MSO5000_liveview/
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 main.pyOr use the prewritten install script:
bash how-to-install.txt💡 Tested on Ubuntu 24.04 LTS with Python 3.12 and VNC enabled on the Rigol scope.
If you're using Ubuntu 22.04 LTS:
sudo apt install python3 python3-pip python3-tk libxcb-xinerama0Then install dependencies manually:
python3 -m venv venv
source venv/bin/activate
pip install pillow numpy pyvisa pyvisa-py requests vncdotool psutil zeroconfYou can run this app in a Docker container with GUI.
docker build -t mso5000_liveview ../run.shThe script auto-detects X11 or Wayland and sets up display bridging.
All exported CSV files go to:
~/oszi_csv/This folder is mounted into the container.
Create a virtual environment first:
python3 -m venv venvThen install with:
pip install -r requirements.txtRequired packages:
pillow,numpy,pyvisa,pyvisa-pyrequests,vncdotool,psutil,zeroconf
- Rigol MSO5000 on same local network
- VNC enabled on the oscilloscope
- SCPI over TCP/IP enabled
- Know the IP address of the scope
Launch the app:
python3 main.pyEnter the oscilloscope’s IP when prompted. GUI includes:
- 🔍 Live screenshot
- 📂 Tabbed interface:
- System Info
- Channel Data
- Debug Log
- Licenses
- Long-Time Measurement (with CSV export)
- SCPI
- Power Analysis
MSO5000_liveview/
├── app/
├── docs/
├── gui/
├── Dockerfile
├── run.sh
├── .dockerignore
├── headless/
├── logger/
├── scpi/
├── main.py
├── build_version.py
├── version.py ← auto-generated
├── requirements.txt
├── how-to-install.txt
├── oszi_csv/ ← output folder for logs
├── utils/
This tool targets hacked firmware (unofficial). Compatibility improvements include:
- Skipping problematic SCPI commands
- Handling timeouts gracefully
- Adapting to patched behavior
This project is for educational and personal use only.
Not affiliated with Rigol Technologies.
master: Stable, tested version — always workstesting: Work-in-progress branch — may break
👉 Please do not push directly to master. All changes go into testing first.
See CHANGELOG.md for full version history.
Much wow. So helpful. Very accurate. If you like what you see:
DOGE: DCeBDHshvL36ZnkctdFzhsZUUhknW1zzbC

