Fundamentals of Arduino
Schematics

Communication peripherals in Arduino:

UART(Universal Asynchronous Reception and Transmission)
- Allows the Arduino to directly communicate with with serial devices and a computer
Further reading: UART | allaboutcircuits.com
I2C (Inter-integrated-circuit)
- Communication protocol to connect with modules and sensors
- When connecting two circuits to one another, think of the main device as the “master” and the connected devices—such as sensors, pin expansions, and drivers—as “slaves”.
- I2C allows to connect multiple masters and slaves to your board
- I2C uses fewer wires and all data is transmitted on a single wire
- Slower speeds than SPI.
Further reading: I2C | allaboutcircuits.com
SPI (Serial Peripheral Interface)
- Allows a single master device with a maximum of four slave devices
- Much faster than I2C due to the simple protocol and, while data/clock lines are shared between devices, each device requires a unique address wire
- SPI is commonly found in places where speed is important such as with SD cards and display modules, or when information updates and changes quickly, like with temperature sensors.
Further reading: SPI | allaboutcircuits.com