As I read blogs and articles about DIY electronics projects, I learn about gizmos that I want to gain first hand knowledge on.
One such are small LCD screens (not monitors !) which are available from many vendors. Following the Arduino tutorial, I discovered that many require up to 11 pins on the Arduino.
Sparkfun sells a serial LCD backpack that allows you to drive an LCD screen with just one pin (in addition to 5V and GND).
Since I wanted a minimalist solution, I didn’t use a microcontroller such as the Arduino but directly drove the serLCD from a (serial) USB connection. Sparkfun happens to sell the Breakout Board for FT232RL USB to Serial which allows a USB to serial communication using the (Windows, MacOS X or Linux) FTDI drivers (the same IC and drivers are used to on the Arduino Diecimilla).
The breakout board is easy enough to use. After clearing the solder jumper and tying the 5V output to VCCIO, the breakout board is configured for 5V power.
Next thing to do is to place the breakout board on a breadboard (after soldering two 8 pins headers to it), solder a wire to GND on the breakboard and tie it to one of the bus strip. Tie the VCC from a terminal strip to the other bus strip. At this point, you’ve exposed GND and VCC and TX is available on a terminal strip (Pin 1 of the FT232L breakout board).
Grab your serLCD enabled LCD screen, wire ground and VCC in and connect the LCD’s RX to the FT232L TX. Connect the breakout board to your computer via USB and the LCD should ‘boot’ up and wait for serial transmission. On a Mac, you’d type in a terminal something similar to:
screen /dev/usb.tty-FT232L 9600
and whatever you type will appear on the LCD. To leave screen, type ‘CTRL-a’ followed by ‘\’. Never unplug your USB serial device on a Mac before you’ve quit the application or freed the device in some way, you’d crash the USB drivers and no USB device would work until you reboot.
I got a lot more to say about this subject, how it ties to software like LCDSmarties (Windows) or LCDproc (Mac OS X, Linux), how an 8 bit or 4 bit LCD might work better, coupled with an Arduino, but I’ll leave this for next time.