Table of Contents

Get rid of your printer port adapter now!

The LCD2USB is a cheap do-it-yourself interface to connect HD44780 based text lcd displays via USB. LCD2USB is cheap and consists of easy-to-obtain parts only. The interface has been tested with 2*16, 2*20, 4*20, 4*27 and 4*40 displays and supports software adjustable contrast and backlight as well as dual controller displays (required for 4*27 and 4*40).

It is based upon the AVR USB implementation. This is a pure software implementation of the USB protocol for the Atmel AVR microcontroller series.

The whole interface incl. the hardware layout is under a GPL like license. This means that you can take these schematics and use it as a basis for your own interface e.g. for a graphic LCD.

Display Section

Display <name> {
    Driver     'LCD2USB'
    Size       '<string>'
    Bus        '<string>'
    Device     '<string>'
    Contrast   <number>
    Brightness <number>
    Icons      <number>
    asc255bug  <0|1>
}

Parameters

Driver'LCD2USB'
Size<column>x<rows> example '16×2'
BusBus name as displayed during USB scan (e.g. '003'). Only required when using multiple LCD2USB interfaces.
DeviceDevice name as displayed during USB scan (e.g. '004'). Only required when using multiple LCD2USB interfaces.
Contrastinitial contrast value, 0..255 (useful range depends on the display)
Brightnessinitial backlight brightness, 0..255
IconsNumber of user-defined chars reserved for Icons (default: 0)
asc255bugset to 1 if you don't get solid blocks in bars, but an a wire character

Examples

Display LCD2USB {
    Driver     'LCD2USB'
    Bus        '003'
    Device     '004'
    Contrast   250
    Brightness 200
    Icons      1
}

Plugins

The driver provides the following functions:

LCD::contrast(n)set contrast to n (0..255, range depends on the display)
LCD::brightness(n)set backlight brightness (0..255)

Buttons

The driver includes routines to read the button states, but at the moment (lcd4linux-0.10.1-CVS) there is no support for buttons in the framework.

According to https://ssl.bulix.org/projects/lcd4linux/wiki/widget_keypad the keypad widget of LCD4Linux-0.10.1-RC1 supports the buttons of LCD2USB.