USB Universal LCD backpack design
The goal of this project is to make a simple USB LCD backpack that can control common HD44780 character LCDs and larger graphical LCDs.
- Small backpack mounts behind most LCDs
- USB control for common 1x8, 1x16, 2x8, 2x16 ... up to 4x40 character displays and some graphic displays
- 3v3 and 5v LCDs
- FT232R breakout, all pins to a header
- 5volt backlight control with 500mA current limiter
The Universal LCD backpack is a dumb USB IO board, the computer does all the work of bitbanging data to the LCD. The back pack itself doesn’t have any intelligence and can’t control a display on its own.
This project is different than "smart" LCD backpacks that have a simple serial interface. Serial displays are easier to use, but the Universal LCD backpack is more flexible and potentially supports many different displays. We designed it with common chips (FT232, 74HC595) so the parts are inexpensive and readily available.
An FT232 provides the PC-side USB connection. The FT232's bitbang mode is used to send serial signals to the logic chips, and the logic chips put parallel output on the LCD pins. The 74HC595 is a more rugged interface to the LCD than the FT232 alone, and we get twice as many IO pins. The extra FT232 pins interface a backlight control with 500mA current limit.
The first batch is tested and available now. The first batch will have yellow PCBs and a 16pin header, future batches will be red and have no header.
The original schematic and demo application for the USB Universal LCD back pack were designed by MichaelZ. Thanks for a great project! This open source project was developed collaboratively in the forum. See it come to life here, and check out the design history and work-product on the wiki.
A FT232R USB->serial converter chip (IC1) is used in the less-common bitbang mode. It provides a USB connection to a computer, and controls the 74HC595s through a simple serial interface.
IC1 requires a direct connection to the USB supply. An internal 3.3volt regulator provides an extra 20mA, which can be used to power a 3.3volt LCD.
The I/O pins have a separate power supply. Jumper JP2 switches the IO voltage between the 3.3volt internal supply and 5volts so both types of LCDs can be interfaced at the correct voltage.
We included LEDs (LED1, LED2, R1, R2) on the FT232 received and transmit indicator pins (not shown). Every supply pin gets a 0.1uF decoupling capacitor (C2, C3,C4).
Be sure not to power the backlight with the internal supply! It can only provide a few mA for the interface!
Two 74HC595 logic chips (IC2, IC3) connect to the LCD at 3.3volts or 5volts. 7400-series logic chips are inexpensive, common, and durable. This is the same chip used in the Bus Pirate LCD adapter v2, read how it works.
In total there’s 16 I/O pins for controlling a multiple types of LCDs. Character LCDs need as few as 6 pins, while some graphics LCDs use 16 pins or more.
The 74HC595 chips are connected in series. The FT232 sends serial data into the first chip (IC2), which feeds the second chip (IC3).
The logic chip power supply is selected by JP2 (3.3volts or 5volts). Each chip gets a 0.1uf decoupling capacitor (C5, C6).
Up to 500mA at 5volts is available for the LCD backlight. Some backlights need a current limiting resistor, some don't. The backpack supports them all with a 100ohm potentiometer (R5).
A TPS2041B (IC4) limits the backlight current to 500mA, and also provides an on/off switch we can control from the FT232. Pin OC goes low to indicate an over current situation, the FT232 is connected to this pin so the host can detect the fault. OC is an open collector output and needs a 10K pull-up resistor (R4).
A second 10K potentiometer (R3) adjusts the LCD contrast.
Jumper JP1 selects the type of bias used for the contrast.
- Most normal LCDs use Vo as the bias voltage with JP1 set to ground
- Some LCDs use a bias current from Vee with JP1 set to Vee
Small surface mount parts (SOIC, SSOP, 0603) parts were used in this design. Nothing is particularly difficult to solder if you already work with SMD parts.
This list is temporarily unlinked, check our master partlist.
|F1||1||500mA poly fuse||1206L|
|JP1-2||2||0.1” MALE PIN HEADER 01X3||1X03-S|
|USB1||1||USB MINI-B SMD||MINI-USBB|
The latest software list and driver links are in the documentation.
Taking it further
Currently the Universal LCD backpack is supported by a simple demonstration application. There's lots of room for further development:
We'll post the most recent updates on the blog. Join the discussion in the [forum].
The USB Universal LCD backpack is now sold out.
Your purchases at Seeed Studio keep the open source project coming, we sincerely appreciate your support!