User Interfaces and Usability for Embedded Systems

Hardware and Software for Embedded Graphics


LCD controller data sheets can be hard to track down, but the following links may send you in the right direction.

The LCD Controller/Module Data Sheets site maintained by Jeff Sampson is a good source of data sheets for many LCD graphics controllers.

Steve's Graphic LCD info page provides more LCD data.

If you are interested in the Epsom SED13xx series of graphics controllers (gray-scale and color) then check out http://www.erd.epson.com/vdc/html/products.htm .

If you are using HD44780 based text LCD displays you might be interested these links:

For graphics LCDs the Toshiba T6963 controller is discussed in Ed Lansinger's Companion Web Site to "A Lightweight C++ Library for Embedded LCDs".

Limited .pdf Data sheets for Yamaha's range of controllers are available at http://www.yamahayst.com/lsi/products/graphics.htm

Yamaha screens http://www.hitachi-eu.com/hel/ecg/products/displays/index.htm - link describing Hitachi screens and some application notes on interfacing them to T6963C, the HD61830 controller and directly driving a screen from a Super-H processor.

Touchscreens and related products are available from 3M, Elotouch, Touch International Inc. and Carroll Touch.

There is a good article describing ways of interfacing to a resistive touchscreen available at http://www.jameco.com/Jameco/images/cc-images/dahlin114.pdf

A project describing the use of PIC and the STV5730A to do On-Screen Display for subtitling a video (PAL or NTSC) signal: http://www.stv5730A.co.uk/

For standard VGA controllers http://www.asiliant.com/ (formerly Chips and Technologies) is worth a look, though most of the information on their site is geared towards the PC architecture, and not the embedded developer. However, from what I have heard, they are the best bet for embedded developers looking for chip sets if you do decide to go down the VGA route.

A very impressive list of semiconductor manufacturers can be found on Gray's Web Pages




Niall Murphy reviewed a number of Graphics Libraries for Embedded Systems for Embedded Systems Programming magazine, August 1997. The article reviews the following products, as well as outlining the general features that you should look for in a graphics library. Further information for each of the reviewed products can be found by following the link to the article text.

The article is now quite out of date and a number of other products have come on the market since that review. You may wish to browse some of the following:

  • Portable Embedded Graphics from Swellsoft
  • ZINC from WindRiver
  • Nucleus Grafix
  • Segger's emWin
  • Simplify Technologies

    If you are interested in high end graphics then it may be worth considering OpenGL. The Mesa 3-D library is an Open Source library with an OpenGL compatible API which has been ported for some embedded applications by Seaweed Software.


    Prototyping Software

    I am a big advocate of prototyping your user interface on a PC, whether it is a graphical or non-graphical interface, before committing to the final front panel design. I tend to do my prototyping with Borland C++ Builder, but there are a number of tools that specialize in generating prototypes of embedded user interfaces. Some include code generation, and allow the prototypes to be deployed on the web. They are expensive, so you will only be considering these tools if you think you will get value out of them over several projects.

    E-Sim provide a prototyping tool called Rapid, which allows custom front panels to be drawn, and their behavior can be defined using hierarchical finite state machines. They also support code generation to drive the interface.

    Altia provide a tool for prototyping the front panel of embedded systems. See their web page for product info and a couple of impressive demos including a mobile phone and a camera. The demos run over the web, as can any prototypes you build using their tool.

    Virtual Prototypes provide a tool called VAPS, which allows rapid prototyping of GUI's, as distinct from custom front panels that Altia and Rapid support.

[PanelSoft Home | Training Courses ]