Virtual Instrumentation

Drag-and-drop instrument widgets, live virtument panels, and real-time hardware control — all inside interactive LabDeck Notes

What Is Virtual Instrumentation?

MatDeck’s Virtual Instrumentation (VI) framework enables engineers and scientists to design, deploy, and operate custom measurement, control, and monitoring systems — without traditional hardware programming.

Unlike rigid standalone software, MatDeck embeds virtual instruments directly into its live-document environment (LabDeck Notes), combining:

This creates a Virtument — a unified virtual instrument panel that behaves like physical lab equipment, but with full programmability and documentation in one place.

MatDeck Virtual Instrumentaion panel working in real time

The Virtument Panel: A Unified Instrument Interface

A Virtument (Virtual + Document + Instrument) is MatDeck’s signature concept: a live, executable document that functions as a full-featured measurement and control panel.

Core Characteristics of a Virtument

Real Examples from MatDeck’s Library:
MatDeck SCADA recieving and displaying data in realtime

Instruments Widget GUI: Drag-and-Drop Instrument Building

MatDeck includes a rich library of instrument widgets — pre-built UI components designed for engineering and lab use — that can be placed directly onto a LabDeck Note canvas.

Instrument Widget Categories

📊 Measurement & Display

  • Knob / Rotary Encoder Widget — For setpoint or gain adjustment.
  • Slider / Trackbar — Analog control (e.g., duty cycle, frequency).
  • Push Button / Toggle Switch / LED Indicator — Digital I/O simulation and control.
  • Waveform Generator Widget — Select sine, square, sawtooth, chirp with real-time parameter tuning.
  • ⚙️ DAQ & Communication

    How It Works

    1. Drag a widget from the toolbox onto the LabDeck Note.
    2. Configure properties: binding to variables, scaling, range, color, labels.
    3. Link to hardware: e.g., bind a gauge to LabJack_AI0 or a slider to Advantech_AO1.
    4. Script logic (MD Script/Python) reacts to widget events (e.g., onValueChanged).

    Virtument in Action: End-to-End Workflow

    1. Design Phase

    2. Programming Phase

    Embed executable blocks that tie widgets to hardware:

    // MD Script: Real-time PID loop in Virtument
    while (running) {
      double input = LabJack.readAI(0);      // Read sensor
      double setpoint = slider.getValue();   // From widget
      double output = PID.update(setpoint, input);
      LabJack.writeAO(0, output);           // Drive actuator
      scope.push([time, input, setpoint]);  // Update oscilloscope widget
      gauge.setValue(output * 100);         // % full scale
      wait(0.01); // 100 Hz
    }

    3. Deployment & Sharing

    Supported Hardware & Integration

    MatDeck Virtuments seamlessly interface with industry-standard DAQ and embedded systems:

    Platform Features Supported
    LabJack (T7, T4, UE9) AI, AO, DI, DO, counters, PID control, thermocouple, RTD, database logging
    Advantech Buffered AI/AO, DI/DO (port & bit), PWM, real-time graphing
    ICP DAS SCADA integration, COM devices, DI/DO, Virtument GUI config examples
    Micro:bit Serial (COM port) data streaming, LED/matrix display control, sensor fusion
    All hardware APIs are abstracted — users interact via high-level commands like device.readAI(channel), not low-level registers.

    Use Cases & Applications

    Case Study: PPG Signal Processing with Database Interface
    A Virtument that: Entire system built in one document.