Unknown 20x4 LCD - Now no library

I purchased this LCD some time ago and never had a use for it until now. My problem is that I can’t find any documentation for the serial/i2C interface. Does anybody recognize the board in the attached photo? Can you help me determine the pinout?

That looks like it may be a display sold by 'web4robot'.

Check out the 'Serial LCD 20x4 Blue White' here: http://web4robot.com/SerialLCD.html .

Don

floresta:
That looks like it may be a display sold by 'web4robot'.

Pretty close, except that the serial interface connector shown has only five pins, while the manual for the "web4robot" shows it to have six and is fully labelled. The other nine pin connector is for the keyboard.

The wrong number of pins (and a completely different PCB, albeit with similar markings) makes it a bit tricky. You may however be able to decipher the traces using that manual as a reference. What the manual (as so often happens) fails to adequately explain is (amongst other things) how you select I2C or serial mode.

I have two manuals that I downloaded some time ago. They are both dated 2008 and both show a pc board similar to the one in the original post. The two manuals are very similar, but not identical.

Don

SerialLCDCtrl(1).pdf (248 KB)

SerialLCDCtrl(2).pdf (244 KB)

Big thanks floresta! The SerialLCDCtrl(1).pdf manual was exactly what I need! Looks like web4robot LCDs have many different interfaces.

Now if only I had a compatible library.... :~

I've tried 6 different versions, and there are always gibberish characters. The library that seams to have been available at the time is not compatible with the modern IDE, so it won't even compile.

You really should look through some of the recent I2C LCD related threads even though they do not deal with your particular device.

When you do you will find references to a fairly universal library and to sketches that will help you determine the proper I2C address and constructor to use with the library.

Don

floresta:
You really should look through some of the recent I2C LCD related threads even though they do not deal with your particular device.

Indeed they do not, with the exception of some comments of bperrybap regarding these microcontroller-based backpacks on which he is presently working.

floresta:
When you do you will find references to a fairly universal library and to sketches that will help you determine the proper I2C address and constructor to use with the library.

Not actually relevant to this display. It does not use a constructor and its address is known (and alterable) according to the pdf documentation. It requires only the "wire" library (and arguably, a header file for function names); all other functions are contained in the backpack itself.

mmakay:
Now if only I had a compatible library.... :~

I've tried 6 different versions, and there are always gibberish characters. The library that seams to have been available at the time is not compatible with the modern IDE, so it won't even compile.

The old library doesn't work because the Arduino team decided to break 100% of the
existing 3rd party libraries when 1.0 was released by changing some of the core APIs.

The "trial and error" method is not a good problem solving technique.
It can be slow, frustrating, and in the case of low level h/w can potentially damage the hardware.
I'd recommend looking at the documentation, and then at the code and see if they match.
If the code is close but not quite a match make any potential needed fixes.

web4robot does have a library on its site (LCDI2Cw) that looks like should work with the command set in the documents
that Don provided.
I'd start with that.

--- bill