world leader in high performance signal processing
This version (21 Feb 2014 15:00) was approved by LucianS.The Previously approved version (19 Dec 2013 14:16) is available.Diff

IIO Oscilloscope


The ADI IIO Oscilloscope is a example application, which demonstrates how to interface to different evaluation boards from within a Linux system. The application supports plotting of the captured data in three different modes (time domain, frequency domain and constellation). The application also allows to view and modify several settings of the evaluation board's devices.


You can either download the IIO Oscilloscope here from the wiki or checkout the latest version from the git repository.

IIO Oscilloscope download

Git: / git://


The IIO Oscilloscope uses the GTK+, gtkdatabox, xml and matio libraries. Before the IIO Oscilloscope can be build the and packages need to be installed.

This specifies any shell prompt running on the target - Install IIO Oscilloscope build dependencies

> sudo apt-get install libgtkdatabox-0.9.1-1-dev libgtk2.0-dev libxml2-dev libmatio-dev

To build and install the IIO Oscilloscope you need to unpack the tar archive and run `make` and `make install` in the osc folder.

This specifies any shell prompt running on the host or target - Download and install the iio scope

> git clone
> cd iio-oscilloscope
> make
> sudo make install

User guide

Launching the application

To start the IIO Oscilloscope open up the start menu of your system search for “IIO Oscilloscope”. E.g. if you are using a Ubuntu Linux system move your mouse cursor to the left side of your screen and “Dash home” button and type “IIO Oscilloscope” into the search box.

Select the IIO Oscilloscope from the launch menu

Using the application

Capture View

IIO Oscilloscope capture view

  • Device: Allows to select one of the ADCs that are available.
  • Active channels: Allows to select the channels to be displayed.
  • Plot type
    • Time domain:: Plot the signal in the time domain. Displays the raw samples.
    • Frequency domain: Plot the signal in the frequency domain. Performs a FFT on the signal and displays it.
    • Constellation: Plot the signal as a constellation plot. The I-channel will be plotted on the X-axis and the Q-channel on the Y-axis.
    • Time Interval: Request the samples that can be captured in the given interval.
    • Sample count: Selects the number of samples for time domain and constellation plotting
    • FFT size: Selects the size of the FFT for frequency domain plotting
    • FFT Average: Selects the average weight to be applied to the FFT samples.
    • PWR Offset: Selects the offset of the FFT graph.
  • Options
    • Show grid: Shows or hides the grid in the plot window
    • Auto scale: When enabled the visible area will automatically be re-scaled to fit the entire plot

Clicking on the “Capture” button will start sampling with the currently selected settings. To stop sampling click the “Capture” button again. Setting changes will only be applied when a new capture session is started (With the exception of the “Show grid” option). It is not possible to switch between plotting modes or change the number of samples or FFT size while a capture session is active. The only exceptions are the “FFT Average” and “FFT Offset” settings which can be changed dinamically as the capture sesions is active.

IIO Oscilloscope Save As Dialog

Saving Captured Data

Once the data is captured, it can be saved using one of the following formats:

  • Agilent VSA
  • .csv
  • .mat
  • .png

Click on File→Save As to open the dialog needed to save the data.

Impulse Generator

The Impulse Generator is a feature that allows the user to associate a trigger with the selected ADC in the Device: section. The trigger generates signals with a configurable frequency that triggers ADC conversions.
Only ADCs that do not have a hardware device on the evaluation board capable of fulfilling the same task as the trigger, will need to be associated with a trigger.
To open the Impulse Generator configuration window click on Settings→Impulse Generator.
If the ADC does not require a trigger the Impulse Generator menu will be displayed as inactive.

IIO Oscilloscope Impulse Generator Selection

Impulse Generator Settings:

  • Impulse generator: Selects a trigger from a list of available triggers to be associated with the ADC.
  • Frequency: Selects the frequency of the signals generated by the trigger. The unit of measurement is Hz.

IIO Oscilloscope Impulse Generator Settings

Source code


The source code for the entire application is at github. You can ask questions about it on the EngineerZone.

More information