Skip to content

InstrumentControl

Universal Windows instrument control software for VISA/GPIB/serial lab equipment.

Build Docs License: MIT


What is InstrumentControl?

InstrumentControl is a .NET 10 WPF desktop application that lets you connect, control, and automate laboratory instruments without writing any code. It supports standard VISA instruments (GPIB, USB-TMC, LAN/VXI-11) and custom RS-232 devices through a plugin architecture.

Key capabilities at a glance:

Feature Description
Virtual front panels Per-instrument UI that mirrors the physical device's controls, with independent Disconnect / Reconnect / Reset per instrument
Drag-and-drop sequences Build automated measurement programs by connecting blocks on a canvas
Responsive execution Pause works mid-loop and the UI stays responsive even in tight zero-delay loops; DMM drivers cache configuration so repeated reads issue only READ?
Live charts OxyPlot graphs and data tables update in real time during sequence runs
Plugin DLLs Each instrument driver is an independent DLL — drop it in the instruments/ folder and restart
VISA auto-discovery Scans USB, GPIB, TCPIP and serial ports; sends *IDN? to identify devices automatically
Simulation mode Runs without NI-VISA installed — ideal for sequence development on a laptop
Auto-update Installer edition checks GitHub Releases on every launch and applies delta updates
UI language English and Polish — switch any time from the About dialog, no restart required

Supported Instruments

Instrument Type Interface
HP 34401A 6½-digit DMM VISA (GPIB / USB / RS-232)
Agilent 34970A DAQ / Switch Unit VISA (GPIB / USB)
Keithley 2000 6½-digit DMM VISA (GPIB / USB)
ITECH IT6922B DC Power Supply 60 V / 5 A VISA (USB / LAN / GPIB)
R&S RTB2004 4-channel Oscilloscope 300 MHz VISA (LAN / USB)
CTS T-40/50 Environmental Chamber −75 … +185 °C RS-232 (custom binary protocol)
Rigol DS1054Z / DS1104Z 4-channel Oscilloscope 50/100 MHz VISA (LAN / USB / GPIB)

Quick Navigation

  • Installation


    System requirements, installer vs portable ZIP, NI-VISA setup.

  • Quick Start


    Connect your first instrument and run a measurement in 5 minutes.

  • Sequence Editor


    Build automated measurement programs with drag-and-drop blocks.

  • Plugin Development


    Write a new instrument driver in ~100 lines of C#.


Architecture Overview

graph TD
    A[InstrumentControl.App<br/>WPF executable] --> B[InstrumentControl.Core<br/>.NET 10 library]
    B --> C[IInstrumentDriver]
    B --> D[ISequenceBlock]
    B --> E[IConnectionProvider]
    C --> F[HP34401A.dll]
    C --> G[Agilent34970A.dll]
    C --> H[Keithley2000.dll]
    C --> I[ItechIT6922B.dll]
    C --> J[RTB2004.dll]
    C --> K[CTSChamber.dll]
    C --> L2[RigolDS1000Z.dll]
    E --> L[VisaConnectionProvider<br/>NI-VISA P/Invoke]
    E --> M[CTSSerialConnectionProvider<br/>Custom binary framing]
    E --> N[SimulatedConnectionProvider<br/>No hardware needed]

See the Architecture page for a detailed walkthrough.