In a consumer product, the most important feature is not the underlying action the product is performing but–right or wrong–how your customer is going to interact with it. While this statement is unequivocally true for all consumer products, you’ll find the equivalent truth in industrial, automotive, medical and many other markets. The best products, defined by popularity and sales, are those that optimize these interactions and feed the physical senses of sound, touch and sight.
In this article, we will show you how to optimize your product’s display of information without incurring any additional costs or design complexities by taking advantage of low-cost custom liquid crystal display (LCD) glass and system-level programmable controllers.
Custom LCD or Off-the-Shelf Modules?
Which would you rather focus on in your current or next design: the display or the primary function of that design? Let’s assume you’re designing a next-generation thermostat for the residential business in your company. Of course, you’re going to spend the majority of your time focused on designing how that system will interact and control all of its subsystems. The display will probably be either the same display as the previous model or the last part of the system you’ll worry about.
Why? Because you’re using off-the-shelf LCD modules, where someone else has studied the science behind how you control and rotate those liquid crystals in the glass, defined what voltage-levels you need to send to shift the state of a given pixel, and even provided you with a simple software driver to interact with their module—all for a minimal markup cost to cover these extreme complexities.
Or does this perception fund the business behind LCD modules? In a system with a simple black/grey display like your typical thermostat system, why not spend a little more time on the human factors side of the system and optimize how your system displays information to its user. In this way, you can remove the limitations imposed by off-the-shelf LCD modules, start with a blank slate, and truly design the next-generation product you’ve been challenged to create. With a custom LCD glass, this is exactly the power you have.
The use of custom LCD glass, when optimized and customized for interacting in the context of a particular application, can grow your average selling price and at the same time reduce your materials costs—allowing you to realize even more gross margin. Amortizing the upfront, non-recurring engineering costs to design a custom glass for your application can cut BOM (bill of materials) costs by as much as $3 of savings per unit when used in volume.
What’s the catch? You have to be cognizant of the MCUs used in your design and ensure they can support the type and size of custom display you need for your design. This is where a system-level programmable microcontroller can provide further cost reduction. Such a microcontroller can support the sensor aspect of the thermostat’s function with programmable and precise analog peripherals and digital communications peripherals as well as drive a variety of different-sized LCDs over general-purpose I/O.
Number of Segments and Commons
When trying to differentiate an end product, the complexity of the LCD can play a defining role. The more custom symbols and numerical or alphanumeric digits used, the easier it is to convey information to users in menus, settings, and readings. For example, there is a big difference in the information that can be conveyed from a 4-character seven-segment numeric display and an 8-character fourteen-segment alphanumeric display.
With the first, you can only display numbers (time, measurements) while with the second, you can display modes, text, errors, and directions on top of numbers. Figure 1 shows an example of a complex custom LCD display that can be used to show many modes, configuration, errors, and other information clearly and quickly.
Figure 1: Complex custom LCD
Adding many alphanumeric digits does not come without cost, but there are ways to mitigate that cost. Consider two LCDs: LCD 1 has 4 seven-segment displays where 28 pixels needed and LCD 2 has 8 fourteen-segment displays where 112 pixels needed.
LCDs are driven such that each pixel lives at the intersection of a segment pin and a common pin that is driven by an MCU or an LCD driver chip. Generally, a common pin will be connected to many more pixels than a segment pin, and thus represent a much higher load (Figure 2 ).
Figure 2: Segment and common pin Connections in an LCD
(Click on image to enlarge)
Every MCU will specify a maximum number of common pins, and almost all of them max out at 4. Doing the math, if an MCU has four commons, then it will need 7 segment lines to drive the 28 pixels in LCD 1 and 28 segment lines to drive the 112 pixels in LCD 2 (Figure 3 ). This is an increase from 11 total pins for LCD 1 to 32 pins for LCD 2. Those extra 21 pins can force the design into a larger package for the MCU or require an external driver. Both alternatives increase system cost.
Figure 3: Custom LCD comparison
(Click on image to enlarge)
The way to avoid this cost increase is to select an MCU which can drive more than 4 commons. Look at LCD 2 which requires 32 pins when the MCU can only drive 4 commons. With an MCU which can drive 8 commons, only 22 pins are needed. That is a savings of 10 pins, just by selecting an MCU with the right LCD drive feature set. Figure 3 also shows the breakdown for both LCDs across different numbers of commons.
Flexible routing and I/Os
Another factor in selecting the right MCU to enable you to realize the advantages of custom LCD glass over LCD modules is the availability and flexibility of LCD Drive I/O within the MCU. Traditional MCU vendors typically provide LCD Drive as an option within their portfolios. In addition, to the number of segments and commons supported by a given vendor’s LCD Drive-enabled MCU, you’ll want to investigate what pins surround a given package and how the locations of those pins may affect your system-board design. The more spread out these pins, the more complex your PCB layout will be.
A different approach becoming more common in embedded system ICs make this part of driving custom LCD glass as easy as interfacing to an LCD module. Specifically, IC manufacturers are enabling developers to utilize any general purpose I/O across the device as an analog, digital, or LCD Drive I/O. On devices with a larger number of I/O, it becomes possible to support large LCD glass displays with up to 736-pixels. In addition, the ability to pick and choose the pins you want allows you to cut PCB complexity and costs by optimizing the routes of these LCD drive signals across your application.
Debugging and driving an LCD glass
Another potential complexity to adding a custom glass to a product is the additional firmware needed to control the display. It may seem to be the case that custom displays will require coding from the “ground up” coding to communicate with the display. The truth is that LCD displays use a common set of characters (seven-segment, 14-segment, dot matrix), symbols (plus sign, AM/PM, decimal, colon) and groups of symbols (bar graphs, battery indicators). With these commonalities in custom LCD design, MCU vendors have come up with many ways to simplify coding and even debugging process.
For characters such as seven-segment, fourteen-segment, and dot matrix, there needs to be a translation between the desired character that is expressed in the code and which pixels are on/off to create that character. For example, if the number ‘8’ is supposed to be displayed on a seven-segment display, there needs to be some piece of code that takes an input of ‘8’ and turns on all of the pixels of the character on the LCD to display an ‘8’. Usually this is done using a lookup table. Creating these lookup tables for alphanumeric characters can be time consuming and error-prone. Many MCU vendors have already performed this task and provide lookup tables that can be used in the designs which will handle number and letter creation.
For symbols and groups of symbols, it is usually up to designers to create their own code to describe the behavior. Often a symbol is just an on or off indicator, which is simple to implement. A group of symbols that are related, such as a bar graph or battery indicator, are highly customized to the design, so it is up to the designer to define their relationship on their own.
Another step that can be time-consuming to design and debug is the mapping of each pixel to a specific segment and common pin output from the MCU. This must all reside in memory and is sometimes input as a big array. The difficulty comes when trying to keep all the pixels straight when they are in an array form. This can also lead to a debugging nightmare when certain pixels don’t seem to turn on and off the way you anticipate them to.
Here again, many MCU vendors have created graphical user interfaces (GUIs) like the one in Figure 4 which allow the designer to map the pixels they way they appear on the datasheet of the glass. In the same GUI, designers can define the relationship of groups of pixels (as in a character or bar graph) and then create production code which APIs to application code. These tools simplify designing a custom LCD and eliminate the hassle of chasing down that one pixel that is defined incorrectly.
Figure 4: LCD configuration GUI
(Click on image to enlarge)
One of the best ways to differentiate your product from your competition is by integrating a custom LCD into your application. The addition of alphanumeric characters, symbols, and even product logos can give your application a professional look and a feel of simplicity that consumers look for. With the microcontrollers, features, and tools provided by MCU manufacturers, a complex custom LCD can be developed and integrated into your design with minimal additional engineering effort and cost.
About the authors
Jim Davis is Global Marketing Manager for wireless products at Cypress Semiconductor Corp., based in San Jose, California. He joined Cypress in January 2008 and prior to that served for 8 years in the United States Air Force as a communications officer. He has a bachelor’s degree in computer science from United States Air Force Academy and a master’s degree in software engineering from the University of Maryland.
Triton Hurd is a Senior Applications Engineer in Cypress Semiconductor’s Consumer and Computation Division. His focus is on HS USB peripherals with an emphasis on their application to mobile handsets. Triton received his BS in Electrical Engineering from California Polytechnic State University (Cal Poly), San Luis Obispo, CA. He has been working for Cypress for 4 years, and currently is based in classy San Diego, CA and he hopes it stays that way. He can be reached at firstname.lastname@example.org.