Skip to main content
instro accelerates test equipment automation and simplifies integration with Nominal’s platform when desired.

What instro provides

  • Unified interfaces and code reusability across different vendors and models of the same equipment type. For example, switching out an NI DAQmx device for a LabJack device entails switching out the underlying driver object while the rest of the code is unchanged.
  • Background threads which automatically poll data from instruments on a user-defined cycle or can be overridden to provide application-specific behavior
  • Publishing classes to forward Measurement data read from instruments or Command data sent to instruments on to any number of downstream services, including:
    • File-based publishing which writes instrument data to several on-disk formats
    • Built-in publishers that stream Measurements and Commands to Nominal Core and Nominal Connect
    • Caching publishers which store the latest Measurements and Commands for easy in-memory access
instro targets scripting and automation workflows, not tight control applications with strict real-time requirements. For precise timing control, choose instruments that provide hardware-level guarantees (such as hardware triggers or dedicated hardware clocks) and use instro to configure those capabilities.

When instro doesn’t fit

instro is optional. Interface with instruments using manufacturer-provided SDKs and send data to Nominal products through their APIs directly, if that serves your needs better. If instro doesn’t expose a feature you need:
  • Open an issue to request the feature.
  • Go direct: use the instrument’s native interface.
A missing feature in instro should never block your work.