Direct I2C access to Arduino Nano 33 IoT's IMU
(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!