USB Universal LCD backpack design

From DP

Jump to: navigation , search

Attach.jpg

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

Contents

Overview

Uni-usb-lcd-overview3.jpg

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.

Usb-uni-lcd-diagram.png

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.

Hardware

Usb-lcd-cct.png

Click for a full size schematic image. Schematic and PCB were designed with the freeware version of Cadsoft Eagle, download the latest project files from our Google Code project page.

FT232R

Uni-usb-lcd-ft232-diagram.jpg

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!

74HC595

Uni-usb-lcd-74hc595-diagram.jpg

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).

Backlight

Uni-usb-lcd-backlight-diagram.jpg

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).

Contrast

Uni-usb-lcd-VEE-diagram.jpg

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

PCB

Uni-usb-lcd-front.jpg

Uni-usb-lcd-back.jpg

We used the freeware version of Cadsoft Eagle to make the schematic and PCB. Download the latest designs and firmware from the project Google Code page.

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.

Partslist

Usb-lcd-pcb.png

This list is temporarily unlinked, check our master partlist.

PartQuantityValuePackage
C1110uFSMC_A
C2-C650.1uF0603
F11500mA poly fuse 1206L
IC11FT232RLSSOP28
IC2,IC3274HC595SO16
IC41TPS2041BSOT-23-5
JP1-220.1” MALE PIN HEADER 01X31X03-S
LED1-22LED0805
R1-R22270R0603
R3 110K potentiometerBP25P
R4110K0603
R51100R potentiometerBP25P
USB11USB MINI-B SMDMINI-USBB

Software

Ft232-LCD-test-app.png

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].

Get one!

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!

Links