WaveForms SDK

Note: The WaveForms SDK materials are included in the WaveForms installers.

Reference Manual Technical Support
WaveForms SDK
Virtual instrumentation software
Install Location: Windows 32bit
  • C:\Program Files\Digilent\WaveFormsSDK\
Install Location: Windows 64bit
  • C:\Program Files (x86)\Digilent\WaveFormsSDK\
Install Location: Linux
  • /usr/share/digilent/waveforms/manual/ & samples/
  • /usr/include/digilent/waveforms/
Install Location: Mac OS X
  • /Applications/WaveForms.app/Contents/ Resources/SDK/

WaveForms™ provides an interface that allows users to interact with Digilent test and measurement devices, such as the Analog Discovery 3 and Analog Discovery Pro family. While the WaveForms application offers a refined graphical interface, the WaveForms SDK provides access to a public application programming interface (API) that gives users the ability to create custom PC applications.

This WaveForms SDK manual describes the main components and architecture of the WaveForms system and details each function contained in the WaveForms API. The SDK package also offers examples demonstrating how to identify, connect to, and control analog hardware devices. The WaveForms software, as well as the SDK, can be downloaded for free from the WaveForms Resource Center.


    • Technical description of WaveForms and all of its features. Revision date: September 7th, 2020. The most up to date version will always be the one on your computer installed by the WaveForms software.



All WaveForms SDK examples and reference material can be found in its installation location; the default installation location of WaveForms SDK for each operating system are noted in the table on the right-hand side of this web page.

A small list of built-in examples that come with the WaveForms installation is provided below.

  • Sampling Analog Input data
    • AnalogIn_Acquistion.py
    • AnalogIn_Trigger.py
  • Recording Analog input data
    • AnalogIn_Record.py
    • AnalogIn_Record_Trigger_int16.py
  • Analog Output
    • AnalogOut_Sine.py
  • AnalogOut_Custom.py
  • Analog Both
    • AnalogOut_Sweep.py
  • AnalogOutIn_Synchronization.py
  • Digital Protocol
    • Digital_I2C.py
  • Digital_Spi_Quad.py
  • Digital Input
    • DigitalIn_PulseTrigger.py
  • DigitalIn_Acquisition.py
  • Digital Output
    • DigitalOut_CustomBus.py
  • DigitalOut_Phase.py
  • General Device
    • Device_Enumerate.py
    • Device_Synchronization.py