Logo nanonisDetail

Programming interface

The power of lego blocks: build a fully customized experiment in LabVIEW and easily integrate Nanonis Tramea into an existing measurement set-up

QT Programming Interface overview
Overview of the available VIs in the LabVIEW Programming Interface
HR oscilloscope trigger VI
Example VI showing how to change an output voltage and trigger data acquisition with the HR-oscilloscope immediately after the voltage change, then loop the experiment

Competitive advantage in research is often based on the modification of an instrument that allows the researcher to perform experiments in a way nobody else has done before. Just using an instrument that everybody else already has is not enough. This is where our Programming Interface steps in - to give you the building blocks to design your own experiment and to automate repetitive tasks and increase efficiency.
The Programming Interface offers more functions and a simpler approach to programming for inexperienced users than the standard TCP interface. It also contains ready-made examples which can be used as is or as a starting point for custom routines.

Old systems require TTL handshakes and difficult to debug trigger electronics to communicate with external equipment - now you can directly talk to the hardware, read back full data sets from other instruments and integrate them directly with the SPM control system.

The LabVIEW Programming Interface requires LabVIEW 8.2 or higher.


  • Develop and automate new experiments in LabVIEW
  • Programmatically control all Nanonis Tramea™ modules
  • Easily integrate external instruments
  • Many examples ready for use
  • Simple to learn - all functions available through the LabVIEW function palette
  • Fully integrated - directly develop in the LabVIEW programming environment
  • Unlimited in scope - not just a set of predefined commands

Further benefits of the Nanonis LabVIEW Programming Interface

  • No limitation in scope: Nanonis provides a real programming interface and not a instrument-specific scripting language*. The advantage is that the user has full access to all features LabVIEW provides (graphs, database access, convenient data handling, GPIB/RS232/USB access to other instruments,...) and is not limited to the features that the instrument-specific scripting engine provides.
  • Full development environment: The user can benefit from the full LabVIEW programming environment and debugging features. Programs can be traced step-by-step, variables inspected and run-time behavior tested. All Nanonis VIs are incorporated in LabVIEW as a User Library and are readily accessed through the Functions Palette
  • User interface: Using LabVIEW the user can immediately design an appealing user interface coming with his routine.
  • Offline development: The development and testing of user routines can be done “offline” without the need of a real-time system. Programs can be tested with the Nanonis Quantum Dot Simulator and transferred to a “life” system only when all the bugs have been squashed.
  • Ease of use and quick prototyping: LabVIEW’s ease of use makes it possible to quickly develop your own custom routines without an extensive knowledge a programming language.
  • Transparent network access: The user routine can run on the same computer as the Nanonis software or on a computer on the network.
  • No electronics knowledge required: TTL handshakes and difficult to debug trigger electronics to communicate with external equipment are no longer required. Now you can directly talk to the hardware, read back full data sets from other instruments and integrate them directly with the SPM control system. TTL triggers can of course still be used for time-critical synchronization.

*The Nanonis Scripting Tool SI5 runs on the real-time system and therefore at significantly higher speed, lower latency  and with deterministic timing. It uses a custom scripting language since that is required by its very tight hardware integration.

Selection of examples included with the Programming Interface

  • Custom history chart: Creates a chart with user-selectable signals and custom oersampling
  • Output-triggered trace acquisition: The routine arms the trigger of the high resolution oscilloscope, and sets an output voltage. The Oscilloscope triggers on the voltage change, acquires and saves a trace before a new loop is started.
  • Control of external instruments with data acquisition: Configures the external instrument, sets values, waits for a given settling time and acquires the data. The acquired data are displayed in a graph.
  • Custom 1D- an 2D-sweeps: Sweep one or two output voltages and acquire data




history chart VI
Example VI for a chart corresponding to the history chart but with only a single channel


Your web browser is deprecated
This could effect the presentation and some functions of our website.