I2C SPI USB CAN eSPI Cable Testing View All Videos Quick Start Guides Software Downloads App Notes White Papers User Manuals Knowledge Base Sales Support About Us
Products Blog Sales Support Contact Search
What are the Options for Delivering I2C Slave Responses Larger than 64 Bytes?
Rena Ayeras

Image by Geralt

Question from the Customer:

We have Aardvark I2C/SPI Host Adapters and are trying to use them for emulating flight kit I2C subsystems. The purpose is developing an onboard computer software to interact with the flight kits. We are using the Aardvark Software API. There seems to be a conflict:

  • The specification of one subsystem is executing a Master I2C Read from our onboard computer to the emulated subsystem, the Aardvark adapter, and receiving a maximum of 206 bytes of data from the Aardvark adapter in response to the Master I2C Read.
  • However, looking at the API call aa_i2c_set_slave_response I see the maximum response from an Aardvark adapter in I2C slave mode is 64 bytes.

Is there a workaround for this, such as another API call that can be used?

Response from Technical Support:

Thank you for your question! As you observed, the maximum message size for the Aardvark adapter in I2C slave mode is 64 bytes. This maximum applies to Control Center Serial Software as well as the Aardvark Software API. For your project, we recommend another device that would fulfill the specification of delivering 206 bytes as a slave response – the Promira Serial Platform.

How to Deliver More I2C Data

To fulfill the response requirement, the Promira Serial Platform can send up to 256 bytes as a slave response. With the Promira Aardvark Wrapper Software API, you can use the software you created for the Aardvark adapter – however, Promira-specific features would not be supported.

Using the Promira Aardvark Wrapper Software API

For an introduction to using the software wrapper and known limitations, here are articles to review:

Promira Serial Platform Features

Here is a summary of other Promira platform features that the Aardvark adapter does not support:

  • Integrated level shifting from 0.9 to 5.0 volts – without a Level Shifter Board.
  • High-speed USB connectivity provides high performance and convenience for benchtop programming, testing, and emulation.
  • Ethernet connectivity enables remote control for automation, as well as convenience for benchtop work.
  • Provides 200 mA of power - connectivity to your project can be greatly simplified.
  • Downloadable applications to the Promira platform as you need them - upgrade your device when you need new features without ordering and waiting for hardware delivery. The available applications to support your project:

We hope this answers your question. Additional resources that you may find helpful include the following:

If you want more information, feel free to contact us with your questions, or request a demo that applies to your application.