Arduino pro mini I2C not working

With an UNO - 4 wires - +5, GND, SDA, SCL and 2 10k pullup resistors connected to +5, a simple 16x2 lcd display works as expected. Now substitute a pro mini for the UNO - the HELLO WORLD example produces only the letter H where it should be and nothing else. I have tried this with 2 new, pro minis with the same result. What am I missing?

There are several different versions of pro Mini with different locations of SDA/SCL. (A4/A5)

Are you connected to the correct pins?

How are you providing power to the UNO and the pro Mini?

I looked up the pin mapping for the pro mini and am using A4 & A5 for SDA and SCL. It's being powered from a regulated benchtop supply now until I get everything working, then it will be a 5v regulator on 12v battery.

My recommendations: Double check the ground connections. Weird stuff in a project is often due to ground problems. Check your solder connections for all 4 pins you soldered to the Pro Mini. Upload the blink sketch to the Pro Mini and observe it blinks on for 1 sec, off for 1 sec. If it blinks at a different rate, it could have a crystal other than 16MHz. Measure with a volt meter that you are getting 5V at the VCC pin on the Pro Mini. If they are new 5V/16MHz Pro Minis you need to make sure you weren't actually shipped 3.3V/8MHz Pro Minis.

Verified this is a 16mhz, 5v unit. Blink works fine. No solder or voltage problems.

With an UNO - 4 wires - +5, GND, SDA, SCL and 2 10k pullup resistors connected to +5, a simple 16x2 lcd display works as expected. Now substitute a pro mini for the UNO - the HELLO WORLD example produces only the letter H where it should be and nothing else. I have tried this with 2 new, pro minis with the same result. What am I missing?

I have seen another thread about another i2c lcd which freezes at "H.

Can you confirm that your sketch still works on a Uno?

What lcd library are you using and where did it come from?

Please post your sketch. The are plenty of “Hello World” examples from different libraries.

You're right. Just for kicks I tried this with 1.6.5 and 1.5.8 to no avail. Then I tried 1.0.1 and it worked fine with an UNO and Pro Mini. So I decided to be clever and moved the LiquidCrystal_i2c library from 1.0.1 over to 1.6.6 and now back to original problem.

So I need to know where to get a version that is for 1.6.6. Would appreciate your help.

This sketch

//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
   lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
   lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");
}


void loop()
{
}

works perfectly in 1.6.5 and fails in 1.6.6. In the 1.6.6 IDE got window that library updates were available so I did that for LiquidCrystal_i2c and it failed.

I will stay with 1.6.5 for now but would like to know where to go to get libraries updated for 1.6.6 that have been tested and work.

The best library to use with the i2c lcd is the fmalpartida library availalbe from bitbucket. It will replace the general liquid crystal library for parallel lcds as well.
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

You should install this library and take any other library named liquid cyrstal and place it it a folder away from the path that your sketch can finds to install libraries. Make sure you clean up the liquid crystal library that came with the ide as well as any you downloaded.

Then use the program i2clcd guesser guesser program attached below to determine the constructor to use with your backpack.
Read the instructions carefully.

i2cLCDguesser.ino (12 KB)

I appreciate the help but I’m confused. I replaced the library with the one you told me to get. It’s name is NewliquidCrystal. Both the hello world example and the guesser program have this statement at the top -
#include <LiquidCrystal_I2C.h> this doesn’t exist anymore. You told me to hide or eliminate it.

LiquidCrystal_I2C.h is a component of the NewLiquidCrystal library. You will see in my path that I have renamed the NewLiquidCrystal folder to Liquid Crystal.

#include <LiquidCrystal_I2C.h> should find it.

I have attached a screen shot of what is inside the library on my computer and the path to it.

The IDE and the library examples see only one library called Liquid Crystal and it shows in the user added libraries.

The original library called LiquidCrystal which came with the IDE I have now in a folder called Renamed_LC and it sits with the IDE libraries but is not seen.