Everything you need

Simplify Your GUI Development

Have you ever thought that developing GUIs for embedded devices could be really fast and easy? Watch the video to get to know Embedded Wizard’s workflow and how it simplifies your GUI development.

Integrated Development Environment

With Embedded Wizard Studio’s fully integrated IDE, developing graphical user interfaces for embedded devices is easy. Sophisticated utilities, like the object browser and the ‘element inspector’, provide you with an easy overview of the application structure and give you quick access to its members. You will find everything you need in one familiar place.

1. WYSIWYG (What You See Is What You Get) Editor

Create GUI applications by clicking, dragging, and connecting visual with logical components using the mouse. Benefit from instant WYSIWYG and evaluate your GUI’s appearance at every step of the design process. Even target constraints, like limited color range, can be displayed in the IDE.

Due to Embedded Wizard’s consistently graphical approach, even non-visual elements such as methods, variables, and classes, are represented as individual and distinct icons. This helps you to stay in the world of GUIs and supports you with a smooth development workflow.

2. Mosaic Class Library

Ready-to-use components in the Mosaic Class Library simplify the programming process of Embedded Wizard.

3. Programming Language Chora

Enjoy fast development and easy-to-maintain code thanks to Embedded Wizard’s programming language, Chora. It is fully object-oriented, platform independent, highly stable, and easy to learn and the integrated Garbage Collector takes care of the used memory. Moreover, Chora is enriched with features specifically for User Interfaces (e.g. colors, fonts, forms, themes, styles, languages, UI patterns such as MVC, MVP, MVVM, and others).

4. Prototyping

With Embedded Wizard’s instant Prototyper you can verify step-by-step your GUI’s design, behavior, and usability. All this directly within the IDE with no need to program the target device.

5. Debugging

The integrated debugger enables the step-by-step execution of ‘Chora’ statements, the setting of breakpoints and inspection of all variables, objects, and the call-stack.

By highlighting only the visible areas to be updated, you can already identify possible bottlenecks during your development phase.


Documentation Generation

To document the structure of your GUI application, Embedded Wizard can automatically create Microsoft HTML help files (chm), which are especially helpful when transferring your project to colleagues, customers or third parties for maintenance and modifications. This documentation of your GUI describes components, shows their inheritance and lists their members. Developers also have the option to enter additional descriptions that are available for every member of the project.


Multiple Platforms

Embedded Wizard Studio supports multiple platforms within one GUI project. In conjunction with corresponding Platform Packages, you can port and run the same GUI on different platforms – without having to re-program the entire user interface again from scratch.


Affordable Legal Fees

Embedded Wizard Studio facilitates the handling of different themes, layouts, screen resolutions, and color schemes within one GUI project. Variations of an HMI can be determined at compile-time or switched during runtime.


Code Generation

Chora’s compiler (the so-called Code Generator) evaluates the GUI application, the Chora source code and the developed components and translates them into a programming language supported by the compiler for the target system, e.g. ANSI-C. The modular Code Generator is loaded into the Embedded Wizard environment during the code generation and can also be invoked as a stand-alone utility within your automated build environment.

Abstraction Layer and Runtime Environment

To execute the created GUI application on an embedded system, an abstraction layer is used to close the gap between the generated GUI application and the dedicated environment (e.g. accessing the visible framebuffer, memory, and timer ticks). These items are included in Embedded Wizard’s Platform Package. In addition to this, the Platform Package contains Embedded Wizard’s runtime environment, which is essential in order to run the generated UIs smoothly on a dedicated platform.

Performance and Resource Optimization Features


Optimized Code Generation Process

Within an Embedded Wizard GUI project, you are able to easily define, during the code generation process, which exact character set should be used later on. Hence, only the required character set is transferred and this reduces the overall memory footprint. Of course, it is also possible to use a dedicated font rendering engine on the embedded system if many characters (e.g. Chinese) should be rendered during runtime.

Only Updating Dirty Areas

It is often not useful to update the entire surface if only small areas of the screen have to be updated, as this has an impact on the rendering time. Embedded Wizard default behavior is to update only those areas that have been modified since the last update cycle.


Only Drawing Visible Elements

By taking advantage of a queue-based processing engine, only the resulting visible parts are finally drawn. This means that invisible areas are not updated, and this increases the frames per second significantly.

Adaptive Palettes for Index8 Color Formats

If you intend to use our Index8 Platform Package in order to significantly reduce memory consumption, this does not mean that you will get a bad-looking GUI on your screen: With Embedded Wizard you have the possibility to generate your customized color look-up table (CLUT) depending on your dedicated HMI project. With this you will get a true color-looking result – but with a total of just 256 different colors.


Support of Many Different Devices

Support of Many Platforms


Ali, AllWinner, Ambarella, Atmel, Broadcom, Ineda, Fujitsu, Microchip, Novatek, NXP, Qualcomm, Renesas, Sigma Designs, STMicroelectronics, Texas Instruments, Toshiba ...

See more

Support of Any OS

Operating System

Bare metal (w/o any OS), Embedded Linux, uCLinux, Android, Apple iOS, OSX, EUROS RTOS, KEIL RTX, Nucleus, pSOS, QNX, VxWorks, ThreadX, FreeRTOS, µC/OS-II/III, Win32, WindowsCE

See more

Support of a Variety of Graphics APIs


Chrom-Art, DirectFB, OpenGL ES 2.0, Linux Frame Buffer, NXP Pixelpipeline, Software-Only Renderer

Support of Any Color Format

Color Format

RGBA8888 (32bit), RGB565A8 (24bit), RGB888 (24bit), RGBA4444 (16bit), RGB565 (16bit), Index8 (8bit), LumA44 (4bit grayscale), E-ink and E-paper (grayscale, monochrome)

Mosaic Class Library

Mosaic was designed with a focus on the UI requirements of display devices, specifically in multimedia, camera, industrial, home, and medical devices. Mosaic simplifies the programming model of Embedded Wizard.



All components and widgets can easily be copied, modified, and extended in order to achieve any desired look and behavior.

  • Buttons
  • Sliders
  • Knobs
  • Analog displays
  • Scroll lists with ‘friction’ (as known e.g. from the iPhone)
  • Virtual keyboards

Animations and 3D Effects

Embedded Wizard Studio supports GUI developers in realizing GUI concepts with rich effects and 3D appearance for embedded platforms. The creation and modification of 3D effects is seamlessly integrated into the familiar workflow, so that no dedicated 3D tool know-how or OpenGL programming skills are required.


A powerful infrastructure to implement multi-screen GUI applications more convenient and to handle the transitions between them. With this concept the GUI components intended to represent the individual screens are designated as Dialogs. During the course of interaction, you can present, dismiss and switch between the dialogs. Thus implementing even demanding requirements, like a complex menu, is an easy ride.


User Input Events

Embedded Wizard makes handling of gestures and multi-touch events very easy: Just place the desired gesture of the touchable object and connect it to a piece of code to be executed.

  • Single- and multi-touch
  • Remote control
  • Hardware button
  • Mouse
  • Any custom events

Multi Language Support

Develop multilingual applications, which can adapt text, graphics, fonts, and even layout for each language. Thanks to UNICODE support, GUI applications can combine Greek, Cyrillic, Japanese, Chinese, and other notations within a single text. Whenever the current user language is switched, all dependencies are evaluated and displayed automatically.

User Acceptance Test

Embedded Wizard Studio facilitates your UI development process by enabling you to provide your designers, users, and other stakeholders with intermediate development results for PC and Web. They can test the current snapshot and detect potential areas for improvement before porting to the final target. This simplifies the feedback process between all parties and throughout the entire software development chain.


PC Executable

Perform user testing with executable PC applications – in case the hardware is not ready yet. By default, you can create PC-executable files, which can then be run and tested on every PC.


Web Application

Our JavaScript/WebGL Platform Package enables you to provide your target audience with intermediate snapshots of your UI application as a single-page application, running entirely within a common web browser. There is no need to compile new versions and deploy them after every iteration: Just provide your project partners with the URL of your application once, and they will always get the latest release automatically.


Native Mobile App

With our Android and iOS Platform Package you can deploy your Embedded Wizard-generated GUI on mobile devices as a pure native application. This gives you the advantage of optimal use of the available hardware capabilities.