Unable to Detect any I2C Sensors on Raspberry Pi Zero W with Nerves

I’m currently working on a project with a Raspberry Pi Zero, using Nerves Livebook for development. I’m trying to connect SHTC3 and SGP40 sensors via the I2C interface but am facing an issue where the devices aren’t being detected by I2C.detect_devices().

Here’s what I’ve done so far:

  • Ensured that the sensors are correctly connected to the Raspberry Pi Zero W. When I run the detection code, both the SHTC3 and SGP40 sensors’ LEDs blink once, indicating they’re receiving power or signals. When I try to use write_read(), there is also LED blinking but no signal responded.
  • Used the Circuits.I2C library to attempt to detect connected I2C devices.
  • Confirmed that I’m targeting the correct I2C bus (i2c-1) on the Raspberry Pi.

I use SHIM produced by Sparkfun to connect sensors with qwiic.

I’m not sure how to debug now… Please help me

Did you solder the shim onto the connector? The reason that I ask is that I’ve never gotten a shim to work reliably without soldering it on, so that’s the first thing that I’d check.

1 Like

One other thought is to tilt the shim and apply pressure so it has a good connection to the Raspberry Pi’s pins. Then try to detect devices and see if one of them shows up.

Thanks for response.

Actually not. Because Sparkfun says to just slip the SHIM on, no mention of soldering. But I think it could indeed be a connection problem with this part, I’ll try to buy a pHAT to try it out.

Thanks, It turns out the problem originates from shim. I bought a pHAT 2.0 and it works. Although SGP40 is not shown in i2c.detect_devices() but I can still interact with it.