Tips, Tools and Applications for the Electronic Industry in Europe

How to send large data transactions using the Aardvark I2C/SPI Host Adapter

Posted on 2018/02/07 by George

How can I send large data transactions, messages greater than 64 bytes, using the Aardvark I2C/SPI Host Adapter?

Question from a customer: For a communication scenario, I am using the Aardvark Software API for data transactions. Here is the call that I am using: aa_i2c_write (handle, deviceAddress, AA_I”C_NO_FLAGS, numbytes, bufferin)

If I define numbytes=300, is there a limitation when sending data due to the buffer size of 64 bytes? In other words, I would like to know what is the maximum size of data (number of bytes) that the Aardvark I2C/SPI Host Adapter can process.

Response from Technical Support: For the Aardvark adapter, the buffer space is 64 bytes, and the maximum slave response is 64 bytes. However, the transactions can be much larger. Here are the details:

Read More

What does I2C have to do with GPS data and how much more can GPS navigate on planet Earth?

Posted on 2017/12/12 by George

GPS data has been system integrated with UART for some time, an asynchronous system. With navigation becoming more prevalent in commercial products, as well as mobile robotic devices and the coming of self-driving vehicles, I2C is now being integrated with GPS signals.

These interfaces appear similar, both having two signal lines. Beyond that, their functionalities are very different.  Here are two key points:

1. A more sophisticated protocol, I2C can interface up to 27 devices: there can be multiple masters, and each master can communicate with all slave devices.

1. UART can only interface one device to one other device.

2. I2C can operate at a much higher speed than a UART, up to 3.4 MHz or even 5 MHz in some applications.

2. The UART bitrate can be much lower than I2C – the maximum baud rate is typically less than 1 Mbps.

Read More

Tagged I2C

| Leave a reply

What address to use when communicating with I2C slave devices

Posted on 2017/02/20 by George

We often get inquiries from our customers about what slave address to use in order to communicate with their I2C slave device. A lot of this confusion stems from the fact that different vendors follow different slave address conventions.

In this post we will clarify the slave address standard used by all Total Phase products and to help developers determine what slave address they should use.


  • 7-bit Addressing
  • Reserved Addresses
  • 8-bit Addresses
  • 10-bit Addressing

The I2C specification from NXP (formerly Philips) actually specifies two different slave addressing schemes. Standard Mode I2C makes use of 7-bit addressing. 10-bit addressing was later added as an extension to standard mode I2C.

7-bit Addressing

In 7-bit addressing procedure, the slave address is transferred in the first byte after the Start condition. The first seven bits of the byte comprise the slave address. The eighth bit is the read/write flag where 0 indicates a write and 1 indicates a read.

Figure 1: 7-bit addressing. The I2C bus specification specifies that in standard-mode I2C, the slave address is 7-bits long followed by the read/write bit.


Read More
The Store
Content Center
Contact us


Subscribe to Email Updates