I have a 640x200 monochrome display from a HP 200LX palmtop computer. On its PCB I can see two types of ICs: HD66204TFL and HD66205TFL from Hitachi.

Here is its schematic (it has 200 px not 240 as in schematic) from datasheet: enter image description here

Here is the protocol (from datasheet):

enter image description here

enter image description here

I figured it out that CL2 is the highest frequency clock. At every falling edge of this clock 4 pixels in a column are selected and they output according to D0-4. So it has 160 cycles for a full row.

CL1 falling edge selects a row so it must have 200 cycles for filling the display, one cycle (falling edge) at the end of every 160 cycles of CL2.

I can't figure out what FLM and M do. As far I understood they both mark a new frame. And it needs both signals ?

So my display needs a 4 bit data port and 4 clocks and DISPOFF connected to GND.

So far all I could find on the internet (similar displays but not this one):

  1. I read somewhere (don't know where) that this protocol is called LCD Timing Controller.
  2. http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=49684
  3. http://mikestirling.co.uk/2009/02/mono-stn-display-on-an-avr32-ap7000/
  4. http://www.mikrocontroller.net/topic/92704#new

And could this display be controlled by Arduino? I don't have one (yet) so for my experimets I will use PC parallel port (the 8 bit DATA port) on Ubuntu (I've successfully used it before for I2C with Claudio Lanconelli's EasyI2C and software implementation written by me in Qt C++ for reading an I2C EEPROM and controlling a RF Modulator).

Any help is appreciated!


Note that (unlike the LCD that you used via I2C) this is a typical controller-less LCD: it expects (needs!) a constant stream of data to work properly. 640x200 bits = 16000 bytes. Do you have that amount of RAM to spare? If so, the next problem is whether you can drive the signals at sufficient speed. Probably doable, but not easy. Might require assembly or very careful C/C++. Analyze the datasheet to find out how fast you must drive the LCD.

The M signal inverts the polarity of the drive to the LCD, to avoid a DC aspect in drive signal, which would destroy the LCD.

  • \$\begingroup\$ 16 kbytes - that's why I'm using my PC for testing. When you said drive signal you were referring to FLM? \$\endgroup\$ – Cornelius Apr 22 '14 at 19:41
  • \$\begingroup\$ In the datasheet says M: Changes LCD drive outputs to AC. but I don't understand what that means. So I should switch M level everytime FLM is high? \$\endgroup\$ – Cornelius Apr 22 '14 at 19:52
  • 1
    \$\begingroup\$ Yes, flip M at the start of every frame. Don't try to read too much in the text of such data-sheets, they are typically translated from Chinese at or below google-translate quality. \$\endgroup\$ – Wouter van Ooijen Apr 22 '14 at 21:09
  • 1
    \$\begingroup\$ That might put you in even a better chance to understand it ;) (Hey, where is that comment I respond to?) \$\endgroup\$ – Wouter van Ooijen Apr 22 '14 at 21:11
  • \$\begingroup\$ I will update this page when I will succeed writing (drawing) Hello world! on it. Sorry for deleting that comment but I thought it was offtopic. \$\endgroup\$ – Cornelius Apr 22 '14 at 21:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.