SerLCD display will not display text

Hello,

I’m having almost identical issue, except I just can’t get it to work. I’m using SparkFun 16x2 SerLCD - RGB Backlight with Arduino MEGA2560, and SparkFun Logic Level Converter.

I’m want to use the Qwiic connect from the LCD and connect it to the Arduino, using Qwiic Connector to Prototype pins harness. But I’m not sure what schematic to follow. If I wire it per I2C: Hardware Hookup, connecting the red wire to Vin, I can see the text, but the background is too dark and the letters are almost invisible. Adjusting lcd.setContrast in the code does not have an effect. If I wire it connecting red wire to LV, and HV to 5V, the display does not work at all.

I’m attaching pictures of my two wiring setups. Any guidance will be appreciated

I see two problems.

  • - You’re using the wrong I2C port on the mega. (Use pins 20 and 21)
  • - You're connecting display power via Qwiic to VIN which is a 5 volt source. The display is only rated for 3.3 volts, it is likely burnt out.
  • Thanks for taking a look! It looks like the board has two places for SDA/SCL, and I believe they are connected (see attached pic) . But just in case I’ll switch to follow your suggestion.

    As for the screen being burned out, I’ll check with another screen.

    It seems you are suggesting that the first pic is more accurate to how the Qwiic Connector to Prototype pins setup should be. I just have to run the power directly from 3.3V pinout on Mega, and remove the 5V from this setup all together. Does that sound right?

    Mega has 2 different I2C ports, the one on pins 20 and 21 is the default one.

    You’re first photo is close, but you need to connect 3.3 volt and 5 volt power to the level shifter for it to work. The shifter won’t supply 3.3 volts on it’s own to the display.

    Hi Vasily, do you have your setup running by now (October 2021)?

    I can share you my very recent experience. I recently bought two SparkFun SerLCD’s RGB Qwiic displays: one LCD-16396 (16x2) and one LCD-16398 (20x4). The 20x4 I connected to an Arduino Uno WiFi Rev2. Also I bought two SparkFun BOB-12009 logic level converters. If one wants to connect an Arduino that has 5 Volt logic with an LCD like the above mentioned SerLCD’s, which have a 3V3 logic, one needs to use a logic level converter.

    I was able to control the SerLCD well. Text on the Display. Also able to control the color and the contrast of the backlight. I, like @YellowDog wrote, connected the 3V3 pin of the Arduino to the LV pin of the level converter and the 5V pin of the Arduino to the HV pin of the level converter. Not to forget one of the GND pins of the Arduino to both GND pins: one on the LV side, the other to the HV side. I connected the SDA pin of the Arduino e.g. to HV4, SCL pin of the Arduino e.g. to HV1.

    I used a 4-wire set that has a Qwiic male connector on one end and four male pins on the other end. The loose pins, RED wire to the HV pin of the level converter where is connected the 5V from the Arduino. The BLACK wire to the GND pin on the LV side of the level converter. The BLUE wire (SDA) e.g. to LV4 of the level converter. The YELLOW wire (SCL) e.g. to the LV1 pin of the level converter.

    This means that the LCD for the function of the light and the LCD segments is powered with 5V but the I2C logic levels on the LCD side are 3V level. Measurement with a Volt-Ohm-meter revealed that my setup, on the LV side of the logic level converter has I2C voltage levels of 3,75 - 4,01 V. But it is working. See the image.

    As sketch I first used the Example2-Backlight.ino from the SparkFun QwiicSerLCD repo on Github /Examples.

    I checked the I2C data stream with a simple logic analyzer (shown below in the image). I would like to hear how the status of your experiment is.

    https://i.imgur.com/ar3iY7N.jpg