Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Datasheet for Lexmark T612/T622 Optrex Display w/ Keypad and Control Panel

Status
Not open for further replies.

cr0sh

Member
All,

First post here - I'll keep it brief.

I picked up the described display from a local surplus supplier; it has a 5-pin interface on the back - this is an example of the display (not who I bought it from):

**broken link removed**

The 5 pin connector that you can see interfaces with a 20-pin (SOIC?) chip which I believe the part number is CA4632; leads from it go to the buttons and LED on-board, and also to an "epoxy blob" chip on the back. The LCD appears to a 20x2 display with no backlight, I am not sure.

I think the 5 pin connector is for power and perhaps serial communications, but once again, it is unknown. If anyone can help me find the spec sheet or the datasheet for this device, I would be grateful. I already have calls/emails into Optrex and Lexmark about the display, but I won't hear anything (if at all) until next week.

I have been lurking this forum for a few days now, after finding it via Google; I am a frequent contributor to the Arduino forums as well. I look forward to assisting when and where I can - thank you!
 
So far, some progress has been made - see the following article at my website (also spoke to a man today at Optrex, they seem helpful):

**broken link removed**
 
Last edited:
Hello cr0sh

Your post here and your website were helpful to me, since I also am trying to use this Lexmark/Optrex LCD to replace 44780 type parallel LCD in one of my AVR projects.

I was particularly happy that you confirm that it is indeed a I2C device and also that you give the pinout on your website. However, trying to hook up a I2C sniffer to the LCD of my Lexmark Optra S1650 according to your pin chart produced a nice spark! I should have used the Voltmeter first ;-) As it turns out, the pin description seems somehow upside down, at least when using the pin numbering on the LCD board. For me, the following is working now OK (note that 1-5 are reversed to 5-1):

1. FPIRQ (not yet really tested)
2. Ground
3. I2C Clock
4. +5V DC
5. I2C Data
6. No Connection (not soldered)

SO I thought that you might be interested if I share here my first test results. From using my new Bus Pirate (still learning how to use it...) in I2C sniffer mode gives me so far the following:

I2C Device adress of LCD is 0x21, i.e. 0x42 for writing, 0x43 for reading

Commands:
0x11 Request and read button state
Write [0x42+0x11+[0x43
Read 0x43: 0x11+<button>+0x5F-
where buttons 0x01=up 0x02=Select 0x04=Left 0x08=Right 0x10=Go 0x20=Stop

0x55 Send text to the LCD
Write 0x42+0x55+<charpos*8+line>+0x00+<numchar>+<char1>+...+<charN>+<xxx>
Read 0x43: 0x55+0x5F-
(I don't know what the last byte <xxx> means, is it a kind of checksum, or some indicator about the cursor...?)

Other command codes, in addition to 0x11 and 0x55, that are used with this LCD are:
0x77 (+ 9 bytes are sent, 0x77+0x5F- read)
0x88 (no parameters sent, 0x88+0x5F- read)
0x99 (no parameters sent, 0x99+0x5F- read)
0xAA (no parameters sent, 0xAA+0x54+0x71+0x5F- read)k
0xB0 (+ 3 bytes are sent, 0xB0+0x5F- read)
So far, I have not found out what these do.

As for the speed of the I2C, I had best results with 50kbit/s, but this might be more related to the bus pirate than to the LCD, who knows...
 
Your post here and your website were helpful to me, since I also am trying to use this Lexmark/Optrex LCD to replace 44780 type parallel LCD in one of my AVR projects.

I was particularly happy that you confirm that it is indeed a I2C device and also that you give the pinout on your website. However, trying to hook up a I2C sniffer to the LCD of my Lexmark Optra S1650 according to your pin chart produced a nice spark! I should have used the Voltmeter first ;-) As it turns out, the pin description seems somehow upside down, at least when using the pin numbering on the LCD board. For me, the following is working now OK (note that 1-5 are reversed to 5-1):

Wow! That's great news! I might have to pick up one of these "bus pirates" myself - as you can likely tell, I haven't done much with mine. I never got around to playing with mine any further, and I honestly thought it was going to be a near "lost cause". This is great news to hear; I'm going to update my website article with the news, with full credit to you, of course! Thank you for posting this...

:)
 
Hi, I just read your post and is very happy to see some answers to that nightmare LCD.

A very very good job was done and aI suppose it took lot of time.

I found some elements:
0x42 0x88 is a clear display command

0x42 0xB0 0X01 clear the front LED
0x42 0xB0 0X11 clear the front LED

Thats all I found.

I would like to know if you had time to investigate deeper and what you fiound in terms od LCD commands.

I am in the black and do not have chance to have a lexmark printer so it is a nightmare to find something more as you did.

The only thing I can say is that I tested these commands on a DMC 50461N and thez are OK.

On top, I always read zeros after any 0x42 followed by any of the commands you detected.

So, Please let me know if you can help

I spent wekks to find something without real success.
 
Hello cosinusix,

I am happy to see that someone else is interested in this LCD :)

Unfortunately, after having written that message, I have not done any more tinkering with my Optrex display. My testing essentially consisted in analyzing the I2C data exchanged between the display and the printer and trying to feed some of the sequences then manually to the display, in order to see if it does what I expect. I also vaguely remember that things did not all work as I expected, but then also I must say, that I have no prior experience with programming I2C devices, so I assumed that I had not understood yet all the details of that protocol...

I still have the hope of "some day" returning to this topic with the aim of integrating the Optrex display into one of my projects in order to replace the 44780 LCD which I use now. If ever I'll discover some new findings, I would post it in the forum.

For the moment, the only thing that I can offer you is the I2C trace generated by the bus pirate listening to the I2C communication between the Optrex LCD and my Lexmark Optra S printer. Since it's too long to include into the post I have uploaded it here. Maybe this helps you to better understand how the device is working...

If you make some progress, please keep us posted - thanks!

Best wishes,

Heinz
 
Well done

Folks,
first of all thanks, for the info collected.
I had such display module in my uC parts box for some time.
With your posts I was able to get the module running using Bus Pirate.

My module has part number C-51432N. Pins are: 2-GND, 3-SCL, 4-5V, 5-SDA.

A few things found in the tests so far:

- the module has SDA and SCL pulled up already
- it is essential to perform a read after some commands, otherwise the device is stalled
- I was not able to controll the LED with 0xB0 and I have not yet found a way...
- however read out of buttons with 0x11 worked in first tests
- at power up the device displays a diamond in each position, 16x2
- Clear 0x88 works fine, but I have to add at least one 0x00 before Read
- it is possible to write both lines with one long string​

Finally let me append the Bus Pirate dialog:
Code:
I2C>wW
Power supplies OFF
Power supplies ON
I2C>[0x42 0x88 0 0 [0x43 r:2]
I2C START BIT
WRITE: 0x42 ACK
WRITE: 0x88 ACK
WRITE: 0x00 NACK
WRITE: 0x00 NACK
I2C START BIT
WRITE: 0x43 ACK
READ: 0x88  ACK 0xF0
NACK
I2C STOP BIT
I2C>[0x42 0x55 0 0 0 "Hipp, Hipp, Hurra, und ein paar..." [0x43 r:2]
I2C START BIT
WRITE: 0x42 ACK
WRITE: 0x55 ACK
WRITE: 0x00 ACK
WRITE: 0x00 ACK
WRITE: 0x00 ACK
WRITE: "H ACKi ACKp ACKp ACK, ACK  ACKH ACKi ACKp ACKp ACK, ACK  ACKH ACKu ACKr
ACKr ACKa ACK, ACK  ACKu ACKn ACKd ACK  ACKe ACKi ACKn ACK  ACKp ACKa ACKa ACKr
ACK. ACK. ACK. ACK"
I2C START BIT
WRITE: 0x43 ACK
READ: 0x55  ACK 0x31
NACK
I2C STOP BIT
I2C>
 
Hallo Franz!

Great to hear that someone has made some further progress on this!!!

When I read in your message about the diamonds displayed at power-up,
it reminded me of one more piece of information about this device. It is
not related to the I2C interface, but maybe helpful to someone anyway...

When working with Lexmark Optra printers, I often had the problem that these
LCD displays started missing dot colums, so that the the displayed text became
only partly readable. The extent of the problem is best seen when at power-up
not all diamonds appear as they should. The problem most often happened with
printers that were not used for a longer period. Initially, I replaced such "bad" LCD
displays with with good ones from printers that had other hardware problems
- that's why I ended up with a box of these devices, but all with missing dot columns.

When my supply of "canibalizable" broken printers was exhausted, I started
to experiment how to "repair" the missing dot columns... It was soon quite
clear that these were due to bad contacts between the ribbon cable and the
LCD, which seem to be "glued" somehow. After quite some experimenting,
I was able to completely repair all missing dots on all "bad" LCDs using the
following method:

Heating up the LCD with the hot air gun until the LCD changes color, it gets
visibly darker. At that point LCD and PCB are quite hot, so that you have to
watch not to hurt your finger. Now use some pointed (but not cutting sharp!)
object to firmly press the contact ends of the ribbon cable onto the LCD glass
by sliding the object several times forth and back over the contacted.
(I used my woodden letter opener for this.) After cooling down I reconnected
the device - and all dots were displayed again like new.

Of course, this information is given without any warranty - if you try it, you
do so entirely at your own risk!

Good luck!

Heinz
 
FranzA wrote:
> - I was not able to controll the LED with 0xB0 and I have not yet found a way...

For me this work fine, here is how I do it:

Led ON:
Write to 0x42: 0xb0 0x11 0x25 0x25
Read from 0x43: 2 bytes

Led OFF:
Write to 0x42: 0xb0 0x01 0x25 0x25
Read from 0x43: 2 bytes

Led BLINK:
Write to 0x42: 0xb0 0x21 0x25 0x25
Read from 0x43: 2 bytes

No idea why the two last bytes (0x25 0x25) are needed or what they are good for,
but at least with this I can control the LED on the display.
 
Last edited:
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top