Skip to main content

This module provides Python bindings for DGILib.

Project description

Pydgilib provides python bindings for Atmel® Data Gateway Interface (DGI) devices. See the Data Gateway Interface user guide for further details. This package works best if you have Atmel Studio 7.0 installed. If you do it will automatically make use of the installed files it requires. Otherwise you can download the required DLL from Atmel here and point pydgilib to the location where you downloaded the file.


The main features of this library are:

  • It wraps the C functions of DGILib in python functions
  • It provides a class to easily log data from the power and gpio interfaces to a .csv file or a plot (using matplotlib)
  • It provides a function that wraps atprogram.exe and make.exe so it can compile projects and flash them to a board

The documentation of all the functions can be found in this overview or this list.


You will need to install pydgilib in a 32-bit Python environment on Windows because DGILib.dll is compiled for 32-bit. Other operating systems are not supported.

Installation via pip

Normal installation:

$ pip install pydgilib

Static Installation

If you want to install a static copy of the master you can run:

$ pip install git+

Development Installation

  1. Clone the repo:

    $ git clone
  2. Install symlinked to repo:

    $ pip install -e .

If you want to be able to run the tests or compile the docs run instead:

$ pip install -e .[test,docs]

Getting Started

  1. Connect your device that supports DGI

  2. Print the serial number of your device:

    >>> from pydgilib import DGILib
    >>> with DGILib() as dgilib:
    ...     print(dgilib.device_sn)
  3. Log the current of the board and the states of the gpio pins for one second and write the results to .csv files:

    >>> from pydgilib_extra import DGILibExtra
    >>> with DGILibExtra() as dgilib:
    ...     dgilib.logger.log(1)
  4. Log the current of the board and the states of the gpio pins for one second and show a plot of the results:

    >>> from pydgilib_extra import DGILibExtra, LOGGER_PLOT
    >>> with DGILibExtra(loggers=[LOGGER_PLOT]) as dgilib:
    ...     dgilib.logger.log(1)
    {48: <pydgilib_extra.dgilib_data.InterfaceData object at 0x00F22A90>, 256: <pydgilib_extra.dgilib_data.InterfaceData object at 0x00F229F0>}
plot example

Plot of a SAML11 board running the unit test project.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pydgilib, version 0.2.3
Filename, size File type Python version Upload date Hashes
Filename, size pydgilib-0.2.3-py3-none-any.whl (48.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pydgilib-0.2.3.tar.gz (39.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page