Get a "CLUE" with the I2C Detective

The I2C Detective identifies the I2C devices connected to your microcontroller from a database of the most popular sensors.

Jeremy Cook
a month agoSensors

The I2C protocol provides a great way to interface with a wide variety of peripherals, using only two microcontroller data pins – serial data (SDA) and serial clock (SCL). As such, an addressing scheme is used to deal with the bits jumping around on these wires, and you'll need to know or find out this info for your device. The I2C Detective, by David Johnson-Davies, makes this easy by scanning an I2C bus and displaying the used addresses and device IDs.

The setup features a database of popular sensors, and if an address that’s in use doesn’t provide a device ID, it lists the popular sensors that use a particular address. As you may or may not know, some I2C devices include two sensors – with two separate addresses – in a single package as “twins.” The I2C Detective is equipped with special functionality for these devices, allowing for a robust tool that should be very helpful when you don’t quite have all the info on a peripheral.

The software can run on any Arduino compatible board from the Uno on, however, it’s especially well suited for the Adafruit CLUE – which provides a color display for user feedback and a STEMMA QT connector to make it easy to plug in new sensors. Standard, and CLUE-specific code can be found in Johnson-Davies' Technoblogy post and here on GitHub if you so prefer.

Jeremy Cook
Engineer, maker of random contraptions, love learning about tech. Write for various publications, including Hackster!
Related articles
Sponsored articles
Related articles