In this chapter you will
Learn about the I2C bus
Understand how to use an EEPROM (electrically erasable read-only memory) and a port expander on the I2C bus
Learn about the SPI bus
Learn how to use a digital rheostat on the SPI bus
An Arduino communicates with other devices via a data bus, a system of connections that allow two or more devices to exchange data in an orderly manner. A data bus can provide a connection between the Arduino and various sensors, I/O expansion devices, and other components.
The two major buses of most importance to the Arduino are the Serial Peripheral Interface (SPI) bus and the Inter-Integrated Circuit bus (I2C). Many useful sensors and external devices communicate using these buses.