My Projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
electronic:lcd:m299 [2023/03/04 20:51] – tonyelectronic:lcd:m299 [2026/09/26 08:29] (current) – tony
Line 2: Line 2:
 ^  LCD Description  || ^  LCD Description  ||
 ^Model|**LMCCAT299C**| ^Model|**LMCCAT299C**|
-^Manufacturer|[[https://www.npc.com.tw/j2npc/enus/prodcate/Electronic%20Material|NAN YA Plastics Corp]] (Taiwan)|+^Manufacturer|[[https://web.archive.org/web/20210411170952/https://www.npc.com.tw/j2npc/enus/prodcate/Electronic%20Material|NAN YA Plastics Corp]] (Taiwan)|
 ^Recovered from|Wayfarer TGX 13722 ((Wayfarer Transit Systems Ltd, England))| ^Recovered from|Wayfarer TGX 13722 ((Wayfarer Transit Systems Ltd, England))|
 ^Board IDs|M299- Rev.A, D36072B1J, M299-GA, 36171103M336, LMCCAT299C| ^Board IDs|M299- Rev.A, D36072B1J, M299-GA, 36171103M336, LMCCAT299C|
Line 10: Line 10:
 ^Rows|128 pixels| ^Rows|128 pixels|
 ^Char matrix|6x8| ^Char matrix|6x8|
-^Driver IC|T6963C|+^Driver IC|[[: electronic:datasheet:toshiba|T6963C]]|
 ^Backlight|yellow-green| ^Backlight|yellow-green|
 ^Arduino driver|U8g2lib.h| ^Arduino driver|U8g2lib.h|
Line 42: Line 42:
  
  
-From a photo of the T6963C pins 3,6,7,9 are tied together, it is not apparent whether they go to Vdd or Vss.  If it is Vss then maximum vertical resolution would be 64 v-dots, which seems a bit small for a 95mm high display, so I'll assume they're all tied to Vdd.+From a photo of the T6963C pins 3,6,7,9 are tied together, it is not apparent whether they go to Vdd or Vss.  If it is Vss then maximum vertical resolution would be 64 v-dots, which seems a bit small for a 95mm high display, so I'll assume they're all tied to Vdd (confirmed by Markus).
 ^Display size selectors (hard wired)||| ^Display size selectors (hard wired)|||
 ^Pin#^IC pin^Value| ^Pin#^IC pin^Value|
Line 50: Line 50:
 ^MD1|5|0| ^MD1|5|0|
 => 80 to 128 vertical dots, from the physical size most likely 128 (16 lines of characters).\\ => 80 to 128 vertical dots, from the physical size most likely 128 (16 lines of characters).\\
-128 is now confirmed from looking at a sample of these displays.+128 is now confirmed.
  
 ^Display size selectors (hard wired)||| ^Display size selectors (hard wired)|||
Line 57: Line 57:
 ^MD3|7|1| ^MD3|7|1|
 =32 character columns (or this would give 80 columns if they're tied low, a bit excessive for this width display and not enough control chips to handle it).\\ =32 character columns (or this would give 80 columns if they're tied low, a bit excessive for this width display and not enough control chips to handle it).\\
-32 is now confirmed from looking at a sample of these displays.+32 is now confirmed.
  
 ^Display font size selectors||| ^Display font size selectors|||
Line 64: Line 64:
 ^FS1|9|1| ^FS1|9|1|
 not sure what FS0 connects to, if Vdd then 5x8 font => 160 horizontal dots, if Vss then 6x8 font =>192 horizontal dots (but again not enough control chips to handle it).\\ not sure what FS0 connects to, if Vdd then 5x8 font => 160 horizontal dots, if Vss then 6x8 font =>192 horizontal dots (but again not enough control chips to handle it).\\
-FS0 apparently does connect to Vss,  from looking at a sample of these displays, which would imply that it is 192 dots wide. +Markus confirms FS0 is connect to Vss, 6x8 font => 192 dots wide.  But there are not enough driver chips to handle more than 160 columns, so the above analysis is wrong.  From the t6963 datasheet the scanning frequency is independent of font width. 
-There are not enough driver chips to handle more than 160 columns, so the above analysis is wrong.  From the t6963 datasheet the scanning frequency is independent of font width. +So I must conclude that we have only 160 dots across to play with as the driver chips can't handle more. 
-Anyway I must conclude that we have only 160 dots across to play with as the driver chips can't handle more. + 
-\\+A photo of a similar display in a Wayfarer TGX150 shows a text display of 27 columns by 16 rows of 7×8 characters. Actually 26 columns plus 4 pixels wide, so we have a 160 x 128 pixel display.  
 +  
 +{{electronic:lcd:wayfarer-tgx150-standalone-bus-ticket-machine-printing-tickets-a.jpg|Example of similar display installed in a TGX150}} 
 +|web.archive.org/web/20210119204556/https://www.picclickimg.com/d/w1600/pict/154290931017_/Wayfarer-TGX150-Standalone-Bus-Ticket-Machine-Printing-Tickets.jpg 
 + 
 +It turns out, that with the T6963C controller, the graphics pixel addressing mirrors the text rendering display buffer addressing.  A side effect is that in graphics mode it is also only displaying the same number of bits per byte as for displaying text.  So if the display is set to 6 bit (pixel) wide characters, it also only displays 6 bits of every byte in graphics mode.  Anyway the U8G2Lib expects T6963C based displays to have 8x8 font set, so short of re-writing the appropriate U8G2 Library, we need to switch this to 8x8 fonts by tying FS1 to ground.  Markus informs me that we need to lift this pin, rather than just cutting tracks, and then connect it to Vss (to Pin 8, FS0).  
 \\ \\
 ===== Additional info ===== ===== Additional info =====
   * Chips on board: T6963C, T6A39A (x2) T6A40 (100pin)  (x2) , 74HC40103D, 74HC74D, BA10324AF, MT62C256F-70LL   * Chips on board: T6963C, T6A39A (x2) T6A40 (100pin)  (x2) , 74HC40103D, 74HC74D, BA10324AF, MT62C256F-70LL
   * Similar to OCM160128-1   * Similar to OCM160128-1
-  * {{https://www.npc.com.tw/j2npc/enus/proddoc/Liquid%20Crystal%20Display%20%28%20Graphic%20module%20%29/LCD%20shortform%20%28Mono%20module%29?docid=F000000520&pdid=F00000052|Nan Ya Mono Graphic LCD list}}+  * Similar to [[https://www.sparkfun.com/datasheets/LCD/DS-G160128STBWW.pdf|Di-Star DS-G160128STBWW]] 
 +  * [[https://web.archive.org/web/20200107220929/http://www.npc.com.tw/j2npc/enus/proddoc/Liquid%20Crystal%20Display%20(%20Graphic%20module%20)/LCD%20shortform%20(Mono%20module)?docid=F000000520&pdid=F00000052|Nan Ya Mono Graphic LCD list]] 
 +  * Explanation of difference in U8GLib and U8G2Lib parameters [[https://github.com/olikraus/u8g2/issues/169]] for T6963 displays
  
 +\\
 ---- ----
-===== Examples : =====+===== Examples =====
  
 {{:electronic:lcd:m299.jpg?800|LMCCAT299C front}} {{:electronic:lcd:m299.jpg?800|LMCCAT299C front}}
Line 86: Line 95:
 |{{:electronic:lcd:.jpg?200|LMCCAT299C pixel layout}} |{{:electronic:lcd:.jpg?200|LMCCAT299C pixel layout}}
 |{{:electronic:lcd:.jpg?800|LMCCAT299C circuit}} |{{:electronic:lcd:.jpg?800|LMCCAT299C circuit}}
- 
-  * [[https://www.picclickimg.com/d/w1600/pict/154290931017_/Wayfarer-TGX150-Standalone-Bus-Ticket-Machine-Printing-Tickets.jpg|Example of similar display installed in a TGX150]]