USB 13700
usb controller board

disclaimer / info:

DISCLAIMER:
THIS IS EXPERIMENTAL SOFTWARE AND HARDWARE. USE AT YOUR OWN RISK. THE MAINTAINER(S) OF THESE PAGES AND THE DEVELOPER(S) OF SOFTWARE AND HARDWARE PRESENTED ON THESE PAGES CAN NOT BE HELD LIABLE UNDER ANY CIRCUMSTANCES FOR DAMAGE TO HARDWARE OR SOFTWARE, LOST DATA, OR OTHER DIRECT OR INDIRECT DAMAGE RESULTING FROM THE USE OF THIS SOFTWARE OR HARDWARE. IF YOU DO NOT AGREE TO THESE CONDITIONS, YOU ARE NOT PERMITTED TO USE OR FURTHER DISTRIBUTE THIS SOFTWARE OR TO USE ANY TEMPLATES FOR BUILDING HARDWARE PRESENTED HERE.

USB13700 controller board:

description

the USB 13700 controller board is developed by www.lcdinfo.com and is supported by serdisplib since version 1.97.9.
[usb13700 circuit view]
(image taken from product page)
specifications
resolution all resolutions provided by controller S1D13700, max. resolution: 640x240
colours monochrome
controller Epson S1D13700
adjustable contrast no     (not via software but Vadj (contrast voltage) is adjustable)
supported since serdisplib 1.97.9
name in serdisplib "USB13700"       (example: serdisp_init(sdcd, "USB13700", ""); )

some images

top ^

connecting the USB13700 controller board:

intro

the controller board is not claimed by any standard kernel module and no kernel module providing ioctl is existing yet. thus only libusb is supported at the moment.

NOTA BENE!

libusb-support might not be enabled!

because USB13700 support requires libusb it has to be enabled using

./configure --enable-libusb

when compiling the library.

ready-made packages (rpms, ...) usually are already compiled with libusb-support.

libusb

examples
configuration in lcd4linux
 Display SerDispLib {
   Driver 'serdisplib'
   Port 'USB:16c0/08a2'
   Model 'USB13700'
 } 
configuration in graphlcd
 [serdisp]
 Driver=serdisp
 Device=USB:16c0/08a2
 Controller=usb13700
calling test program testserdisp
 testserdisp -n usb13700 -p 'USB:16c0/08a2'
 testserdisp -n usb13700 -p 'USB:16c0/08a2' -o 'WIDTH=640;HEIGHT=200'
top ^

passing options through serdisp_init():

intro

using the third parameter of serdisp_init(), driver specific options and custom wiring can be set.
common information about passing options and customisable wiring can be found in a separate document.
    examples:

      serdisp_init(sdcd, "USB13700", "INVERT=YES;ROTATE=90");
      serdisp_init(sdcd, "USB13700", "FPSHIFT=1");
    

options

identifiershortremarkdefault
ROTATEROTrotate display (1 == 180 degrees)0
INVERTINVinvert display0
BACKLIGHTBGswitch background light on or off0
WIDTHWwidth of display in pixels0 (=auto)
HEIGHTHheight of display in pixels0 (=auto)
DISPCLKDIVDISPCLKclock frequency 1)0 (=auto)
FPSHIFTDIVFPSHIFTS1D13700 internal divider 2)-1 (=auto)
TCRCRDIFFTCRCRfine tuning of frame frequency 3)0 (=auto)

ranges, aliases

identifierrangealiases
ROTATE0, 1, 90, 180, 270YES=180, NO=0, TRUE=180, FALSE=0
INVERT0, 1YES=1, NO=0, TRUE=1, FALSE=0
BACKLIGHT0, 1YES=1, NO=0, TRUE=1, FALSE=0, ON=1, OFF=0
WIDTH0 - 640AUTO=0
HEIGHT0 - 240AUTO=0
DISPCLKDIV0, 10AUTO=0
FPSHIFTDIV-1 - 2AUTO=-1
TCRCRDIFF0 - 253AUTO=0,DEFAULT=1
1) clock frequencies:
0auto (stored value requested from controller board)
115 MHz
210 MHz
37.5 MHz
46 MHz
55 MHz
64.29 MHz
73.75 MHz
83.33 MHz
93 MHz
102.73 MHz
2) S1D13700 internal divider:
-1auto (stored value requested from controller board)
04:1
18:1
216:1z
3) fine tuning of frame frequency:
  • must be > 2
  • maximum value: 253 - WIDTH / 8
  • if value is 0 (=auto): stored value is requested from the controller board

storing options

the following options are changed in the flash memory of the controller board if one of these differs from the values stored in the flash memory:
  • WIDTH
  • HEIGHT
  • DISPCLKDIV
  • FPSHIFTDIV
  • TCRCRDIFF
once flash memory has been updated the values are automatically fetched by serdisplib. setting these options in serdisplib is no longer required afterwards (if these options are given and do not differ from the values stored on the controller board they'll be simply ignored).

important: only change WIDTH and HEIGHT. the other options (DISPCLKDIV, FPSHIFTDIV, and TCRCRDIFF) don't need to be changed in most cases.

top ^

wiring diagrams for certain controller-less displays:

Seiko G648D

  • resolution: 640x200 monochrome
  • backlight: no
  • this description works for me. there's absoletely NO guarantee that it'll work elsewhere.
    LCD    | USB13700 generic  |
   G648D   | display connector | remark
-----------+-------------------+--------------------------------------------
   D3   1  |   8  FPD3         | 
   D2   2  |   7  FPD2         |
  FLM   3  |   1  FPFRAME      | FLM: One-frame timing signal
    M   4  |  13  MOD          |   M: Liquid crystal AC drive control signal
  CL1   5  |   2  FPLINE       | CL1: One-common-line timing signal
  CL2   6  |   4  FPSHIFT      | CL2: Display data shift clock
   D1   7  |   6  FPD1         |
   D0   8  |   5  FPD0         |
  VDD   9  |  11  +5V          |
  VSS  10  |   9  GND          |
  VLC  11  |  15  VEE          | according to data sheet: -24V, see 1)
   Vo  12  |  16  VADJ         | lower than VLC, see 1)
  INH  13  |  14  /DISPOFF     |
 FGND  14  |  10  GND          |
    
1) finding working values for VLC and Vo:
  • setting VLC (VEE) to -24V and Vo (VADJ) to a lower value nearly resulted in a blown on-board variable voltage regulator (the one next to VEE potentiometer) - it started to smell and became very hot.
  • finding the correct values is rather tricky but after some fiddling around i've been successful with setting both VLC and Vo to a value around -17.3V.
  • beware: always keep an eye on the variable voltage regulator. if it starts to smell lower VEE or VADJ immediately! if this doesn't help: disconnect the board!

Samsung / Samtron 0150Z

  • resolution: 320x240
  • backlight: yes
  • clock frequency: >= 7.5MHz (option DISPCLKDIV needs to be 3 or less. best not to be changed at all (default setting of the board should be OK anyways)).
  • this description works for me. there's absoletely NO guarantee that it'll work elsewhere.
    LCD    | USB13700 generic  |
   0150Z   | display connector | remark
-----------+-------------------+--------------------------------------------
   YD   1  |   1  FPFRAME      | YD = FLM
   WF   2  |  13  MOD          | WF = M = MOD
   LP   3  |   2  FPLINE       | LP = CL1
XSCL1   4  |   4  FPSHIFT      | XSCL1 = CL2
  INH   5  |  14  /DISPOFF     | INH = DISPOFF
  XD0   6  |   5  FPD0         |
  XD1   7  |   6  FPD1         |
  XD2   8  |   7  FPD2         |
  XD3   9  |   8  FPD3         |
  +5V  10  |  12  +5V          |
  GND  11  |   9  GND          |
 VLCD  12  |  15  VEE          | according to data sheets: -21V
   Vo  13  |  16  VADJ         | less than VEE (some value around -17.5V, trial and error)
 FGND  14  |  10  GND          | GND
    

Toshiba TLX 1342-G3B

  • resolution: 640x200
  • backlight: yes
  • this description works for me. there's absoletely NO guarantee that it'll work elsewhere.
     LCD     | USB13700 generic  |
TLX 1432-G3B | display connector | remark
-------------+-------------------+--------------------------------------------
    GND   1  |   3  GND          |
      M   2  |  13  MOD          | required for my display  1)
  FRAME   3  |   1  FPFRAME      | 
   LINE   4  |   2  FPLINE       | 
  SHIFT   5  |   4  FPSHIFT      | 
    GND   6  |   9  GND          |
    FD0   7  |   5  FPD0         | 2)
    FD1   8  |   6  FPD1         | 2)
    FD2   9  |   7  FPD2         | 2)
    FD3  10  |   8  FPD3         | 2)
    GND  11  |                   | short-wired with 6 (GND)
    +5V  12  |  12  +5V          |
   Vadj  13  |  16  VADJ         | -17V to -19V contrast (according to web search) 3)
    VEE  14  |  15  VEE          | -21V (according to web search) 3)
    GND  15  |  10  GND          | GND
    
1) some descriptions found on the net say 'not connected' for PIN 2 but this would definitely not work for my display.
2) FP0 to FP3 are twisted on descriptions that i've found on the net but this would result in a distorted output.
3) VEE=-21V works fine for me. Vadj is trial & error
top ^

links:

datasheets, product infos
USB13700 product page of USB 13700 module (english) http://www.lcdinfo.com/products/usb13700.html
top ^

history:

2010-02-20 moved description to serdisplib pages
2009-07-13 added Toshiba TLX 1342-G3B
2009-07-07 added Samsung 0150Z
2009-07-06 added Seiko G648D
2009-07-04 start with documentation (in SVN/trac)
top ^

design by wolfgang astleitner, (C) 1998 - 2010