User Tools

Site Tools


the_i2c_bus

This is an old revision of the document!


What's this I²C Thing?

I²C, prounounced I-Squared-C, is short for the “Inter-Integrated-Circuit bus”. It was invented in 1982 by Philips, although the patent is now expired.

More than you'll ever need to know is on the I²C Wikipedia page.

Sometimes it is also known as the “two-wire” bus, which is also descriptive, because it has two signal wires. Those two wires are called “SCL” and “SDA, for “serial clock” and “serial data.”

Some basic facts aboutI²C: * It was originally intended to stay on the same PC board, but works over a few feet of cable * It runs at 100Kbps or 400Kbps * Each “slave” device has an address, and each slave on the bus must have a unique address * Some devices have pins that can chose from several addresses. Others are limited to one per bus because the address can't be changed.

I²C in FRC

Since the introduction of the RoboRio, there has been an easy way to use I²C for FIRST robots. The connector on the Rio looks like this. The connector has four pins. In addition to SCL and SDA, there is a pin for 3.3v power, and a pin for the common ground for signal and power. This means that no external power source is needed or recommended for attaching an I2C device.

Around 2018-2019 we started to see packaged color and distance sensors from Rev Robotics and others.

For 2020 Rev introduced a cable to make using one of them easy with the RoboRio.

I²C in other maker/hobby wiring

QWIIC

Sparkfun has many sensor boards and controllers that use a tiny 4-pin connector they call QWIIC. It carries the SDA and SCL signals, ground, and +3.3v power.

(picture)

Adafruit wants to call the same thing STEMMA-QT.

the_i2c_bus.1579146920.txt.gz · Last modified: 2020/01/15 22:55 by tell