NEMA®|gui-builderTHE ULTIMATE GRAPHICAL USER INTERFACE DEVELOPMENT TOOL FOR IOT, WEARABLES AND EMBEDDED SYSTEMS
Create impressive GUIs in a fraction of time
NEMA®|GUI-Builder* is a complete graphical user interface (GUI) development tool intended for creating the visual part of a modern display for IoT, wearables and embedded systems.
Its main purpose is to provide the end users with a simple and flexible tool for rapid graphical user interfaces development, tailored to the needs of ultra-low power systems. NEMA®|GUI-Builder will save you precious development time, because much of the time-consuming development effort on visual components is moved from traditional direct coding to an efficient visual PC application.
The traditional GUI development approach is slow and cumbersome for graphical tasks, as a lot of trial and error is necessary before a satisfactory result is reached. Designing the GUI on the PC offers substantial benefits on the time used, as user interface development work is by nature very visually oriented. NEMA®|GUI-Builder takes advantage of the PC as an excellent platform for graphical, or visual, applications moving the visual part of the target system programming from C or NEMA®|GFX coding to a visually oriented PC application.
NEMA®|GUI-Builder enables the design of high quality, seamless and interactive graphical interfaces within minutes instead of spending months on developing the corresponding code that produces equivalent graphical results. In addition, there is no need for the end users to know details about the underlying graphics API. Hence, the process of designing a user interface is automated reducing considerably the time to market. Also, as NEMA®|GUI-Builder moves the user interface development work from direct coding to a drag-n-drop development style that comes along with a PC-based simulation environment, it is simple to develop PC simulator applications for early development / evaluation, marketing purposes, training, etc.
NEMA®|GUI-Builder has been developed from scratch for low power systems with a constant eye on the limited resources available. Our extensive knowledge of embedded development ensures that the NEMA®|GUI-Builder strikes an optimal balance between low memory footprint and fast display rendering. Thus, NEMA®|GUI-Builder is the ultimate solution for developing menu-based graphical user interfaces that respond to the user's touch for IoT, wearables and embedded systems.
Additional informationDownload NEMA®|GUI-Builder
The procedure followed by this tool is simple and straightforward. The user performs drag-n-drop operations on the desired graphics items in a design area, selects the associated assets (images and fonts), sets the desired events and then the tool automatically generates the code that implements the designed graphical interface. The generated code can be afterwards compiled and deployed on a compatible system.
Think Silicon’s proprietary NEMA®|GFX is utilized in the generated code which makes it compatible with a great variety of computing systems (multiple operating systems or none, bare metal support). In resource constrained devices (such as embedded and wearable devices) it is imperative that the software executed on the device will utilize the available resources in an optimal way. This is achieved through the NEMA®|GFX, as its modular architecture is designed specifically for this kind of applications. Its small memory footprint, command lists features (allowing optimal CPU-GPU decoupling), low overhead features and lack of any external dependencies makes it an ideal API for developing vivid graphics on ultra-low power devices.
Moreover, NEMA®|GFX comes in two flavors; NEMA®|GPU or CPU based rendering. As a result, the generated code of NEMA®|GUI-Builder can run on CPU - NEMA®|GPU systems (optimum performance, maximum energy efficiency) but also on CPU-based embedded systems (where no GPU is available), depending on the target system and/or platform.
*NEMA®|GUI-Builder (non-commercial version)
Any GUI designed in the NEMA®|GUI-Builder consists of several graphics items which are the fundamental items of the GUI. The user can easily drag-and-drop such items in the design area and in this stepwise way a GUI can be designed in minutes.
Graphics items include:
- Primitives (circle, rectangle, rounded rectangle, image and label) with fully customizable size and color according to your needs and taste.
- Containers (container, table, window) which are more complex items than primitives as they can be used in order to group together several other items. Containers are also fully configurable to satisfy even the most demanding tastes.
- Widgets (label button, icon button, radio button, horizontal slider, vertical slider, digital meter, icon, progress bar, gauge, circular progress, watch face) are the graphics items that handle the user interaction during application run-time. All widgets can be easily copied, modified, and extended in order to achieve any desired look and behavior.
A GUI usually involves several screens for its smooth operation. In NEMA®|GUI-Builder screens can either be configured as Primary or Secondary screens. This affects the way they are displayed at application run-time. Primary screens have fixed resolution and when they are displayed they occupy the whole area of the frame-buffer. Secondary screens have variable resolution so that they can be used along with a Window item or they can be displayed as pop-up screens.
NEMA®|GUI-Builder is able to design astonishing animations, gorgeous graphics and smart effects for screen transitions and show/hide events.
NEMA®|GUI-Builder supports multiple frame-buffer formats making it the ideal solution for developing GUIs for low-power devices:
Current supported formats for the imported images are png, jpg and svg. After importing an image to NEMA®|GUI-Builder, the user can modify the target format by selecting the most suitable one from the list below:
- RGBA8888 (32 bits-per-pixel)
- RGBA5650 (16 bpp)
- RGBA5551 (16 bpp)
- RGBA4444 (16 bpp)
- L8 (luminance-only 8bpp)
- A8 (transparency-only 8bpp)
- Think Silicon’s proprietary and patented formats
- TSC™4 (4 bpp)
- TSC™6 (6 bpp)
- TSC™6a (6 bpp with alpha channel support)
Through bilinear filtering NEMA®|GUI-Builder is able to develop GUIs with optimum trade-off between performance and rendering quality.
NEMA®|GUI Builder is able to generate images as source code so as to be easily stored to code memories enabling the efficient usage of the platform’s memory resources.
NEMA®|GUI-Builder enables the user to import images of any resolution guaranteeing that images will be scaled down automatically based on the actual needs of the GUI and ensuring optimum memory usage and minimum power consumption.
NEMA®|GUI-Builder currently supports Windows (10) and Linux (Ubuntu 32/64-bit).
The animations frame rate can be easily customized at 15, 30 and 60 frames per second (fps) to fulfill the needs of any low-power GUI.
NEMA®|GUI-Builder supports anti-aliased fonts which is the optimum solution for low power GUIs.
NEMA®|GUI-Builder utilizes the Event Manager for managing the events associated to a project. This maximizes the users’ interaction during run-time and allows them to inspect, add or remove events according to the needs of the project in a user-friendly way. Besides the predefined events that are defined for each graphics item, the user is also able to assign custom events and tailor their functionality to the project requirements.
The developed project can be simulated at its current status so that the user can instantly observe whether its behavior is the desired one or not. Screen transitions, show/hide animation effects, scrollable graphics items and the rest of the visual features can be inspected at no time in the simulation window.
NEMA®|GUI-Builder enables the user to know beforehand the memory requirements of the developed GUI.
NEMA®|GUI-Builder generates the project assets (images and fonts), events as well as the GUI structure. Then, the generated project can be compiled and linked with the NEMA®|GFX library in order to be deployed to the target system.
- Windows (10)
- Linux (Ubuntu 32/64-bit)
800x600 or higher
at least 256MB
100MB available space