I2c LCD wrong output on the display -Arduino Teensy

I'm just trying to print a string onto an LCD display (SparkFun 20x4 SerLCD - RGB Backlight Qwiic). The address of the i2c device is 0x72. I'm using an Arduino Teensy to communicate with the LCD display.

Pin Connections:
LCD - Arduino

  • GND - GND (pin 2)
  • RAW - 3.3V (pin 3)
  • SDA - A4 / SDA0 (pin 18)
  • SCL - A5 / SCL0 (pin 19)
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
int LCD_columns=20;
int LCD_rows=4;
LiquidCrystal_I2C lcd(0x72,LCD_columns,LCD_rows);  // Address, Columns, Rows

void setup(){
  Wire.setClock(10000);
  lcd.init();
  lcd.setCursor(0, 0);
  lcd.print("2");
}

void loop()
{
}

In the attached image lcd.init() just prints the characters up to the 11!! and when the lcd.print("2") is used it printed the random characters and also the 11!!. I'm not sure where to go from here, any help is greatly appreciated.

Printing other numbers provides the outputs:
1 - 11
2 - 11!!
3 - 1111
4 - 11AA
5 - 11QQ

it's very unlikely that this display will work with the default LiquidCrystal_I2C Library.

Download the right library and/or ask the vendor which library should be used

2 Likes

Please confirm the LCD power supply voltage.

Looks like this is the issue, found the right depository and is printing text fine. It just used the Wire library, not the LiquidCrystal_I2C. Thanks a million!

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.