This is a simple, single Python file script that launches a GUI, which can transfer data from an oscilloscope to the PC and save it a CSV file adding an optional comment.
Its current scope includes the usage in a physics labcourse.
- Tested on:
- Agilent DSO-X 2002A
- Keysight DSO-X 3024A
- ... but it might work on many Agilent/Keysight oscilloscope by just setting the correct number of channels in the code
- Supports an full open-source software stack based on pyvisa and pyvisa-py (but also works with NI-VISA on Windows)
- Copies data from the oscilloscope
- Automatically detects the currently active channels on the oscilloscope or transfering a user-defined set of channels
- Saves the data to a CSV file with an optional comment
- Already saved datasets can be reviewed
- Somewhat fault tolerant
- Tested on Windows and Linux
- The oscilloscope will crash if it is digitizing slowly (hard timeout set to 25 seconds in the code) or not triggering at all
This project was tested to be compatible with Python 3.8 (but should work on other Python 3 versions). Install it from this GIT repository using
pip install git+https://github.com/mmaeusezahl/oscigrabber.git
You additionally have to install a wokring VISA backend as explained in the pyvisa documentation.
python -m oscigrabber
- Add support for different type of VISA implementations
- Add support for other oscilloscope types and vendors
- Add an option to not call the
:DIGitize
command if the oscilloscope is already stopped and data is available - Automatically detect the correct number of channels
- Prevent the oscilloscope from crashing on slow acquisition by detecting it
- Better error detection and handling
- Add a flashy icon
This project was born out of need to provide a simple and Linux compatible GUI to transfer data from a Keysight DSO-X 3024A oscilloscope and save it as a CSV file for a physics labcourse. The previous way to use a USB stick for data transfer is both cumbersome (using the front-panel of the oscilloscope) and prone to mistakes (saving setup files or screenshots instead of data). As I could not find any ready solution I came up with this simple interface.
- A tool to interact with Rigol oscilloscopes: DSRemote
- A tool to interact with a Hantek USB oscilloscope: OpenHantek
- A signal analysis software suite, which has Mixed-Signal-Oscilloscope support for a wide range of devices: sigrok, in particular the SmuView
Contributions of any kind are welcome, especially in the form of pull-requests.