Which Applications Support Programming I2C EEPROMs Byte by Byte?

Photo by Negative Space

Question from the Customer:

To flash I2C EEPROMs, I plan to use the Aardvark I2C/SPI Host Adapter. The EEPROMs will be programmed byte by byte. Eventually, this will be an automated process. There seem to be many software tools that could be applied – which do you recommend for my application?

Response from Technical Support:

Thanks for your question! We provide GUI and API software tools. The Flash Center Software and Control Center Serial Software provide an easy interface to use all the features of the Aardvark adapter to develop, program, and debug and troubleshoot I2C devices.

Aardvark Software API can be used to customize the control and use of the Aardvark adapter.

Advantages and Examples of API

Aardvark API supports multiple operating systems and programming languages. Functional scripts are available to use as is, or to modify as needed. README.txt files are included in the package which explain each of the example scripts.

Following is an overview of functional Aardvark API scripts:

  • aadetect: detects Aardvark devices attached to the system.
  • aalights: flash LEDs attached to a Philips PCA9554D I/O port expander as found on the Activity Board.
  • aai2c_eeprom: read from or write to an I2C serial EEPROM, such as the Atmel AT24C02 on the Activity Board.
  • aaspi_eeprom: read from or write to an SPI serial EEPROM, such as the Atmel AT25080A on the Activity Board.
  • aai2c_file, aai2c_slave: control the Aardvark adapter in I2C slave mode. Note: this script requires two Aardvark devices. First run aai2c_slave with the first Aardvark device to wait for a new slave transmission. Then, in another shell, run aai2c_file to transmit a binary file with the second Aardvark device.
  • aaspi_file, aaspi_slave: control the Aardvark adapter in SPI slave mode. Note: this script requires two Aardvark devices. First run aaspi_slave with the first Aardvark device to wait for a new slave transmission. Then, in another shell, run aaspi_file to transmit a binary file with the second Aardvark device.
  • aagpio: perform simple GPIO tests with a single Aardvark adapter. The results can be verified with an oscilloscope or a multimeter.
  • aamonitor: implements the I2C Bus Monitor feature. This example can be run on one Aardvark while using a second Aardvark to communicate with the I2C EEPROM on the Activity Board (refer to aai2c_eeprom above). The first Aardvark will monitor the traffic between the second Aardvark and the EEPROM.

For your setup, the scripts aai2c_eeprom and aaspi_eeprom would be a good starting point. Regarding specific API commands, aa_i2c_write supports byte by byte programming. For more information, please refer to Aardvark API Documentation.

Easier Access to API Python Package

The Aardvark Software API is now supported by the Python Package Index, also known as PyPI. This allows you to easily download and install all API packages with a single command. PyPI also provides information about the Total Phase Aardvark API packages.

We hope this answers your questions. 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.