Summary
I am working to build a sensor bundle that includes positioning, applied force, motion sensing, etc, using a number of SparkFun and AdaFruit sensors. Using a Pi 4B as the base, I’m using a load cell sensor, 6dof IMU, and GPS breakout via Qwiic, connecting to SparkFun Qwiic HAT, and attempting to access via i2c using the python3 smbus2 package. I am having difficulty with connecting the GPS unit both at the OS level and programmatic level.
Requested Help
I need help successfully getting the GPS unit connected to the Pi, correctly detected by i2cdetect, and correctly polled by a python3 program using the smbus2 package.
Observed Behaviors
Connecting the load cell and/or IMU works just fine. i2cdetect immediately returns with an appropriately populated map. A test program is able to poll useful data from the connected module(s).
Connecting the GPS causes i2cdetect to map very slowly (1-3 seconds per address), with no address showing as occupied. Running the test program fails to connect to any device, including the load cell or IMU.
Working with the GPS unit via USB on a Windows device via U-Center works fine; the module does not seem to be faulty.
Desired Behaviors
With any combination of the three modules connected, i2cdetect correctly generates the address map. A test program correctly polls from connected devices using the smbus2 library, and correctly reports no connection for devices that are not connected.
Hardware List
Compute:
Raspberry Pi 4B 8GB
HAT:
SparkFun Qwiic HAT for Raspberry Pi
Sensors:
SparkFun GPS-RTK Dead Reckoning Breakout - ZED-F9R (Qwiic)
SparkFun Qwiic Scale - NAU7802
Adafruit MPU-6050 6-DoF Accel and Gyro Sensor - STEMMA QT Qwiic