Beginners Guide to I2C on the Raspberry Pi Pico (BNO055 IMU Example)
Published at : 23 Dec 2025
This video covers the basics of the I2C communication protocol and how to use it on your Raspberry Pi Pico. We use a Visual Studio Code project to program the brand-new Raspberry Pi Pico microcontroller board in C. We created a project which uses the BNO055 inertial measurement unit (IMU) to read values of acceleration over I2C and print them to a serial monitor over a USB connection to a PC. I realise that I continuously say BNO005 not BNO055 in the video, oops!
This video provides the fundamental background of the I2C communication protocol and explains how to correctly wire an I2C compatible device to the Pico. It explains which functions in the Pico SDK to use in order to communicate with this device. We also cover how to configure the Raspberry Pi Pico correctly in order to enable I2C communication.
As an example, the BNO055 breakout board from Adafruit is used to demonstrate writing to, and reading from, registers on a peripheral device. This video also shows you where to find the required information in your particular peripheral device’s datasheet in order to get your peripheral device functioning correctly.
-- Equipment I use regularly -- The following links are affiliate links where I may make a small percentage on qualifying sales through these links. Use the respective UK or US links listed.