I am using a Raspberry Pi with Raspberry Pi OS buster headless installed and intend to read the IMU data from the official Adafruit NXP 9DOF sensor. I have soldered the pins onto the breakout and wired the device exactly as described in the official guide.
My Setup
Using python 3.8.10 and pip 20.0.2, I installed the following libaries:
- Adafruit-Blinka
- adafruit-circuitpython-fxos8700
- adafruit-circuitpython-fxas21002c
And used the demo code (also found in the official guide)to attach to the IMU and read + output its data But all I got was the following message:
Code: Select all
ValueError: No I2C device at address: 0x1f
I then proceded inspect the I2C bus using
Code: Select all
sudo i2cdetect -y 1
Code: Select all
sudo i2cdetect -y 1
Code: Select all
me@raspi:~
> $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
me@raspi:~
> $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
me@raspi:~
> $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
me@raspi:~
> $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
me@raspi:~
> $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1f
20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Code: Select all
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import board
>>> i2c = board.I2C()
>>> i2c.scan()
[]
>>> i2c.scan()
[31, 33]
>>> i2c.scan()
[31, 33]
>>> i2c.scan()
[33]
I have performed troubleshooting using other I2C devices (i.e. the 16-channel servo driver) and the connection works just fine, so I recon there is an issue with connecting to the IMU. I cannot connect to and use the IMU at all. I have double-checked and re-done the soldering - please see the attached image of the solder spots. I know it is not world class but I figure the connections should be sufficient.
The Help I need
I have contacted the officially licensed Adafruit reseller Tinkerly/Paradisetronic and they said I would have to contact Adafruit "since it is on them to determine whether I am eligible for a replacement or not". So I am posting this issue here and will be sending an email to the tech/customer support and try to get a refund/new IMU.
I really need this device to work and would strongly prefer using this IMU over the other available products. If there is any more troubleshooting I can do or if I am eligible to be refunded a new IMU, this would be greatly appreciated!