Embedded Wizard

Embedded Wizard is a graphical user interface tool developed and distributed by TARA Systems GmbH for creating graphical user interface (GUI) applications mainly for embedded systems. It provides a WYSIWYG front-end for editing graphics, effects and logic of the user interface and generates ANSI C code for particular target hardware. Embedded Wizard is independent of a specific graphics hardware or color format and supports object oriented programming.

Embedded Wizard is mainly used to develop GUI applications for products in the area of industrial automation, consumer electronics, home appliances, medical industry, automotive industry and products equipped with a graphics display with or without a touch screen. The Free Edition of the tool is available on the Embedded Wizard website https://www.embedded-wizard.de/download.

History
The first version of Embedded Wizard was released in 2003 by TARA Systems GmbH, an embedded software development company located in Munich, Germany. It was intended as a successor of previous GUI tools from TARA Systems GmbH, like M2-Builder. In contrast to former tools, Embedded Wizard enabled platform-independent development, introduced an own programming language Chora and was designed to support object oriented programming and resource-constrained devices (MCU). Since the first version, the tool has been extended with new features like an integrated debugger, a memory footprint analysis of RAM and flash consumption or support for effects and animations with a 3D perception and vector graphics.

Embedded Wizard was designed and developed by Paul Banach and Manfred Schweyer.



Architecture
Embedded Wizard consists of the Embedded Wizard Studio, a WYSIWYG IDE for creating and prototyping the user interface application, and a hardware abstraction layer, called platform packages, which are available for various embedded chipsets, operating systems and color formats, and are distributed by TARA Systems GmbH, semiconductor manufacturers and distribution partners. A platform package to run GUI applications on a Microsoft Windows System is included in every Embedded Wizard license.

Each platform package contains a dedicated code generator and resource converter for bitmaps and TrueType fonts, which are adapted to a specific chipset, and - if available - operating system.

Another platform package can be licensed, which generates JavaScript/WebGL source code instead of ANSI C.

Workflow
Following the approach of object-oriented programming, each Embedded Wizard project consists of classes which implement a certain part of the design and/or functionality. The class library of Embedded Wizard, called Mosaic, is part of every project and provides the basic functionality for visual objects, focus handling, layouting, event handling and more.

To create a graphical user interface, Embedded Wizard provides basic functions like rectangles, gradients, lines, (multiline) text boxes, import of bitmaps and TrueType fonts, but also GUI widgets like menus, scrollbars, buttons, and sliders. Besides the visual objects, developers can create methods, properties, variables, and enums to implement a certain behavior, using Embedded Wizards own programming language Chora. Embedded Wizard follows the approach of visual programming. All logical elements, like methods, properties or variables are represented in the IDE as visual bricks. This enables developers, for example, to assign a variable as a parameter for a method by drag-and-drop.

The members of the class library can be flexibly extended by developers according to their needs. The available Knowledge Base accompanied by video tutorials and open community forum Ask Embedded Wizard help the developer to get familiar with the technology.

Embedded Wizard supports rapid prototyping and testing of the user interface. A debugger for the Chora code is integrated as well. During code generation, the Chora code is transformed into ANSI C code or JavaScript for a specific chipset, using the appropriate platform package. The generated C code needs to be compiled and linked with the runtime environment (RTE) and graphics engine (GE) of the platform package.

Availability
The Embedded Wizard Studio is distributed by TARA Systems GmbH or its distributors as a per-developer license. A royalty fee for each device, equipped with an Embedded Wizard application, is not charged.

Platform Packages are available for more than 60 various chipsets (as of 2021). Embedded Wizard is a selected solution by many semiconductor manufacturers for their chipsets. A complete list of all supported chipsets and operating systems can be found on http://www.embedded-wizard.de/platforms.html.