Controlling Rohde&Shwarz RTB2004 Oscillosocpe with Python

This project is a custom-built control interface for the Rohde & Schwarz RTB2004 oscilloscope, designed to simplify day-to-day lab work and ATE automation.
The application is written in Python and features a modern CustomTkinter GUI with full support for USB and LAN (VISA/TCPIP) communication using PyVISA

You can find my code here: GitHub

 

This tool is ideal for:

  • Automated Test Equipment (ATE) setup
  • Lab technicians who need a simplified control interface
  • Python-based measurement automation
  • Educational demonstrations
  • Remote scope configuration over LAN

Video:

The tool provides a clean and intuitive dashboard for configuring all major oscilloscope functions, including:

  • Automatic device discovery via VISA
  • LAN connection using a configurable IP address
  • Real-time connection status and instrument ID display
  • Full channel configuration (scale, offset, coupling, probe attenuation)
  • Timebase adjustments (scale & position)
  • Trigger configuration (source, mode, level)
  • RUN / STOP / AutoSet controls
  • “Apply All Settings” batch configuration
  • Non-blocking SCPI command handling using threads
  • The interface is optimized for test engineers and ATE environments, with dark-theme visuals, large action buttons, and separation of controls into clear functional sections.
  • This project demonstrates practical integration of Python-based GUIs with laboratory instruments using SCPI commands, providing a solid foundation for automation, testing orchestration, and custom measurement setups.