Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Wiki
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emWin
  • Technology
  • Add-ons
  • Tools
  • emWin Source Upgrade
SEGGER GUI emWin product icon

emWin — The industry-leading embedded graphics library

emWin enables the creation of highly efficient GUIs on any embedded system, empowering even resource-constrained microcontroller-based systems to run high-quality interactive user interfaces.

Contact us
  1. 1.Overview
    1. 1.1.Key features
  2. 2.Award Winning Design Tool: AppWizard
  3. 3.One GUI Solution for All Applications
  4. 4.About emWin
  5. 5.Media gallery
  6. 6.Package Content
  7. 7.Getting Started
    1. 7.1.Adding emWin to the Target Program
    2. 7.2.Configuration
    3. 7.3.Writing Applications
  8. 8.FAQ

Overview

emWin is an embedded graphical interface solution that is designed to provide an efficient, processor- and display controller-independent graphical user interface for any application that operates with a graphical display.

emWin is compatible with single-task and multitask environments, with a proprietary operating system or with any commercial RTOS such as embOS, making it a professional GUI for the embedded market, usable for multiple different scenarios.

emWin is shipped as C source code. It may be adapted to any size physical and virtual display with any display controller and CPU. It is compatible with single-task and multitask environments, with a proprietary operating system or with any commercial RTOS such as embOS.

Key features

  • Stunning graphics
  • Powerful and easy-to-use API
  • Use of any display and any microcontroller
  • Use of any ANSI C/C++ development environment
  • Reliability of a proven graphics solution
  • Embedded graphical user interface solution

Award Winning Design Tool: AppWizard

Design & Elektronik Award for emWin AppWizard
AppWizard Temperature Control

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.

More information...

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-terminal

Industrial Controls

emWin is an essential component of every industrial control.

TemperatureControl

Smart Home/ Internet of Things

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

WashingMachine

Home Appliances

emWin is the first choice for major white goods companies.

WeatherForecast

Consumer Electronics

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

embos safety

Safety Critical Devices

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

embos automotive

Automotive

emWin is the perfect graphics package for dashboard applications.

embos-medical

Medical Devices

emWin is the perfect solution for displaying health data.

embos avionic

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

Reliability

SEGGER’s GUI emWin is deployed in a huge number of mass market devices. It is considered the industry standard for user interfaces and graphic software in the embedded world.

efficiency icon

Efficiency

emWin is a high-performance graphics package. It has been optimized for minimum memory consumption, both in RAM and ROM, as well as for high speed and versatility. This makes it a cutting-edge GUI solution.

availability icon

Availability

emWin supports virtually any display and display controller. Should a controller not yet be supported, please do not hesitate to contact us for a working solution.

Output Quality

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

Media gallery

SEGGER emWin: AppWizard - the GUI generation tool

Aug. 2019 | 5:39 min
emWin — Intro

YouTube
SEGGER AppWizard: Overview of features

Feb. 2020 | 4:13 min
AppWizard — Features

YouTube
Creating Embedded GUI Applications with SEGGER's AppWizard Quickly & Easily

Mar. 2021 | 34:04 min
emWin & AppWizard — Roundtable EW21

YouTube
SEGGER emWin & AppWizard: Create complete and ready-to-run emWin applications with AppWizard - the GUI generation tool for emWin

Dec. 2020 | 61:59 min
emWin & AppWizard — Webinar

YouTube

Package Content

FeaturesemWin PROemWin BASE coloremWin BASE grayscaleemWin BASE b/w
emWin source code

Touch screen support

Basic fonts charset ISO 8859-1

emWinView

Simulation library

Additional Modules
emWin Antialiasing

emWin Memory devices

emWin MultiTouch

emWin Simulation Source

emWin VNC Server

emWin WM/Widgets

Tools
AppWizard GUI Design Tool

Bitmap Converter

Font Converter

Drivers
emWin driver included

Updates and Technical Support
Feature & Maintenance Updates

Technical Support

Included

Optional

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); 
  } 
}

FAQ

Do I have to pay additional royalties for self-made-hardware components?

A: No, all options are royalty-free and allow an unlimited production volume.

Does emWin support bidirectional scripts?

A: Yes, emWin supports also bidirectional script e.g. Hebrew and Arabic script.

Is it Possible to store languages and font types on an external storage device?

A: This is up to you and depends on the capacity of your memory.

I Want to illustrate symbols, drawings, background images, buttons, Drop down menus with drawings and text (up to 4-layer deep), alpha blending, pop-up windows, scroll bars etc.

A: All requested elements are supported by emWin and provided as so-called widgets. For more information please visit the emWin Widgets page.

Is it possible to design my own widgets with emWin?

A: Yes! You can freely determine and design widgets and windows by overwriting the callback feature or setting an owner-draw feature. Please visit the emWin Samples page for more information.

I want to apply a capacitive touch. We want to address the given touch control unit directly. Is this supported by emWin?

A: Yes capacitive touch is supported by emWin. You just need to transfer the data to emWin which you get from the touch controller. These are typically x- and y- coordinates and the ID. The processing of the data will be handled by emWin automatically. Additionally emWin offers the option to calibrate the touch controller.

More Information

Purchase

  • Pricing

Technology

  • About emWin Technology
  • Display Drivers
  • Examples
  • emWin GUI performance
  • emWin Resource usage

Add-ons

  • Antialiasing
  • emWin Graphics for Renesas RA microcontroller
  • emWin Graphics for Renesas RX microcontrollers
  • Memory Devices
  • VNC Server
  • Window Manager / Widgets

Tools

  • Tools overview
  • AppWizard
  • Bitmap Converter
  • emVNC Client
  • emWinSPY
  • emWinView
  • Font Converter
  • MakeMovie

About us

  • The Company
  • Partners
  • Job Offers
  • Media
  • Contact us

Support

  • Technical Support
  • Blog
  • Forum
  • Wiki

Downloads

  • Application Notes
  • Embedded Studio
  • embOS
  • emCompress
  • emCrypt
  • emFile
  • emLib
  • emLoad
  • emModbus
  • emNet
  • emPower
  • emSecure
  • emSSH
  • emSSL
  • emUSB-Device
  • emUSB-Host
  • emVNC
  • emWin
  • Flasher
  • Free Utilities
  • IoT
  • J-Link / J-Trace
  • Linux Studio
  • SystemView
  • CE / REACH

Social Media

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy

© 2022 SEGGER - All rights reserved.