Cable for SerLCD 3V3 I2C display

I see you sell a cable here with a Qwiic connector: JST-SH cable - Qwiic / STEMMA QT compatible – Pimoroni Will it be right for the Sparkfun SerLCD display (I have purchased) to go to a breadboard (via male jumper headers)? The Qwiic header, on your cable, looks like a small male header. Is that correct? Please see my photo of the Qwiic header on the underside of the display.

and this is the product I’ve purchased: SparkFun 16x2 SerLCD - RGB Text (Qwiic) — SK Pang Electronics Ltd which despite the photo has no cable attached at all. (I was aware of that when I purchased.)

(Just to be clear, I don’t work for Pimoroni)

Hi Anne, as far as I can see that should be fine, Sparkfun Qwiic is a standard so if things are branded as Qwiic then they should work together fine.

The one thing to watch out for is that the LCD you have operates at 3.3 V. Some microcontrollers work at 3.3 V, some at 5 V. If you put too high a voltage into the device it might damage it, so just check the voltage of the microcontroller you’re planning to use with it.

Thank you @Shoe . Yes, the Sparkfun LCD has 3.3V (3V3) logic so it connects to the Pico OK. I agree that Qwiic seems to be great but this header/slot looks female to me (in my photo) so I think I need a male Qwiic on the cable. Is that correct?

Yes, sorry, that’s correct, the Qwiic connectors on the board are usually female/sockets, while the cables (including the one you linked) are male. That cable should plug into your board and let you plug the other end into a breadboard just fine.

Found this page on how to use the SerLCD 16x2 with Qwiic connector with RGB text on black with I2C. AVR-Based Serial Enabled LCDs Hookup Guide - Very helpful!

Thank you for your help @Shoe . The LCD display is lighting up but the ‘Hello World’ code in the Pico book on page 118 does not do what I expected. The book is here: Get Started with MicroPython on Raspberry Pi Pico — HackSpace magazine Does the Qwiic to breadboard cable do exactly the same as if I soldered wires to SDA, SCL, VBUS and GND on the Pico? Or does it need some extra software? (I’ve seen a Qwiic library somewhere).

BTW, this is the cable: JST-SH cable - Qwiic / STEMMA QT compatible – Pimoroni

It’s just a cable, so as you said it should be exactly like soldering wires and doesn’t need any extra software. What’s the example doing which it shouldn’t be?

Are you sure that display uses 3.3v logic?

Yes, I’m absolutely sure. This book: Get Started with MicroPython on Raspberry Pi Pico — HackSpace magazine explains it very carefully. I am using I2C and the Pico has 3v3 logic to the SDA and SCL pins. The LCD display has 3v3 logic printed on its front.

Ok, fair enough, I figured I’d better double check. If it was looking for 5V logic it would maybe explain why it wasn’t working.

Thanks Kerry @alphanumeric . We have got it to work sometimes but then not others so I think it’s a faulty connection somewhere. At least we know now that it can work - so we’ll try again tomorrow and make sure all the connections are firm into the breadboard and the Qwiic connector on the other end.

Thank you @Shoe . You are correct that it is just the same as soldering 4 wires because sometimes the code works.

I have a 16x2
Standard LCD 16x2 + extras [white on blue] : ID 181 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits
and the i2c SPI backpack
i2c / SPI character LCD backpack : ID 292 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits

I’m pretty sure mine is 5V logic so I’ll be using this between my PICO and the dsiaply.
8-channel Bi-directional Logic Level Converter [TXB0108] : ID 395 : $7.95 : Adafruit Industries, Unique & fun DIY electronics and kits

I’ll have a go at it tomorrow some time and post back how it goes. I have the paperback Getting Started Book and have been meaning to try what’s in it. Just needed a nudge to get going. ;)

I’ll be using this extra large solderless breadboard.
Large Solderless Breadboard : ID 443 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits

And for the record, I often post links to Pimoroni products on the Adafruit Forum. It evens out over time.

I’m not getting anywhere?
By default, with no jumpers soldered I should be getting an address of 0x70 (offset 0 ). If I run this I get 32?

import machine
i2c=machine.I2C(0,sda=sda, scl=scl, freq=400000)

If i run the file as printed in the book I get
Traceback (most recent call last):
File “”, line 5, in
OSError: [Errno 5] EIO

If I chnage the 114 to 32 no error but the display doesn’t work, all it ever shows is a black bar acrosse the top row.

import machine
i2c=machine.I2C(0,sda=sda, scl=scl, freq=400000)
i2c.writeto(32, '\x7C')
i2c.writeto(32, '\x2D')
i2c.writeto(32, "hello world")

This is without my level shifter wired in, with it in i2c scan shows no devices found.

You are working at a level beyond what I have knowledge of Kerry. With our SerLCD 3V3 LCD 16x2 we did a scan at the beginning and we get the display to work with 114 so that is OK. Our problem is that we’ve tried various contrast and RGB changes but have rarely got what we wanted ie, bright text on a dark background and when it did work like that once we don’t know how we got it. The next time we powered up it had reverted to showing 32 bright rectangles. We think we’ve got one more thing to try. We were putting in: i2c.writeto(114, ‘\x7C’) every time we wanted to give it a command, such as ‘\x2B’ and it looks as if we should only do this once in the whole program because it toggles, ie, command mode goes off if you use i2c.writeto(114, ‘\x7C’) a second time. We’ll try to remedy this later today and I’ll report back if I get some success. (I’m not at my desk PC or Rasp Pi so sorry if this is not understandable.)

I’m getting 16 bright rectangles as soon as I power up the PICO. I may start my own thread on this and put a link to it here. I’m pretty sure we have too different but maybe related issues going on.
My display worked with my Arduino UNO, and I may try that again just to make sure I haven’t damaged it. Then go back to trying to get it working on a PICO.
The 114 doesn’t make any sense to me as i2c addresses stop at 0x77, maybe its HEX or something?
Your using the Raspberry Pi Foundation uf2, right? That’s the one I flashed. I even did a flash_nuke first.

Yes, I used the .uf2 file initially to install Micropython . I haven’t got an Arduino to try. (I’ve only ever used the Arduino IDE with Gemma wearable LEDs.) 114 is equivalent to x72 ( ie, in hexadecimal it is 72) isn’t it? My set-up seems happy with it. I think the problem I may have is that the Sparkfun LCD has gone through many changes and that means some of these hex codes for commands I’ve seen online have changed and I & my husband are not finding the codes for the model of display I’ve purchased. I’ll try to put some images of the display later on. The info on the back of the display says ADM1602N1. Image: IMG_1999.JPG - Google Drive
Image2: IMG_2001.JPG - Google Drive

Image3: IMG_1998.JPG - Google Drive

Yeah 72 hexadecimal = 114 in decimal.
And 70 hexadecimal = 112 in decimal, so I guess I should be using 112 instead of 114?
Still not sure why my i2c scan gets me a 32? 32 hex = 50 decimal.
I’m going to run it again with something else I know the address of. One of the Pimoroni breakouts, I should have at least one with a male header on it.
I have some errands to run, I should still be able to tinker with this latter on today.
After re reading the getting started section, I was also wondering if those commands were correct for my display.

Kerry, Hope you are making more progress than us @alphanumeric . We’ve now messed about so much we’ve lost the 114 address so we’ll have to do a reset by soldering RX to GND.

I haven’t had a chance to get back to it. I should get something done by end of the week. It’s been ages since we’ve had a warm day that it didn’t rain so I’ve been doing some neglected yard work, etc.

Bummer that you went backwards a bit. =(