SEGGER emWin

Industry Leading Embedded Graphics Library

The professional embedded GUI emWin enables the creation of highly efficient, and high quality graphical user interfaces on any embedded system. emWin empowers even resource-constrained microcontroller-based systems to run stunning interactive interfaces. emWin is independent from any target, and display.

  • Create stunning graphics with a powerful and easy to use API
  • Use any display and any microcontroller
  • Use any ANSI C/C++ development environment
  • Experience the reliability of a proven graphics solution
  • Embedded graphical user interface solution

Award Winning Design Tool: AppWizard

The AppWizard provides developers and designers with a flexible tool to create stunning user interface applications – without writing any code. Users need little to no experience, neither with emWin or even C. Features include scalable resource management with integrated access to external media, conditional interactions, multilingual text management, ready-to-use BSPs and many more which make it a joy to create cutting edge user interfaces.

One GUI Solution for All Applications

emWin can be used in any application from battery-powered single chip products with basic graphic needs, to high-end embedded systems demanding ultra-high performance, and sophisticated animations. emWin, the professional GUI by SEGGER is used in many different target markets such as industrial controls, internet of things (IoT), networking, consumer electronics, safety critical devices, automotive, medical devices, and avionics, making it a state-of-the-art GUI solution in the embedded industry.

Industrial Controls

emWin is an essential component of every industrial control.

Smart Home/ Internet of Things

emWin is designed for ultra low power consumption and can be used in any battery-powered application.

Home Appliances

emWin is the first choice for major white goods companies.

Consumer Electronics

emWin is the first choice for any consumer electronics device. Consumer electronics include devices used for

Consumer Electronics entertainment or communications.

Safety Critical Devices

emWin provides the user-interface for access control and any other safety critical device.

Automotive

emWin is the perfect graphics package for dashboard applications.

Medical Devices

emWin is the perfect solution for displaying health data.

Avionics

Engineers building aerospace systems know that they can rely on emWin for their graphical needs.

About emWin

emWin, the embedded GUI solution, is compatible with single-task and multitask environments with a proprietary operating system or with any commercial RTOS such as embOS. The GUI is shipped as "C" source code. emWin can be adapted to any size, either physical or virtual display, not dependent of the display controller and target CPU. Making it a professional GUI for the embedded market, usable for multiple different scenarios.

reliability.svg

efficiency.svg availability.svg quality.svg

Reliability

SEGGERs GUI emWin is deployed in a huge number of mass market devices.
It is considered the industry standard for user interface and graphic software in the embedded industry.

 

Efficiency

emWin is a high-performance graphics package that has been optimized for minimum memory consumption in both, RAM and ROM, as well as high speed, and versatility. Making it a state-of-the-art solution for GUIs.

Availability

emWin supports virtually any display and display controller. The GUI can use any type of display controller. If a controller is not yet supported, please contact us to create a working solution for your needs.

Output Quality

The embedded GUI solution emWin provides high quality graphic functions that create the highest level of detail as required by the application.

 

 

Getting Started

Adding emWin to the Target Program

You basically have a choice between including only the source files that you are actually going to use in your project, which will then be compiled and linked, or creating a library and linking the library file. If your tool chain supports "smart" linking (linking in only the modules that are referenced and not those that are not referenced), there is no real need to create a library at all, since only the functions and data structures which are required, will be linked. If your tool chain does not support "smart" linking, a library makes sense, because otherwise everything will be linked and the program size will be excessively large. For some CPUs we have example projects available to help you get started.

Generally speaking, you need to include the core C files of emWin, the display driver, all font files you plan to use, and any optional modules you have ordered with emWin.

Configuration

Before emWin can be used on a target system, the software needs to be configured. Configuring means, modifying the configuration files which usually reside in the configuration sub directory. We try to keep the configuration as simple as possible, but there are some configuration routines which need to be modified in order for the system to work properly.

The following items need to be configured: •

  • Memory area to be used by emWin •
  • Display driver to be used for drawing operations •
  • Color conversion routines to be used •
  • Display controller initialization •
  • Hardware acceleration

Writing Applications

emWin comes with an extensive collection of samples and tutorials which could be easily used as starting point. To get something on the display the typical 'Hello World' application looks as follows:

MainTask(void) {
  GUI_Init(); 
  GUI_DispString("Hello World!"); 
  while (1) { 
    GUI_Delay(5); 
  } 
}
  • Create stunning graphics with a powerful and easy to use API
  • Use any display and any microcontroller
  • Use any ANSI C/C++ development environment
  • Experience the reliability of a proven graphics solution
  • Embedded graphical user interface solution
Features
emWin PROemWin BASE coloremWin BASE grayscaleemWin BASE b/w
emWin source code
x
x
x
x
Analog touch screen support
x
x
x
x
Basic fonts charset ISO 8859-1
x
x
x
x
emWinView
x
x
x
x
Mouse support
x
x
x
x
Simulation library
x
x
x
x
Additional Modules
emWin Antialiasing
x
+
+
+
emWin Memory devices
x
+
+
+
emWin MultiTouch
+
+
+
+
emWin Simulation Source
+
+
+
+
emWin VNC Server
+
+
+
+
Win WM/Widgets
x
+
+
+
Tools
AppWizard GUI Design Tool
x
+
+
+
Bitmap Converter
x
x
x
x
Font Converter
+
+
+
+
Drivers
emWin driver included
x
+
+
+
Updates and Technical Support
Feature & Maintenance Updates
x
x
x
x
Technical Support
x
x
x
x