LCD with I2C

Dear friends - i bought an 16x2 LCD with I2C module.I read many articles and posts in this forum and i also looked at youtube but i found nothing - it just doesent work.Please i bet you someone give me the proper wireing up and some code so i can write something on this damn screen - i really need help for my new project.I also saw that Attiny85 also has SCL and SDA - does it mean that i can use the I2C LCD with the attiny - please help.

You can use an I2C scanner to see if the device is reachable.- -

You should check the wiring, do not forget to connect GND and +5V and a pull up on the SCL and SDA lines. 4K7 or so.

it just doesn't work is a very brief description. Do you have a type number, a datasheet , or a place where youordered it?

Do you have a voltmeter to check if the LCD gets its power?

Well, here is a good link to start with. :grinning:

here is a program I found when I first started with the I2C LCD.

/* Example Software Sketch
 16 character 2 line I2C Display
 Backpack Interface labelled "YwRobot Arduino LCM1602 IIC V1" */

/*-----( Import needed libraries )-----*/
#include <Wire.h>  // Comes with Arduino IDE
// Get the LCD I2C Library here: 
// Move any other LCD libraries to another folder or delete them
// See Library "Docs" folder for possible commands etc.
#include <LiquidCrystal_I2C.h>

/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

/*-----( Declare Variables )-----*/

void setup()   /*----( SETUP: RUNS ONCE )----*/
  Serial.begin(9600);  // Used to type in characters

  lcd.begin(16,2);   // initialize the lcd for 16 chars 2 lines, turn on backlight

// ------- Quick 3 blinks of backlight  -------------
  for(int i = 0; i< 3; i++)
  lcd.backlight(); // finish with backlight on  

//-------- Write characters on the display ------------------
// NOTE: Cursor Position: (CHAR, LINE) start at 0  
  lcd.setCursor(0,0); //Start at character 0 on line 0
  lcd.print("Hello, world!");

// Wait and then tell user they can start the Serial Monitor and type in characters to
// Display. (Set Serial Monitor option to "No Line Ending")
  lcd.setCursor(0,0); //Start at character 0 on line 0
  lcd.print("Use Serial Mon");
  lcd.print("Type to display");  

}/*--(end setup )---*/

void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
    // when characters arrive over the serial port...
    if (Serial.available()) {
      // wait a bit for the entire message to arrive
      // clear the screen
      int counter =0;

      // read all the available characters
      while (Serial.available() > 0)
        // display each character to the LCD
        char readchr (;
        Serial.println (readchr);
        Serial.println (counter);

        if (counter > 16) {
            counter = 0;}

        delay (1000);

}/* --(end main loop )-- */

/* ( THE END ) */

It worked for me.


yes but which library schould i download?

from the code in the post of weedpharma

// Get the LCD I2C Library here: //

Thank you - it works

Usually does.