Instead of using discrete LEDs as indicators in a design, you might consider opting for a display that can present anything from basic alphanumeric information to full-color graphic images. Several kits now make it easier to connect different types of displays to a PC and run them through tests. To find out what these kits can do, I obtained several, ran the demo software, and exercised them independently. All kits came with serial-port connections that attached to my Windows 98SE lab computer. Most embedded-computer boards provide serial ports, so interfacing them to a display module should be a snap. Software and command sets, though, present challenges. Except for a few kits, most lacked any sample code written in C, Visual Basic, or other languages to help users determine what they would need to include in an application to make a display work.
Ease of Use
Parallax G12023 Graphic LCD $109
||Good display for its size. Quick setup. Simple interface accepts either TTL or RS-232C voltages. Helpful demo programs.
||Commands are easy to interpret and use. The BS2 computer provides an excellent way to put the display through a series of tests.
||Good in systems that need only a few lines of characters and simple monochrome graphics. Excellent in portable equipment.
||Graphics limited by the pixel count, but that's inherent in any small display.
||Almost any serial output-port can control this display. The Parallax BS2 computer simplified testing.
Cybernetic Micro Systems CYB-308 LED Display Kit 8 chip $245
||Bright display for up-close applications.
||Easy setup, but difficult to figure out how to use commands to control the display. If an application needs this type of display, but not a serial interface, choose something else.
||This type of display will work if you need only characters and a few special symbols.
||No graphics. Smart display modules are expensive. The manual glosses over or ignores display-module features.
||If you want to use smart display modules, buy them from Agilent Technologies and do the integration yourself.
Noritake GUD 3000 ($288), GUD 7000 ($175) Graphic Development Kits
||Crisp, clear, easy-to-read display. Large characters and a good user interface. I/O ports on the GUD 3000 display provide unexpected flexibility.
||Easy to use and control. Top contenders if you need bright monochrome displays of text and graphics.
||A good match for combining graphics and characters. Viewports provide small areas you can control independently.
||Once in a while the user interface caused errors that forced a software restart. That limitation relates to the supplied software, not to the display.
||The manual on the accompanying CD-ROM suffers from poor organization and lack of an index.
Cybernetic Micro Systems CYB-003 Complete Starter Kit $595
||Good use of high-level commands. Kit accepts several display types. An array of predefined viewports sets up separate regions for text or graphics.
||Easy setup using software that shows examples of kit options. The manual can seem overwhelming, though.
||An excellent way to control a large LCD without having to develop much software.
||Supplier offers a free limited-capability version of its CyberCom software. Users must buy the complete package at extra cost.
||I liked the CyberCom software and the availability of I/O lines on the module. Sample code seems dated, though. It runs on an old 8051 CPU.
Amulet Technologies Easy GUI 5.7" Starter Kit $399
||HTML coding simplified development of display data. Combining graphics and a touch screen makes for a powerful display system.
||Setup goes smoothly and test displays come up right away. Using the HTML complier takes getting used to, but error messages help find and correct any coding problems.
||A great package for applications that must combine graphics and accept user input through a touch screen. The innovative use of HTML coding lets developers quickly set up complex displays and controls.
||Web-page design may take getting used to, but software provided does most of the work. Could cause a steep learning curve for someone without some exposure to HTML.
||Lots of sample code and examples will make this display system a hit. An HTML reference book will help users who have not designed Web pages.
EarthLCD.com ezLCD Evaluation Kit $199
||Full-color LCD will suit many needs.
||Supplied software has limited use. I wrote a Visual Basic program to exercise display commands and options.
||A nice display, but your software will have to keep track of many details.
||The small set of commands can add overhead to your application software. The display-controller firmware should offer more commands.
||A nice display, but the kit seems more a work in progress than a finished unit ready for engineers to evaluate. The company supports a discussion group on Yahoo.
G12032 120x32 Graphic LCD&?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />&o:p>&/o:p>
Summary: A good basic display that combines graphics and characters. The module's simple interface makes it easy to control with an embedded system. &o:p>&/o:p>
Analysis: This backlit display provides a 120 X 32-pixel area (2.3 X 0.6 inches) that will suit applications in handheld equipment, industrial controls, and similar devices. The display uses ASCII commands and its serial input accepts either ±10-V RS-232C or 5-V TTL signals. When first powered, the LCD runs through a visual self-test to show it works.&o:p>&/o:p>
Although the G12032 module will run directly from a PC's serial port, my tests used a BasicStamp BS2 computer module, also provided by Parallax The BS2 computer came with several demo programs from which I extracted code for my own experiments. After developing command sequences on the BS2 it would take little time to move them to another embedded controller.
Descriptions of the control commands seem complete and they include a helpful table of ASCII control codes and the corresponding keystrokes that create them. The display offers four or two lines of text with either 10 or 20 characters per line, depending on the font size you choose. The display responds to the carriage-return (CTRL-M) and line-feed (CTRL-J) characters to position text on a following line.
Graphics instructions use "escape sequences," such as "ESC P, x, y" that plots a pixel at point x, y. This instruction, and a few others, let me plot signal waveforms on the display. At first, I couldn't get the display to plot properly. The table of graphic commands shows the sequence of instructions, but it leaves out details of how to transmit those commands. The introduction to the commands includes them, but they should get re-emphasized in the command summaries, too.
The display's onboard memory stores fonts and as many as 15 full-screen displays. The ability to quickly update the display with stored images saves time. If an application requires several standard messages and graphics, you can set them up in preprogrammed screens. Then, updating the display requires only a simple screen-change command (CTRL E n), not a complete download of new data.&o:p>&/o:p>
CYB-08 Kit and CY308 chip $245&o:p>&/o:p>
HDSP-2112 display, $60 (1)&o:p>&/o:p>
CyberCom $75 (CD-ROM)&o:p>&/o:p>
Summary: The display modules provided with this kit work well on their own, so why complicate a design with an extra controller chip?&o:p>&/o:p>
Analysis: The kit arrived with the CY308 LED controller chip and four HDSP-21xx 5x7 dot-matrix LED display modules. The four display modules stack end to end to provide a line of 32 characters. Even without a filter, people can easily read the 0.2-inch-high characters. (Agilent Technologies sells the display modules in red, orange, yellow, or green versions.)
I had designed an interface using the same "smart" display modules, so I wanted to find out how the added controls provided by the CY308 chip would enhance the display's characteristics. After loading and running the CyberCom software, I clicked on the "LED" tab to configure the board for serial communications. Then, instructions guided me to set a display mode, send characters to the display and shift them right or left. Then I hit a brick wall.
The paper manual provides no examples of how to use the display's many commands, and for the most part, the explanations of control commands provide little assistance. The CTRL-H command, for example, should backspace over a displayed line of characters, much like a backspace key. During tests, though, the CTRL-H command simply cleared an entire line. Several changes to the display's operating mode yielded no suitable results. The manual should explain what a command does, how to use the command, and why and how to use it.
On their own, the HDSP-21xx smart display modules can dim, blank, or flash characters, attributes the kit's paper manual fails to cover in any detail. The modules also provide for 16 custom characters. Based on my experience with these display modules, I recommend you skip the CYB-308 kit and use just the smart modules along with firmware in your embedded controller. Each module's microprocessor-compatible interface simplifies control of many such modules in a system.&o:p>&/o:p>
GUD-3000 Graphic Development Kit, $288&o:p>&/o:p>
GUD-7000 Graphic Development Kit, $175&o:p>&/o:p>
Summary: A nice combination of graphics and characters on bright light-generating displays. The high-contrast output makes information easy to read under many lighting conditions. &o:p>&/o:p>
Analysis: Noritake sent me two displays, a GUD-3000 (256x64) and a GUD-7000 (140x32), along with a CD-ROM that included information files and programs that let me quickly display text and graphics. A test program's graphical user interface (GUI) transmitted character strings, custom characters, and graphics to the display. Several test patterns come on the CD-ROM.&o:p>&/o:p>
The GUI let me set up viewports, adjust scrolling speeds, observe character strings sent to a module, and so on. Many of the GUI controls seem intuitive, but complete instructions come on the CD-ROM. I particularly liked the capability to quickly design custom characters and to record strings of commands for later use. Once in a while the GUI causes errors that forced a software restart.&o:p>&/o:p>
To control the displays independent of the GUI, I sent them ASCII characters and control codes from HyperTerminal, a simple terminal-emulation program that comes with Windows. The data sheet for each display type includes information about hexadecimal codes and string formats that simplify establishing fonts, defining cursors, downloading characters, setting scrolling speeds, and so on.&o:p>&/o:p>
The GUD-3000 display includes a 4-bit input port and an 8-bit I/O port. These ports can control local devices, such as a keyboard, indicators, or other digital devices. The host processor transmits ASCII characters to a display module to control the ports. I didn't have time to test this capability.&o:p>&/o:p>
The sample C-language code on Noritake's CD-ROM will run on a Hitachi H8/325 microprocessor and control a display module using a parallel interface. Even though that interface doesn't match the one shipped with the kits, users can glean information about ASCII control sequences from the listings.&o:p>&/o:p>
CYB-003 Complete Starter Kit&o:p>&/o:p>
Summary: The powerful high-level commands and thorough documentation supplied with the Cybernetic Micro Systems LCD kit make it an excellent choice.&o:p>&/o:p>
Analysis: The kit I received included a CYB-003 controller board and an Optrex 240x60 monochrome display. The CYB-003 board will work with LCDs from suppliers such as AND, Optrex, Toshiba, Densitron, and Sharp, as noted in the documentation.&o:p>&/o:p>
Upon applying power, the controller cycled through a series of screens to demonstrate its capabilities. Removing a 40-pin demo IC let my PC control the display through a standard serial port. The package comes with paper manuals for the kit and for the embedded CY325 controller IC.&o:p>&/o:p>
During setup, the CD-ROM displayed board images that let me choose the proper controller so software installation could proceed on its own. The installed CyberCom program tests the serial connection to the controller and then runs a demo script. A CyberCom window displays the script's contents so I could see the transmitted commands and comments used in the demo. Two additional windows show commands and data I had CyberCom send to the display and what the display has transmitted to the lab PC. Another window let me type in commands and data that got sent to the display.&o:p>&/o:p>
Instead of running additional demo routines, I jumped into the manual and tried some of the 20 sophisticated commands. It took only a few minutes to learn how to initialize the display and send it some text, which the display automatically scrolls and wraps. All command strings sent to the controller start with a CTRL-C (control mode) and end with a CTRL-D (display mode), and the commands have a logical format. The command B x1,y1,x2,y2, for example, draws a box between diagonally opposite corners.&o:p>&/o:p>
The heart of the kit, the CY325 chip--which the company will supply separately--includes many built-in capabilities such as 250 predefined viewports developers can use for graphics or text. All viewports operate independently, so developers can plot pixels, draw lines, set font sizes, and so on, as needed. The simple command structure and sophisticated operations make the CYB-003 a great way to control a display.&o:p>&/o:p>
Easy GUI Starter Kit&o:p>&/o:p>
Summary: The ease of setting up a display using HTML coding combined with a touch screen for user interactions make this display a top choice.&o:p>&/o:p>
Analysis: The company sent me a 360x240 pixel monochrome display (5.7 in.) connected to a board that provides a combination LCD-controller and microprocessor IC. The IC produces displays from information that includes hypertext markup language (HTML) tags used to create standard Web pages. By saving "web pages," the system takes most of the display-management burden off a host processor. Think of the display as a simplified browser displaying pages saved in local flash memory.&o:p>&/o:p>
After compiling a demonstration "Hello World" file using the Amulet HTML Compiler, a mouse click sent it to the display's flash memory. Any errors in HTML files get caught by the compiler. The compiler cannot accept all HTML commands, though, so documentation explains acceptable commands and their syntax.&o:p>&/o:p>
HTML coding for the Amulet system takes advantage of the display's touch screen. Like a mouse click on a Web page, a tap on any displayed "hot links" causes an action such as a jump to a new page or a serial transmission back to the host computer. The hot-link feature alone makes the display attractive in applications that require user interaction.&o:p>&/o:p>
I decided to create my own "Web page" that would contain a hot link to a second page. Amulet recommends developers use the Namo WebEditor (www.namo.com), and a 30-day trial version comes on the CD-ROM. WebEditor let me drag and drop elements on my page and I could view the HTML code, too. After I corrected several errors the compiler detected--I had to read the manual--my pages appeared on the display. Some display layouts may require a bit of hand tweaking.&o:p>&/o:p>
Sample files show working HTML code you can easily adapt. I copied several lines of touch-screen HTML code to use on my pages. With some knowledge of HTML, a developer can quickly have a display set up for testing. The capability to interact with a user through hotlinks enhances the value of this display system. I regret not having time to fully explore the Amulet system's many features and capabilities.&o:p>&/o:p>
ezLCD Evaluation Kit&o:p>&/o:p>
Summary: A nice, small color display, but the dearth of commands and a work-in-progress feeling may deter all-but-the-most-determined users.&o:p>&/o:p>
Analysis: The ezLCD-001-EDK kit from EarthLCD.com contains a 240 X 160 pixel color LCD (2.7-inch) attached to a small interface board. The included CD-ROM provides clear start-up instructions and also explains how to program the board with the latest firmware, also on the CD-ROM or available from the company's Web site.&o:p>&/o:p>
The supplied program, Av232, provides a control panel that let me draw lines, set the display to a chosen color, and transfer several test bitmaps to the display. The bitmaps look good, and I think the display would work well in many applications. Unfortunately, the software doesn't do much more, and the kit seems like a work in progress rather than a full-featured package. &o:p>&/o:p>
The documentation explains 13 commands ranging from backlight control to placing lines and characters on the screen. Setting the display to a color, for example, requires the command string "$ byte !" where "byte" determines the color. Unfortunately, the software doesn't send those values to the display! At first I used HyperTerminal, and then I wrote a short Visual Basic program to control the display. The lack of a rich command set means your application code must track the positions of characters and other display characteristics.&o:p>&/o:p>
I liked the ezLCD kit's display, but the small command set and the lack of a tool to test commands may deter all but seasoned developers. If the vendor upgrades its software, the kit may appeal to a wider audience.&o:p>&/o:p>
Microsoft provides the HyperTerminal terminal-emulation software with most versions of Windows, at least through version 98SE. Early versions of Windows installed HyperTerminal automatically, but later versions may require manual installation from a Windows distribution disk. To see if you have HyperTerminal look in the Communications portion of Windows' Accessories menu. The software lets you transmit and receive ASCII information through a PC's standard serial port at various bit rates. The free HyperTerminal Private Edition (HTPE) from Hilgraeve (Monroe, MI; www.hilgraeve.com) works with Windows 95, 98, and NT 4.0. HTPE offers more capabilities than Microsoft's version.&o:p>&/o:p>
In several tests, I used Visual Basic 6.0 code to transmit strings to a display kit. You can find the short listing at www.hendrielane.com/displays.htm. Change the strings and characters as needed. Ensure the MSComm control exists in VB, and drag and drop it into your VB project to use my code. (You may need to load the VB MSComm control.) I set up the VB program to transmit characters embedded in the code, but you may decide to put display-control codes in a window and then transmit them to a display. I embedded codes in the VB software so I could easily modify and repeat sequences without much retyping. For more information on serial communication, refer to "Serial Port Complete," by Jan Axelson, Lakeview Research, Madison, WI. www.lvr.com. You can download serial-port code from Jan's Web site.&o:p>&/o:p>
You also can find the Basic Stamp code for a simple square-wave and triangle-wave pattern used with the Parallax G12032 120x32 Graphic LCD at www.hendrielane.com/displays.htm Web page. The code runs on a BS2 computer from Parallax.--JT&o:p>&/o:p>