Clear all

Direct I2C access to Arduino Nano 33 IoT's IMU

1 Posts
1 Users
Joined: 5 years ago
Posts: 23
Topic starter  

Hi all,

(TL;DR? My question is written in bold below)

I have a robot project where I want to control motors and poll sensors from a microcontroller of the Nano type. The master brain of my robot is a Raspberry Pi 3 B+ running Raspberry Pi OS. The RPi is laid out as an I2C master, my microcontroller a slave device. I program my RPi using Python 3, and the Nano IoT using the Arduino IDE.

I've found the Arduino Nano 33 IoT to be a good fit for this setup, partly because it also has an on board IMU (Inertial Measurement Unit), the LSM6DS3, that I can use, saving me the connection to yet another component.

My issue is that I can't communicate with the IMU from the RPi, neither directly over I2C or via the Nano IoT as a proxy.

I can see the IMU's I2C presence when I run

i2cdetect -y 1

I see it present with 2 adresses: 0x60 and 0x6A.

I have also found this conversation on how to talk to the LSM6DS3 in MatLab, so it should be possible.

When I reqeust data from the IMU over I2C, I get the same figures in reply every time, no matter how I turn the Nano IoT.


So my question:

Is there a communications guide for how to talk to the onboard LSM6DS3 of the Arduino Nano 33 IoT over I2C?

I have searched, and the above MatLab discussion is the best information I found.

Any help will be appreciated, Thanks!

Kind regards



This topic was modified 3 years ago by mbogelund