Problems with Infrared signal and Sparkfun Qwiic Shield

Hi everyone,
I am a bit desperate, because I have a Infrared distance sensor ( GP2Y0A60SZLF, Polulu sds02a, Pololu Carrier with Sharp/Socle GP2Y0A60SZLF Analog Distance Sensor 10-150cm, 5V) which works fine If I plug it directly into my Arduino R4 Wifi.

I had set up all my hardware including a potentiometer slider, a flex sensor and some buttons. It all worked perfectly.

Now I did by a Qwiic Shield from sparkfun (SparkFun Qwiic Shield for Arduino), because I thought this would give me a perfectly matching protoboard to solder some of my cables directly onto that custom shield.

Still everything works perfectly, but my infrared values dont work anymore.

Chat GPT gave me the hint that the qwiic shield is actually maybe interfering with A4 and A5 as they are connected to SDS or SDA, so I switched to A2. But still my values are just not correct at all...

The sensor works and the arduino works. It is just the combination with the qwiic shield.
Any idea why? I really have no idea anymore!

In the picture you can see my former shield with some more stuff attached, but the actual shield that is connected does not have anything else than the three jumper cables attached to it.

If I connect the pins to the exact same pins just without the shield, I get correct values!
(second image).

So the shield must be interfering with my signal, but how?!?

Further I measured the voltage between 5V and GND: 4.85V both on shield and arduino.
I measured the A2 input: if connected to the 5V I get a value of 1023 and if connected to ground it is 0 as expected.

I would be really glad if somebody could tell me what the qwiic shield is doing with my values.
(As the slider potentiometer with a analog read works perfectly fine)...

Thank you


Can You draw a schematics, pen and paper works fine, for the circuitry You're asking about?

Qwiic as defined by SparkFun is 3V3 only. Is there any way that can be your problem? Until you post a schematic of your circuit it's only a guess.


It is really just this.

Jumper cables right in, no extras. If I connect directly on the Arduino it works, on the qwicc shield it does not (2 qwicc shields, same problem).

hm I don't think so, there is a clear 5V mark on the qwicc shield. I mean I don't use anything qwicc I just wanted to have a fitting protoboard.
I do see though that there are some connections from the 5V to the here marked blue circle:

I don't know if that could have an effect? I mean everything else should be a direct passthrough to the arduino uno and there it works...

Do you know what that part of th qwicc shield does?
I think it connects 3V and 5V. But still I wonder why that would mess with my values....

The logic levels on the Sparkfun Qwiic shield are 3.3V, which will not work with a 5V sensor or 5V Arduino.

From the product page:

This shield connects the I2C bus on your Arduino to a series of SparkFun Qwiic connectors and provides the circuitry to convert the 5V given to the 3.3V required by I2C boards in our Qwiic system.

Those are level shifters that shift the 5V I2C levels from the Arduino to the 3V3 levels required by a Qwiic compatible peripheral. I can't see that they would have any effect on your circuit. From the shield schematic it looks like the Arduino pins are just passed through. Sorry.

1 Like

Exactly. They should just be passed through and still I would get weird values.
One last idea is now to brush off any flux residue that might mess with my analog values. (this would be happening on 2 qwicc board though!)
After that I give up...

but would that mean that even the 5V labelled holes in the qwicc board are now 3.3V?
That would be quite misleading, wouldn't it?

The holes marked 5V will be 5V. There is no means of changing the voltage on those holes.

The qwiic connectors have the 3.3V supply going to them, plus the 3.3V SDA and 3.3V SCL signals.

The two MOSFETs on the board are level converters to change the 3.3V SDA and SCL signals to 5V to connect to the Arduino.

See the Qwiic Shield Schematic for more details.

If you do not use the qwiic connectors, but solder your wires to the appropriate pins for your I2C then you are not using the level converters, and your SDA and SCL signals will be 5V.

1 Like

Ok thank you. Then it must be the flux residue. There is not other explanation. :sweat_smile: I will try tomorrow night or on Monday...

Thank you all!
In the end it was a mix of things that came together:

First I had the A5 connected to my polulu input, which does not seem to work with the Qwicc (due to different logic levels).

After I switched to testing with the A2, I started to test with another infrared sensor (with jumper cables), which in the end turned out to have a weak contact.

Weirdly every time I plugged it into the Arduino I must have held it in a different way, than when I plugged it into the qwicc shield. So I accidentally made the assumption that it had something to do with the shield. :see_no_evil_monkey:

By switching to the A2 and using good contacts it now works.
I did nonetheless clean all the flux with a flux remover. This is never a bad idea!

Thank you for all the help. It is much appreciated and I am very happy that it works smoothly now! (And that I now know that the qwicc shield changes behaviour on A4/A5).