Key Features
Overview
Buy an Aardvark I2C/SPI and Get 10% Off a Beagle I2C/SPI*
The Total Phase Aardvark I2C/SPI Host Adapter is a USB-powered tool for talking directly to I2C and SPI devices from a Windows, Linux or macOS computer. It runs I2C as a master from 1 kHz to 800 kHz or as a slave, and SPI as a master up to 8 MHz or a slave up to 4 MHz. That covers sensor evaluation, EEPROM and Flash programming, and automated test. The 2×5 IDC target connector carries I2C, SPI and up to six GPIO lines, with +5 V target power (25 mA max) for low-current devices.
Control Center Serial handles configuration and message transactions, with XML batch scripts for automation. Flash Center programs I2C and SPI memories from an extensible parts library. The Aardvark API (C, C++, C#, Python, .NET, VB.NET, VB6) and a LabVIEW driver let you build it into your own tools. All the software is a free download.
For higher speeds and built-in level shifting, step up to the Promira Serial Platform. To see what is happening on the bus without driving it, pair the Aardvark with the Beagle I2C/SPI Protocol Analyzer.
Downloads
Why Engineers Choose The Total Phase Aardvark I2C/SPI Host Adapter
Total Phase's Most Popular Adapter
Master/Slave Flexibility
Complete Software Ecosystem
The Total Phase Aardvark I2C/SPI Host Adapter (TP240141) connects a Windows, Linux or macOS PC to the I2C and SPI buses on your board over USB. It works as a master or a slave on either bus, so you can drive a sensor or memory from a script, or stand in for a peripheral while you test a host driver. It is Total Phase's most popular product and is used for I2C and SPI bring-up, EEPROM and Flash programming, and scripted production test.
Aardvark I2C/SPI Specifications
| I2C | Master 1 kHz to 800 kHz; slave mode; multi-master, clock stretching, repeated start and 10-bit addressing |
|---|---|
| SPI | Master 125 kHz to 8 MHz; slave 0.1 MHz to 4 MHz; full duplex; SS polarity set in software (master) |
| GPIO | Up to 6, shared with the I2C and SPI pins |
| Compatible buses | SMBus, PMBus, DDC, SBBus, IPMI, TWI |
| Signal levels | 3.3 V, 10 mA |
| Target power | +5 V, 25 mA max on pins 4 and 6, switched in software |
| Target connector | 2×5 IDC female, 2.54 mm pitch, on a 10-way ribbon cable (1.27 mm pitch, 130 mm long) |
| Host interface | USB 1.1 full speed, USB-B receptacle, bus-powered |
| Software | Control Center Serial, Flash Center, Aardvark API (C, C++, C#, Python, .NET, VB.NET, VB6), LabVIEW driver |
| Operating systems | Windows 7, 10 and 11; Linux (Red Hat, SuSE, Ubuntu, Fedora); macOS 13 and later |
| Size and weight | 55.6 × 22.2 × 89 mm, 64 g |
| Operating temperature | 10 to 35 °C |
Actual I2C bus speed varies with bus capacitance.
What's in the Box
- Aardvark I2C/SPI Host Adapter with 10-way target ribbon cable
- USB A to B cable, 1.8 m (6 ft)
Control Center Serial, Flash Center, the Aardvark API and the LabVIEW driver are free downloads from Total Phase.
Where Engineers Use the Aardvark
Board Bring-Up Before Firmware Exists
As an I2C or SPI master, the Aardvark takes the place of the microcontroller. Read a sensor's ID register, write a PMIC's configuration or poll an ADC from Control Center Serial without writing code. Once a sequence works, save it as an XML batch script and run it again on every board spin.
EEPROM and Flash Programming
Flash Center programs and reads I2C and SPI EEPROMs and Flash memory from an XML parts library that you can extend. The Aardvark programs parts in-system on the target board or stand-alone.
Peripheral Emulation for Host Driver Testing
In slave mode the Aardvark answers as an I2C or SPI peripheral, so you can test a host driver before the real part arrives, with responses you control. Pins not used by the active bus can be switched to GPIO to drive resets and enables or watch status lines alongside the bus traffic.
Automated and Production Test
The Aardvark API gives C, C++, C#, Python, .NET, VB.NET and VB6 access on Windows, Linux and macOS, and the LabVIEW driver suits NI-based test rigs. Several Aardvarks can run from one PC, each opened by its own port number.
Aardvark, Beagle, Cheetah or Promira
| Tool | Role | I2C | SPI | Choose It When |
|---|---|---|---|---|
| Aardvark I2C/SPI (TP240141) | Host adapter, master or slave | Master to 800 kHz | Master to 8 MHz, slave to 4 MHz | Everyday 3.3 V bring-up, programming and test |
| Beagle I2C/SPI (TP320121) | Passive protocol analyser | Monitors to 4 MHz | Monitors to 24 MHz | You need to record bus traffic without driving it |
| Cheetah SPI (TP280121) | High-speed SPI host adapter | Not supported | Master to 40+ MHz | Fast SPI Flash programming |
| Promira Serial Platform (TP500110) | Host adapter and analyser | Master and slave to 3.4 MHz | Master to 80 MHz, slave to 20 MHz | Higher speeds, or 0.9 V to 3.3 V signalling without a level shifter |
Promira speeds depend on the application level licensed. Many engineers pair the Aardvark with a Beagle: one generates traffic, the other records it. For targets below 3.3 V, add the Total Phase Level Shifter Board (TP240610), which shifts to standard logic levels from 1.2 V to 3.3 V.
Related Products
- 10-Pin Split Cable (TP240212) for connecting to individual header pins on the target
- I2C/SPI Activity Board (TP240310), a ready-made I2C and SPI target for learning and testing scripts
- Saleae logic analysers for waveform-level timing alongside protocol decode
| General Information | |
|---|---|
Part Number (SKU) |
TP240141
|
Model |
|
Manufacturer Manufacturer of the product
|
|
| Functional Features | |
Applications |
|
| Electrical | |
Power Source |
|
Interface Types |
|
Interface Features |
|
Interface Speed |
|
Interface Connections |
|
| Software | |
Included Software |
|
Software Updates |
|
Host OS Compatibility Works with these Operating Systems
|
|
API/SDK |
|
Automation |
|
| Physical and Mechanical | |
Dimensions |
|
Weight |
1.0 kg
|
Operating Temperature |
|
| Other | |
Certifications |
|
EAN |
5055383601769
|
Questions and Answers
-
How Long Is the Aardvark Warranty?
1 year (Total Phase one-year limited hardware warranty). The warranty period is also shown in the warranty details on this page.
-
Can My Aardvark Be Upgraded?
Yes. The Aardvark's internal firmware can be upgraded over USB with Total Phase's aaflash utility when Total Phase releases new firmware.
-
How Is the Aardvark Powered?
The Aardvark is powered from the host computer over USB and draws less than 100 mA, so no external power supply is needed. It can also supply +5 V to a target on pins 4 and 6 of the 10-pin connector, up to 25 mA per pin (hardware v2.00 and later), which suits small low-current target boards.
-
Does the Aardvark Support I2C Clock Stretching?
Yes, the Aardvark supports clock stretching as a Master or a Slave.
Only the slave device can initiate clock stretching, to extend an I2C bus cycle. Not all I2C master or slave devices support it, so check this if you rely on clock stretching.
-
Can the Aardvark Support Multiple Slave Addresses?
Yes and no. The Aardvark can only act as one I2C address node at a time, but you can change the slave address as required using the Aardvark API software.
-
The Aardvark Supports I2C and SPI Buses. Can It Be Used with Any Other Interfaces?
Yes. The Aardvark host adapters also support:
- Display Data Channel (DDC)
- System Management Bus (SMBus)
- Power Management Bus (PMBus)
- Smart Battery Bus (SBBus)
- Intelligent Platform Management Interface (IPMI)
- Two-Wire Interface (TWI)
-
What Problems Does the Total Phase Aardvark i2C/SPI Host Adapter Solve?
It connects a computer to I2C and SPI devices so you can debug, test and program them. This saves development time.
-
Is Their a CAD File Available for This Part?
The Aardvark is a simple shape that is easy to measure for placing in your equipment: it measures 55.6 x 22.2 x 89 mm and weighs 64 g. If you need a CAD file, please ask Total Phase.
-
What GPIO Capabilities Does the Aardvark Provide?
The Aardvark provides up to 6 GPIO pins.
- In I2C-only mode, the four SPI pins (MISO, SCLK, MOSI, SS) become GPIO 02, 03, 04 and 05.
- In SPI-only mode, the two I2C pins (SCL, SDA) become GPIO 00 and 01.
Each pin can be set as input or output, with internal pull-up resistors available on inputs. The aa_gpio_change function detects pin state changes within a set timeout, giving interrupt-like operation. All GPIO pins use 3.3V logic with a maximum drive current of 10 mA per pin.
-
Can the Aardvark Adapter Be Used for Programming EEPROMs and Flash Memory?
Yes. The Aardvark can program I2C and SPI EEPROMs and Flash memory.
The included Flash Centre Software has a built-in library of popular memory devices from manufacturers including Atmel, Microchip, Intel, STMicroelectronics and Cypress. Its XML-based device library can be extended for custom memory devices.
It can read, write, erase and verify memory with built-in error checking. For production, you can use several Aardvark adapters at once for parallel programming.
-
Which Programming Languages and Operating Systems Does the Aardvark Support?
The Aardvark API supports C, C#, Python 2 and 3, .NET, VB.NET and VB6. A LabVIEW driver is available as a separate download from Total Phase.
Total Phase currently lists support for Windows 7, 10 and 11, Linux (Red Hat, SuSE, Ubuntu, Fedora) and macOS 13 or later, on Intel and Apple Silicon. Control Center Serial, Flash Center and the API are free to download from Total Phase.
-
Can I Program I2C/SPI Memory Devices?
Yes. The Aardvark supports programming a wide range of EEPROM and Flash memory devices with Flash Center™ software, for embedded development and production programming.
-
What Industries Use the Aardvark I2C/SPI Host Adapter?
Total Phase lists applications for the Aardvark including memory programming, sensors, industrial and home automation and audio processing, wherever reliable I2C and SPI communication is required.
-
Can the Aardvark Be Used for Production Testing?
Yes. It can be used in automated production test systems to program firmware and run automated tests on I2C and SPI devices during manufacturing workflows.
-
Is the Aardvark Suitable for Beginners?
The Aardvark is a professional tool for engineers, but the free Control Center software gives a graphical interface for configuration and control, and the free API is there when you want to script tests.
-
Can the Aardvark Be Used with Other Interfaces Besides I2C and SPI?
Yes. As well as I2C and SPI, the Total Phase Aardvark supports these related protocols:
- Display Data Channel (DDC)
- System Management Bus (SMBus)
- Power Management Bus (PMBus)
- Smart Battery Bus (SBBus)
- Intelligent Platform Management Interface (IPMI)
- Two-Wire Interface (TWI)
-
Why Is the Total Phase Aardvark Preferred Over Basic USB to I2C/SPI Adapters?
Because it supports both I2C and SPI protocols, includes professional APIs for automation, and allows both master and slave operation for full protocol testing and debugging in development and production environments.
-
Can the Aardvark Adapter Be Used in Production Testing Environments?
Yes.
Its programmable interface and scripting support let you build automated test sequences, which speeds up quality control. Because it handles both I2C and SPI, it can test a range of components on a production line, from sensors to memory chips.
-
What Software Is Included with the Aardvark Adapter?
The Aardvark comes with Total Phase's Control Center software.
It gives a graphical interface for configuration and control, plus a transaction log of the messages it sends and receives, which can be exported to CSV. It also supports scripting for automated testing.
-
Can the Aardvark Adapter Be Used for Debugging I2C Communication Issues?
Yes. Through its API status codes the Aardvark reports I2C errors such as missing ACKs on the transactions it takes part in, and the Control Center transaction log records every transaction it sends or receives. For passive bus monitoring use the Beagle I2C/SPI analyser.
You can also emulate I2C devices to isolate faults.
-
Does the Aardvark Adapter Support Multi-master I2C Configurations?
Yes. The Aardvark supports I2C multi-master configurations, where several master devices share the same I2C bus. This is useful when multiple controllers need to start communication independently, for example in distributed control systems or IoT applications.
-
What Is the Total Phase Aardvark I2C/SPI Host Adapter?
The Total Phase Aardvark I2C/SPI Host Adapter is a USB-to-I2C/SPI interface for electronic design engineers.
It connects your computer (Windows, Linux or macOS) to embedded systems so you can communicate with I2C and SPI devices for prototyping, debugging and programming. It works as master or slave, with I2C up to 800 kHz and SPI up to 8 MHz (master) or 4 MHz (slave). It also provides up to 6 GPIO pins.
-
Can Multiple Aardvark Adapters Be Used Simultaneously on One System?
Yes. You can connect and run several Aardvark adapters at once on one host computer.
Each one gets a unique port number, which you can find with the aadetect utility or the aa_find_devices API function. Software can open handles to several adapters and control each one independently through separate API calls. Each device draws less than 100 mA.
Typical uses:
- parallel (gang) programming of memory devices
- independent control of separate embedded systems
- parallel testing in production
Control Centre Software can manage multiple connected Aardvark adapters through its device selection interface.
-
What Protocols and Communication Standards Does the Aardvark Support Beyond Basic I2C and SPI?
As well as standard I2C and SPI, the Aardvark supports several related standards and variants.
I2C-based standards:
- Display Data Channel (DDC)
- System Management Bus (SMBus)
- Power Management Bus (PMBus)
- Smart Battery Bus (SBBus)
- Intelligent Platform Management Interface (IPMI)
- Two-Wire Interface (TWI)
It also handles repeated start conditions, 10-bit addressing, combined format transactions, clock stretching and multi-master configurations.
For SPI, you can set clock polarity and phase, slave select polarity, and MSB-first or LSB-first bit order. Some other SPI variants and custom protocols can be handled through the GPIO at low speeds.
You can add further protocols, including proprietary ones, by writing your own software with the API. The GPIO can also be used for bit-banged protocols or custom signalling, but it is driven by host API calls over USB, so this suits slow signals only.
-
What Is the Maximum Cable Length and Distance Limitations for the Aardvark?
The standard Aardvark ribbon cable is 130.175 mm (5.125 inches) long with a 1.27 mm (0.050 inch) pitch.
Longer cables reduce signal integrity, especially for SPI at up to 8 MHz. Lower-speed I2C at 100 to 400 kHz tolerates longer runs better than fast SPI. If you need a longer connection, keep it as short as the fixture allows and check the signals with an oscilloscope.
Several Aardvarks can run from one host PC, each appearing as its own port, which is the usual way to cover several targets.
-
Can the Aardvark Adapter Be Used for Testing Sensors with I2C Interfaces?
Yes. It can act as master or slave on the I2C bus, so you can simulate a microcontroller talking to a sensor, verify sensor outputs, test different I2C speeds and stress-test sensors under various conditions.
Control Center's transaction log can be exported to CSV for analysis.
-
Is There a Python API Available for the Aardvark Adapter?
Yes. Total Phase provides a Python API for configuring the Aardvark, sending and receiving data, and analysing communication. Use it for custom test scripts, automated data collection, or integrating the Aardvark into larger software systems.
-
Does the Aardvark Adapter Support GPIO Functionality?
Yes. The Aardvark has GPIO (General Purpose Input/Output) pins. The GPIO lines are the I2C or SPI pins repurposed, so you can use them when one of the buses is not in use. Use them for custom signalling, triggering external events, controlling extra hardware, extra chip select lines for SPI devices (switched by host API calls, not by the SPI engine), or synchronising with other test equipment.
-
Does the Aardvark Adapter Have I2C Pull-up Resistors?
Yes. The Aardvark has fixed 2.2 kΩ pull-up resistors on SCL and SDA, which can be switched on or off in software (hardware v2.00 and later). The value is not adjustable. If your bus needs a different pull-up value, switch the Aardvark pull-ups off and fit the resistors on the target.
-
Can the Aardvark Adapter Be Used as an Alternative to NI-845x Adapters?
The Aardvark provides I2C up to 800 kHz and SPI up to 8 MHz as master (4 MHz as slave), in master and slave modes, with a free API and a free LabVIEW driver. For a comparison with the NI-845x adapters, check National Instruments' specifications against your own requirements.
-
Is the Control Center Software Compatible with XML Scripting?
Yes. The Control Center software supplied with the Aardvark supports XML scripting for automated test and control sequences.
You can define device configuration and data transmission in XML. This is useful for repeatable test procedures, automating firmware updates, or integrating the Aardvark into larger automated test frameworks.
-
How Does the Aardvark Adapter Compare to the Beagle Protocol Analyser?
Both are Total Phase products, but they do different jobs.
The Aardvark is for interfacing and basic analysis. It takes an active part in I2C and SPI communications, which suits interactive debugging and development.
The Beagle is a protocol analyser for passive monitoring and in-depth analysis. It offers higher capture speeds, more detailed timing analysis, and handles more complex protocol scenarios.
Many developers use the Aardvark day to day and the Beagle for specialised debugging and performance optimisation.
-
How Does the Aardvark Adapter Compare to the Promira Serial Platform?
The Aardvark covers I2C to 800 kHz and SPI to 8 MHz (master). The Promira Serial Platform is the step up: I2C to 3.4 MHz, SPI master up to 12.5, 40 or 80 MHz depending on the licence level, SPI slave up to 20 MHz, eSPI support, and built-in level shifting from 0.9 to 3.3 V.
Promira supports I2C, SPI and eSPI. For CAN, see the Total Phase Komodo CAN interfaces.
-
What Interfaces Does the Aardvark Support?
As well as I2C and SPI, the Aardvark supports related serial interfaces: DDC, SMBus, PMBus, SBBus, IPMI and TWI.
No questions match your search.