Total Phase Aardvark library

pip install pyaardvark==0.8.1


Python binding for Total Phase Aardvark

BuildStatus PyPiVersion Python versions

The Total Phase Aardvark is an USB I²C/SPI host adapter.


The manufacturer already provides an python binding. So why a new one? This is correct, but the python binding you can find in the aardvark-linux-api package is very C oriented. Eg. you need to pass arrays as method parameters, which are then modified by the binding. Instead, this binding tries to be more pythonic.


  • simple interface
  • CLI tool for easy testing
  • I²C and SPI support
  • support for control signals like target power and internal I²C pullups
  • rudimental I²C slave support
  • Support for Linux, Windows and OSX

(Still) Missing Features

  • more documentation (please bear with me)
  • GPIO support


You can find the most up to date documentation at:


You need an either an x86, an amd64, an aarch64, an arm32 or a M1 machine. This is because the binding uses a binary-only module supplied by the manufacturer, Total Phase. Linux, Windows, and OSX are supported.

Python 2.7 support

The last version with python 2.7 support is 0.7.1.

Monitor support

Total Phase removed the monitor support in their binary modules in version 6.00. The last pyaardvark version which use the old binaries and thus still support montoring is 0.7.x.


Contributions are always welcome. You may send patches directly (eg. git send-email), do a github pull request or just file an issue.

If you are doing code changes or additions please:

  • respect the coding style (eg. PEP8),
  • provide well-formed commit message (see this blog post.)
  • add a Signed-off-by line (eg. git commit -s)


This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA