The cost of TFT LCD and OLED displays has dropped significantly during last 5 years. It makes possible to use fancy GUI interfaces in new areas. Today it is usual to see LCD display built in the devices such as refrigerators, cooking ranges, coffee makers, alarm/security, light and air-conditioning systems.
Let's consider 2 ways of implementation of the embedded system with LCD:
1. Embedded Linux with GUI library (such as embedded Qt).
2. Stand along embedded GUI library (for example Colibri Graphics Embedded GUI Library, www.colibrigraphics.com).
Memory Requirements .
Linux kernel size with a few executables (uncompressed) may vary between 1 MB and 2 MB. The embedded graphics adds extra size requirements. Qt for embedded Linux provides over 150 configurable options that can be fine-tuned to produce libraries between 3 MB and 6.8 MB. Compression of the image can yield size reductions in twice. Usually the GUI application should have some additional memory to store pictures, fonts, palettes, and so on (about 2MB). Thus the average memory requirements for embedded Linux with Qt library are 8.4MB of RAM and 5.2MB of ROM.
Stand along embedded GUI library has significantly lower memory footprint. For example Colibri Graphics GUI library (www.colibrigraphics.com) requires less than 2KB of RAM and 30KB of ROM.
Cost of Hardware.
The table below shows a minimum price estimation for the typical components of Linux-based embedded system:
Memory | DRAM | NAND Flash | NOR Flash | ARM |
Unit Price (for 1000) | $1.50 (16MB) | $6.00 (256MB) | $3.00 (8MB) | $18.00 |
The processor or MCU for embedded Linux should have large enough internal RAM for the image decompression and parallel bus peripheral with DRAM support. These factors narrow the MCU selection and increase cost of the controller.
The stand along embedded GUI library has a very small memory footprint, and in some cases may use only serial interfaces. It allows using a cheaper MCU. The basic embedded GUI system can consist of only 2 parts: MCU and graphics controller. Usually the graphics application needs a storage for the graphics resources. The cheap serial flash can be used for that. Also the graphics controller may have no enough memory for the virtual buffer and DRAM is required in this case. The total hardware cost of the components for the stand along library solution may be:
Memory | DRAM | SPI Flash | ARM |
Unit Price (for 1000) | $1.50 (2MB) | $1.00 (2MB) | $6.00 |
Cost of Software.
Embedded Linux is a free, reliable and fast OS. It provides extensive range of features such as high quality graphics and even video. The Linux system includes many different modules (file system, TCP/IP, USB and so on). It allows creating complete complex embedded solutions.
Stand along embedded GUI library may cost from $400 to $4500. Each additional library such as USB, TCP/IP, file system will increase the development cost.
Conclusion.
The cost of hardware needed to implement an embedded GUI using a stand along GUI library may be in 2-3 times less than for the same system based on embedded Linux. But embedded Linux has others features which may be required in the application. Also the Linux is free. The good reason for using of a stand along GUI library if the 80% of the application is intended for a graphical user interface and the production volume is big enough to take an advantage of the low hardware cost. The embedded Linux is a very good choice when the others functional modules are required by the application and/or the production volume is not big.
Embedded Linux and Stand Along GUI Library Comparison.
Embedded Linux with GUI library | Stand along embedded GUI library | |
Memory Requirement | 6.4MB of RAM and 3,2MB of ROM | 2KB of RAM and 30KB of ROM |
Hardware Cost Estimation | About $23 | About $9 |
Software Cost Estimation | Free. | $400-$5000 |
Booting Time | May be about tens seconds. | Ready immediately. |
Additional Functionality | Support of the file system, TCP/IP, USB and so on. | None. |
Current Consumption | More. | Less. |
Type of MCU | 32bit, high frequency, with parallel external bus and DRAM support. | 8, 16, or 32bit, high frequency of operation is desirable, parallel external bus is desirable, DRAM support is desirable. |
Miscellaneous factors (PCB, code/maintenance/debugging complexity, and so on) | More. | Less. |
The cost of hardware was estimated using www.digikey.com. The RAM and ROM requirements were found on web (“Qt for Embedded Linux White paper” and “Colibri Graphics Development System Overview”). |
Read more about embedded GUI at http://www.colibrigraphics.com/ .
Anton Alkhim,
Colibri Software 2010