Welcome to Embedded Wizard
Embedded Wizard is a technology that enables you to create platform-independent and high-performance graphical user interfaces (GUIs) for resource constrained embedded systems. Almost every kind of application that requires the display of graphical contents can be realized easily with Embedded Wizard. These are for example:
★Industrial GUI applications for surveillance and controlling.
★Human-Machine-Interfaces (HMI) in automotive or medical devices.
★Smart home applications.
★Multimedia applications in consumer electronic devices.
Embedded Wizard lets you create GUIs that easily adopt the user experience of smartphones with astonishingly fast animations, gorgeous graphics and smart effects. By using this technology you will increase the productivity and improve the structure of your project. Moreover, Embedded Wizard enables you to develop, customize and port your GUI application faster on various product platforms.
★To develop a GUI application you use the user-friendly authoring tool called Embedded Wizard Studio. It allows you to design the appearance of the user interface and to implement the corresponding behavior. During this phase you create all necessary GUI components (e.g. buttons, lists, panels, alerts, screens, ...). You do this by clicking, dragging, and connecting visual with logical components using the mouse.
★Due to the integrated Prototyper you benefit from instant WYSIWYG (what you see is what you get) and evaluate your GUI’s appearance as well as behavior at every step of the design process without the need of programming the target hardware. If your GUI components don't behave as expected, the integrated Debugger helps you to find the cause of the problem.
★Once finished the development process, Embedded Wizard Studio generates source code (e.g. ANSI-C) optimized for your dedicated hardware platform. You add the source files to your build environment (e.g. Eclipse or MAKE). Depending on the platform few additional files or libraries belonging to so-called Platform Package have to be added to the build system.
★By using your build environment you compile all files to a single binary, which then is ready to be executed in the target system.
★Modern and user-friendly WYSIWYG authoring tool Embedded Wizard Studio.
★Object-oriented, component based development approach.
★Integrated prototyping and debugging environment to test the GUI application instantly.
★Generation of source code optimized for the dedicated target system.
★Import of images provided in PNG, JPG, BMP and GIF files. The images are automatically converted in color formats adequate for the dedicated target system.
★Support of multi-frame and animated images. Ideal for animated icons.
★Support of alpha-only images. The color can be determined at the runtime.
★Import of glyphs and metrics from TrueType fonts installed on the PC.
★Integration with an extern image decoder and TrueType font engine is possible.
★Support of text with code points from UNICODE plane 0 (0x0000..0xFFFF).
★Support of bidirectional text (BIDI) output with left-to-right (LTR) and right-to-left (RTL) text writing direction, as well as combinations of them according to the Unicode Standard Annex #9 Unicode version 10.0.0.
★Support of Arabic or Hebrew strings. For printing Arabic strings, contextual shaping and mandatory ligatures are supported.
★Diverse views to display scrollable contents and to group other views together.
★The views can be configured to be displayed with or without alpha-blending, opacity modulation or color gradients. See also Compositing component appearance.
★Rich set of ready-to-use widgets. The appearance as well as the behavior of the widgets can be configured individually.
★Rich set of GUI component templates to be used as starting point when creating new GUI components.
★Localization of images, texts as well as other data entities to simplify the creation of multi-lingual GUI applications.
★Support of themes and product variants by creating multi-variant GUI components, images, etc. Selection of the right variants occurs automatically during code generation or dynamically at the runtime.
★Layout constraints for automatic adaptation of the layout when resizing GUI components.
★Diverse handler to process touch screen events and gestures. Support of multi-touch.
★Handler to process keyboard (or hardware buttons) events.
★Various timer and effect objects to enrich the GUI application with animations.
★Support of screens and animated transitions between them.
★Automatic garbage collection to reclaim unused memory.
★Automatic estimation of CLUT (color look-up table) optimized for target systems using a CLUT based frame buffer.
★Documentation extraction from the project.
★Rich set of available example projects.
Supported target systems
Embedded Wizard supports a wide range of target systems, starting from low-end resource constrained micro-controllers (MCUs) with external display controller, up to high-end microprocessors (MPUs) with integrated 3D GPU supporting OpenGL. If a certain target system provides a hardware graphics accelerator, it will be used in order to achieve the best possible graphics performance and to reduce the overall CPU load. In general, the prerequisites for supporting a certain target are very low:
★access to linear pixel based frame buffer
★access to one timer with 1-10 ms resolution
★interface for debugging outputs, e.g. printf()
The choice of an operating system is more than flexible: Embedded Wizard GUI applications can be used on targets without any operating system (so called bare metal) as well as on targets with operating systems like Embedded Linux, FreeRTOS, Nucleus, Win32, WindowsCE, Android, iOS, macOS, and others. For the most common targets (like STM32Fxxx Discovery and Evalboards, NXP dev kits, Microchip, Raspberry PI, ...) we provide so-called Build Environments that contain a ready-to-use display adaptation. Please follow the instructions found in the chapter Build Environments.
Please note, the authoring tool Embedded Wizard Studio itself can be used on a desktop PC running Microsoft Windows 7 or higher only. If you are working on a Linux or macOS machine, we would recommend you to install Embedded Wizard within a virtual machine (e.g. VMWare or Parallels Desktop).
Supported frame buffer color formats
The color format of a GUI application depends on the capabilities of the desired target system and on the possible color format of the frame buffer. In general, Embedded Wizard supports many different color formats like:
★32-, 24-, 16-bit true color formats (RGBA8888, RGB888, RGBA4444, RGB565)
★8-bit CLUT based (color look-up table) color format (Index8)
★8-bit grayscale/monochrome format (LumA44)
Embedded Wizard is a bundle of two parts: Embedded Wizard Studio to develop GUI applications on your Windows PC and a dedicated Platform Package which acts as an abstraction layer to the used chip, graphical subsystem and operating system (if any) of your embedded system. Embedded Wizard Studio is available in two different editions:
Embedded Wizard Studio Free - Intended to get familiar with the technology and to evaluate it on different target systems. It can be used for production if you are creating small GUI projects. All features are available within this edition, only the complexity of your GUI application is limited. Please register on our website to download Embedded Wizard Studio Free.
Embedded Wizard Studio Pro - This is our full-featured license for professional projects without limitations. For more details please have a look to the pricing model of Embedded Wizard.
In turn, the Platform Package code to run in your device is provided as source code or compiled library depending on your license. In particular no source code is contained in the Evaluation edition of the Platform Package. Similar is true if you are working with Small Business edition. The library provided for Evaluation edition can additionally be watermarked.
Getting started with Embedded Wizard
Embedded Wizard provides several approaches to realize a well-structured GUI application, that is easy to re-use, easy to customize and easy to port on different platforms. Nevertheless, the usage of Embedded Wizard does not automatically result in a reasoned application. In order to make proper use of Embedded Wizard’s functionalities that are meant to facilitate your work, a good understanding of the philosophy behind is necessary.
In order to get familiar with Embedded Wizard Studio and the UI development workflow, we highly recommend to study first the Quick Tour - a Tutorial article. If you are about to bring up your application in the target system please see the corresponding Getting started with ... article in the chapter Platform Integration.