This driver supports the serial and USB interface alphanumeric display modules by Crystalfontz.


The USB versions simply use an USB-to-serial called FTDI_SIO (not pl2303), and use the same protocol as on the serial port. So you just have to change the Port entry in the config file to get them to work.

The driver fully supports the text, bar and icon widgets.

All the cool features of the newer displays (GPO's, PWM outputs, temperature and fan speed measurement, …) are supported by the driver.

Display <name> {
    Driver    'Crystalfontz'
    Model     <string>
    Port      <string>
    Speed     <number>
    Contrast  <number>
    Backlight <number>
    Icons     <number>

Modelsee below
Portserial device the display is attached to (e.g.'/dev/ttyS2')
Speedthe baud rate from the display must match this value. Possible values are 1200, 2400, 4800, 9600, 19200, 38400 and 115200
Contrastinitial contrast value, 0..255 (range depends on the display)
Backlightinitial backlight brightness, 0..100
IconsNumber of user-defined chars reserved for Icons (default: 0)

The driver supports various different Crystalfontz displays, which can be selected with the Model parameter:


Displays with the old protocol 1 are serial displays only. The newer ones (2 and 3) come with serial and USB interfaces. They support display autodetection, you can try to omit the 'Model' parameter.

If you get a blank display when running LCD4Linux, play around with Contrast an Backlight values. Some users reported that using Contrast 85 and Backlight 30 works very good…

Display CF631 {
    Driver   'Crystalfontz'
    Model    '631'
    # Recent versions of 2.4 and 2.6 kernels use '/dev/ttyUSB0'
    Port     '/dev/tts/USB0'
    Speed     115200
    # Range from 0-255. Datasheet suggests 90 as 'about right'
    Contrast  90
    # Range from 0 = off, 1-99 = variable, 100 = Full on.
    Backlight 100
    Icons     1
Display CF632 {
    Driver 'Crystalfontz'
    Model  '632'
    Port   '/dev/tts/0'
    Speed   19200
    Icons   2
Display CF633 {
    Driver   'Crystalfontz'
    Model    '633'
    Port     '/dev/tts/0'
    Speed     19200
    Contrast  16
    Backlight 50
    Icons     4
Display CF635 {
    Driver   'Crystalfontz'
    Model    '635'
    # This is using linux kernel 2.6.x and the future tech serial->usb driver
    Port     '/dev/ttyUSB0'
    Speed     115200
    # Use some sane values here for backlight vs contrast.  
    # too little contrast with not enough backlight won't show anything
    # 20 is simply a value I chose during testing, and one that you don't have to use.
    Contrast  85
    Backlight 20
    Size    '20x4'
    Icons    8

The driver provides the following functions (depends on the display model):

LCD::contrast()return current contrast setting
LCD::contrast(n)set contrast to n (0..255, range depends on the display)
LCD::backlight()return current backlight setting
LCD::backlight(n)set set backlight off (0) or on with brightness (1..100)
LCD::fan_pwm(n)return value of fan PWM output number n (1..4)
LCD::fan_pwm(n, v)set fan PWM output n (1..4) to value v (0..100)

Fixme: other cool features (fan rpm measurement, temperature measurement are currently not implemented!


As of Feb. 2006 CVS, keypad on the 635 is supported.

  • crystalfontz.txt
  • Last modified: 2020/07/17 18:33
  • (external edit)