phoenixgarage.org

 Electronics: Solved: Lexmark/Optrex T612/T622 11K0627/11K0628 Display w/ Keypad and Control Panel
Posted on 2010-10-05 @ 08:37:57 by r00t - Read the parent: Lexmark/Optrex T612/T622 11K0627/11K0628 Display w/ Keypad and Control Panel

Great news! A reader by the handle of Enif, on the Eletro-Tech (new window) forums, apparently has solved not only the pinout, but also the I2C protocol/command set it uses to read the buttons and write to the display...


LCD Enclosure
Questions or Comments?

Read the parent of this article for more information, then click here to read the forum post (new window), which is reproduced below:

Posted by Enif @ http://www.electro-tech-online.com/ on October 5th, 2010 @ 06:40 AM

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...

A great big "Thank You!" to Enif for solving this issue! I had put the part on a "back burner" until I could get around to it... I'll probably have to pick up one of these "bus pirate" devices myself! They seem like something that would be useful in the future...

Share This Article

    

Questions or Comments?

If you have any questions or comments about this article, please contact me...

0 comment(s) posted
Post New Thread