RIGOL MSO5000 Live Monitor (Hacked FW Compatible)

  • 573 Views
  • Last Post 12 hours ago
baerndorfer posted this 2 weeks ago

Hi all,

because i was not very satisfied with Web-View from Rigol for my MSO5000 i build my own one.

This tool provides a live view and SCPI-based data extraction from a **Rigol MSO5000** oscilloscope with **hacked firmware** via VNC and VISA (SCPI) interfaces.

The script displays:
- Live screenshots from the oscilloscope (via VNC)
- Channel information including coupling, bandwidth, scale, offset, and probe settings
- Trigger and timebase settings
- Raw waveform statistics (Vpp, Vavg, Vrms) for up to 4 channels
- A scrollable debug log for diagnostics

## Requirements

This script is written in Python 3 and depends on the following libraries:

| Library    | Purpose                            |
|------------|------------------------------------|
| `tkinter`  | GUI interface                      |
| `Pillow`   | Image processing for screenshots   |
| `numpy`    | Numerical processing of waveforms  |
| `pyvisa`   | SCPI communication over TCP/IP     |
| `vncdo`    | VNC client to capture screen image |

### Install dependencies

Make sure you have Python 3 installed, then:

```bash
sudo apt install python3-tk python3-pip
pip3 install pillow numpy pyvisa
sudo apt install vncdo
```

> Note: On Debian/Ubuntu systems, `vncdo` is often available as a package. If not, install it via `pip install vncdo`.

##How to Use

```bash
python3 rigol_vnc_liveview4.py
```

You will be prompted in the terminal to enter the IP address of your RIGOL MSO5000.

Make sure:
- The oscilloscope is on the same network.
- VNC is enabled on the oscilloscope.
- The oscilloscope responds to SCPI commands over TCP/IP.

##Hacked Firmware Notice

This script is optimized to **avoid crashing or hanging** when used with unofficial / hacked firmware:
- Timeouts are reduced
- Some known problematic SCPI queries are skipped or blacklisted after failure

##Screenshot Path

By default, screenshots are saved temporarily at:
```
/tmp/oszi_screenshot.png
```

##Customization

You can adjust these in the script:
- `INTERVALL_BILD`: How often to update the screenshot (seconds)
- `INTERVALL_SCPI`: How often to fetch SCPI data (seconds)
- `WAV_POINTS`: Number of waveform points to request per channel

##License

This project is for **personal use only**. Use at your own risk. Not affiliated with Rigol Technologies.

Attached Files

AlteredUnity posted this 13 hours ago

This is beautiful, and you work really fast! A few things to enhance research with this tool:

  1. Maybe a bode plot using Math(integ(Vp))/or secondary Integrator vs Ip.

2.1: Inductance, L(avg), ur, u(avg) given there are 2 channels, one Ip, the second connected to secondary coil with rc integrator( so N,R,C, and Vout takes into account) or just integrate the primary coil driven/(N*Ae). 2.2: L = VpdIpt/dt, or use slewrate as di/dt

  1. Bmax: Math(integVp(pk))/(N*Ae)

  2. Hmax: Ip*N/le

When calculating L, I believe you need to do segmented integration to capture either slope(up or down). This may be too much but as well as including core losses(for this you will need the volume of the core) I believe). Also two cursors can be set on the scope with over Math1(integ Vp)/Ip at separate times, this can also measure the non-linear region of excitation L = ~ dFluxlinkag/dI from that time period.

  • Liked by
  • Jagau
  • Inception
Jagau posted this 12 hours ago

Wow very interesting Baern

Yes, this oscilloscope model has a "power analysis" function integrated into one of its options.
This is one that interests me greatly.

Would have a question,  does it always use the same integrals to calculate real power or VAvg?
Like this one: currently used by the MSO5000 processor.

or you have progranned a new one and could we add and integrate MathLab ?

Don't bother with my question if it seems weird to you.

Jagau

  • Liked by
  • AlteredUnity
  • Inception
Close