world leader in high performance signal processing
This version (23 Jun 2014 23:44) was approved by rgetz.The Previously approved version (20 Jun 2014 18:55) is available.Diff

IIO Oscilloscope Legacy


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
> git checkout origin/osc_iio_utils_legacy
> 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.
  • 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. When not auto scaling, you can:
      • Zoom out (by clicking the autoscale button, set to get the max/min of that specific plot).
      • Zoom in (by right clicking and dragging (which will draw a white square), clicking inside this box will zoom to this box.
Time Domain Plots
  • 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
Frequency Domain Plots

The scale in the frequency plots is dBFS. (dB Full Scale). To understand what that is, check out static/imported-files/tutorials/MT-003.pdf.

  • 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.

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