Raspberry SHIM for Qwiic does not seem to work

Hello!

I have two of these devices, both courtesy the Micro Center from Brooklyn NY. And I’ve tried one of them on a Pi Zero, and then on a Pi Zero W. Finally on a Pi 3B+ .

Each time I see the device startup via a serial console device made by Adafruit, sitting on the SHIM. And entering the command string to detect anything on the i2c bus tells me there’s nothing there.

For example

pi@raspberrypi:~/$ 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: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

That’s the one from the tutorial. The person who wrote it saw something at 0x60. And would then use the next series of tools to manage it. In my case I’ve connected everything I could think of that has a connector, including the button that I asked about in a different thread, and this display https://www.sparkfun.com/products/14532

With it connected I expected to see the same dump but with a presence at 0x3C instead. It was not there. :!:

My next test will be the other connector and a cable with male dupont connectors on the other end connected to a regular OLED display who’d show up on the dump with the same address as the example normally. I’ll also try it with this first one.

After that I am at my wit’s end here. According to a response to a comment, the thing is supposed to fit snugly on the pins after something was pressed down on it. Advice please here.

doctorwho8:
Hello!

I have two of these devices, both courtesy the Micro Center from Brooklyn NY. And I’ve tried one of them on a Pi Zero, and then on a Pi Zero W. Finally on a Pi 3B+ .

Each time I see the device startup via a serial console device made by Adafruit, sitting on the SHIM. And entering the command string to detect anything on the i2c bus tells me there’s nothing there.

For example

pi@raspberrypi:~/$ 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: 60 – – – – – – – – – – – – – – –
70: – – – – – – – –




That's the one from the tutorial. The person who wrote it saw something at 0x60. And would then use the next series of tools to manage it. In my case I've connected everything I could think of that has a connector, including the button that I asked about in a different thread, and this display [https://www.sparkfun.com/products/14532](https://www.sparkfun.com/products/14532)

With it connected I expected to see the same dump but with a presence at 0x3C instead. It was not there. :!: 



My next test will be the other connector and a cable with male dupont connectors on the other end connected to a regular OLED display who'd show up on the dump with the same address as the example normally. I'll also try it with this first one.



After that I am at my wit's end here. According to a response to a comment, the thing is supposed to fit snugly on the pins after something was pressed down on it. Advice please here.

Hello!

And trying it with the other SHIM on a Pi 3A provided me with the dump which matched what I expected.

pi@raspberrypi:~$ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 6f
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~$

And 0x3C is the display I connected. It’s a generic OLED display with an I2C interface which works similar to those sold here. And 0x6f is the red button breakout on i2c.

With this working, I do not know what happened with SHIM #1. That was not sold by Sparkfun directly, but through a dealer so I am not going to talk to the good people at customer service about it. :mrgreen: I might discuss it with those at Micro Center of course, but it all depends. Well the Pi Zero test did not work. Same as before. But the Pi 3B test worked with the same dump. I might go hole hog and try it on a Pi Zero W to see what happens next. Incidentally the generic display was chosen thinking I might have one of the Qwiic enabled ones that became US :?: during its travels to the store.


:?: And that was the term for unserviceable in years gone by in the forces of Great Britain.

What SparkFun part number are you using and what Qwiic device is plugged into it?

TS-Chris:
What SparkFun part number are you using and what Qwiic device is plugged into it?

This is the Qwiic SHIM for Raspberry Pi https://www.sparkfun.com/products/15794 and I had plugged into it the illuminated button one, which is, https://www.sparkfun.com/products/15932 . And finally this screen one, https://www.sparkfun.com/products/14532 .

A follow up regarding that display will, ah, follow, in a different thread.

doctorwho8:

TS-Chris:
What SparkFun part number are you using and what Qwiic device is plugged into it?

This is the Qwiic SHIM for Raspberry Pi https://www.sparkfun.com/products/15794 and I had plugged into it the illuminated button one, which is, https://www.sparkfun.com/products/15932 . And finally this screen one, https://www.sparkfun.com/products/14532 .

A follow up regarding that display will, ah, follow, in a different thread.

Hello!

I can confirm that the Qwiic SHIM for the Raspberry Pi that I’ve been discussing here does indeed work. I have it mounted on a Raspberry Pi3 A board underneath a console device from Adafruit. The cable is one that wears Dupont male connectors on it, and it’s plugged into a small breadboard. And plugged into that is a generic display.

And this one:

pi@raspberrypi:~$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~$

That there is an I2C dump using the usual methods of $sudo i2cdump -y 1 and studying the displayed contents. Currently an example from Adafruit for one of their simple displays is running, with some useful stats. So far it is safe to say that this one does work. More later in a different post.

Hello!

So far I can state that the titled device does not work on a Pi Zero W with installed headers. The usual commands used to detect an I2C bus and confirm what address it uses did not work that way. I finally connected the two with Dupont connectors on the other end, and connected their Qwiic connectors to this thing, https://www.sparkfun.com/products/14495 that’s the Qwiic adapter, it is using these two cables, https://www.sparkfun.com/products/14425 and the other one

https://www.sparkfun.com/products/14988 on the Pi Zero WH and the (generic) display was seen using the commands $sudo i2cdetect -y 1 who produced thusly:

[pi@raspberrypi:~$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~$

As you can see that’s the command and the dump in that block. Next is to send the device the code it needs to show stuff. I can describe that if someone is curious.