Giao thức I2C (Inter-Integrated Circuit) là một phương thức truyền dữ liệu nối tiếp hai dây giữa bộ xử lý trung tâm và nhiều IC, sử dụng SDA và SCL với tốc độ tối đa là 400 kbit/s. Khi truyền dữ liệu, thiết bị master gửi điều kiện khởi động và địa chỉ đến các thiết bị slave, nhận xác nhận (ACK) từ slave trước khi tiếp tục. Các hàm HAL trong STM32 hỗ trợ gọi các chức năng truyền dữ liệu I2C với các chế độ truyền khác nhau như chế độ chặn, ngắt, và DMA.