How much power can be delivered to downstream devices like I2C and SPI EEPROMs from the USB port when using the Aardvark I2C/SPI Host Adapter?

Question from the Customer:

I have a project where I’ll be using the Aardvark I2C/SPI Host Adapter, powered by its USB port, to test and provide power to I2C and SPI EEPROMs. I have a couple of questions:

  • Does it matter if the USB port (that is powering the Aardvark adapter) is from a USB hub or a USB host controller?
  • I’ll be writing up a program to test these devices. How do I set up pins 4 and 6 on the Aardvark adapter to provide power?

Response from Technical Support:

Thanks for your questions! The Aardvark adapter is compatible with USB hubs as well as USB host controllers. However, for your use, we recommend connecting the Aardvark adapter to a USB host controller.

 Aardvark I2C/SPI Host Adapter

Figure 1: Aardvark I2C/SPI Host Adapter

  • USB hubs are rated to provide a maximum of 100 mA per USB device, which is about how much power the Aardvark adapter itself will consume.
  • If the Aardvark adapter is directly plugged into a USB host controller, that USB port could provide up to 500 mA, which leaves approximately 400 mA for any downstream target device.  In addition to the power consumption of the devices, the Aardvark adapter can drive the output signals with up to 10 mA current, source or sink. The Aardvark adapter always reports itself to the host as a low-power device (<100 mA). Based on this specification, we strongly recommend not drawing large amounts of current from the USB host. For details about signal level and voltage ratings, please refer to section 2.2 of the Aardvark I2C/SPI Host Adapter User Manual.

Regarding the pins to use to deliver power from the Aardvark adapter, the Aardvark adapter is configured to perform, as listed below:

  • NC/+5V (Pin 4): I2C Power
  • NC/+5V (Pin 6): SPI Power

By default, these pins are left unconnected when the Aardvark adapter is shipped. Setting up these pins depends on the hardware version of the Aardvark adapter.

  • For our current Aardvark models, hardware version 2.00 or later, you can switch pins 4 and 6 on/off using the software API, specifically the command aa_target_power. For additional information about API commands, please refer to section 5 of the Aardvark I2C/SPI Host Adapter User Manual.  For more information, you can also refer to our knowledge base article "Using the Aardvark with Python on 64-bit Windows".
  • For older Aardvark adapters of versions earlier than 2.00 (before 2013), in addition to using the API commands, jumpers inside  the Aardvark must be set up.  To connect VDD to pins 4 and 6, connect jumpers J301 and J302. (Note:  opening the Aardvark enclosure will negate any hardware warranty).

Additional resources that you may find helpful include the following:

We hope this answers your questions. If you have other questions about our host adapters or other Total Phase products, feel free to email us at, or if you already own one of our devices and have a technical question, please submit a request for technical support.

Leave a Reply