An I2C bus detective made using an Adafruit CLUE board #CLUE @technoblogy

Unknown Reply 11:50 AM

The I2C Detective identifies the I2C devices connected to your microcontroller from a database of the most popular I2C sensors and other devices. It lists each device on the I2C bus, and can distinguish between multiple candidates at a particular address by reading the device IDs:

In the above example, although there are other possible sensors with addresses 0x1C, 0x39, 0x6A, and 0x77, the I2C Detective eliminates these as possibilities by reading the registers corresponding to the sensor device IDs to identify them. If a sensor doesn’t provide a device ID, such as with the SHT30 on address 0x44, the I2C Detective lists all the popular sensors that support this address.

The I2C Detective will run on any Arduino-compatible board, from the Arduino Uno upwards.

Although you can run the I2C Detective on any Arduino platform, it can be used on the Adafruit Clue as a stand-alone tool, as shown in the photo above. The Clue provides a colour TFT display, several built-in sensors, and a Stemma QT connector (compatible with Sparkfun Qwiic) to make it easy to plug in additional I2C sensors. You could do something similar for the Adafruit PyGamer/PyBadge which has the larger Stemma connector (compatible with Grove).

Here’s the whole I2C Detective database and program: I2C Detective program.

Here’s the version for the Adafruit Clue: I2C Detective Clue program.

Or get both versions from GitHub here: https://github.com/technoblogy/i2c-detective.

Read more on the project blog and on Hackster.io

Post a Comment

Search

Follow us

Popular Reviews