Having troubles finding the correct library for my 16x2 LCD.

I am seeking guidance after failing to get my LCD to function.
This is the LCD:

It is a 16x2 LCD.

I am using an arduino pro micro.
SDA -> 2
SCL -> 3
I've been reading other threads here, and used an I2C sniffer, and it told me the device's address is 0x3F. (Contrary to the seller's description.)
I am using the LiquidCrystal_I2C library, and have been getting strange results. Different commands do unexpected things. One test sketch I tried flashed the backlight very rapidly.
I have played with the contrast adjustment.

The controller IC is marked:
PCF8574AT
AQ1128.
1 17
kn04233

Any thoughts are greatly appreciated :slight_smile: !

Not all i2c LCD backpacks wire up the PCF8574 chip to the LCD the same way.
Most of the i2c backpack libraries, including the LiquidCrystal_I2C that is in the library manager, hard code the pin mappings.
If the library is using the incorrect pin mappings for connections between the PCF8574 chip and the LCD, it won't work.

I would recommend my hd44780 library package.
It includes support for i2c LCD backpacks that use the PCF8574 chip.
It will auto locate the i2c address and automatically detect the pin mapping used on the backpack.
It is available in the Arduino IDE library manager so you can install it directly from the IDE.
You can read more about it here: GitHub - duinoWitchery/hd44780: Extensible hd44780 LCD library

The i/o class for i2c LCD backpacks is hd44780_I2Cexp
I would recommend first running the included diagnostic sketch (I2CexpDiag) which will test the i2c connections and then test the internal RAM of the LCD.

-- bill