Embedded Graphics Library and Visualization Toolkit for ARM-based Linux Systems
(Beagle Bone, Raspberry Pi, NVIDIA Jetson Nano - ARM6, ARM7 and ARM8 boards)

Free Community Edition

Click here to download Community Edition
Click here to run Online Demos
Click here for tutorials and documentation
Click here for Supported Platforms
Click here for the Community Edition License
Community Edition Discussion Group

The GLG Toolkit is an extremely flexible and robust graphical framework for building elaborate visual simulations and dynamic graphical screens that display real-time data.

The Embedded Edition of the Toolkit provides support for ARM processors and embedded boards. Both ARMv6, ARMv7 and ARMv8 AArch64 architectures are supported, including the Beagle Bone, Raspberry Pi and NVIDIA Jetson Nano boards. The Embedded Edition supports all features of the Toolkit, making it easy to develop an application that can be run on both desktop and embedded devices.

The Free Community Edition of the GLG Toolkit is a fully functional version of the toolkit containing a complete set of tools for developing embedded graphics and elaborate HMI interfaces for embedded devices.

The Community Edition includes a graphical  editor, a large number of pre-built components and a native C/C++ library for using the HMI screens into an application. The GIS component is also provided, as well as a Java class library for developing Java applications. The Toolkit's run-time library can be easily integrated into existing applications, making it an ideal tool for developing embedded graphical interfaces.

Click here for more information.

Point and Click Graphical Editor

GLG Graphics BuilderThe GLG Graphics Builder is an interactive graphical editor for creating animated graphical drawings, elaborate simulations and HMI screens. Using the Builder, a developer can draw graphical objects, define their properties, as well as attach dynamics and define resources for animating the drawing with real-time data.

The GLG drawings are screen resolution-independent, which makes it possible to deploy them on a wide range of displays - from large monitors to embedded LCD displays. Drawings created with the Builder can be reused between desktop and embedded applications. For convenience, the drawings are usually created on the development system on the desktop, but the Builder can also be run on the embedded board itself, if necessary.

The graph, dial and meter widgets are available in the Graphics Builder for drag and drop editing via the widget palettes. New widgets and custom symbols may be created with the Builder and added to the Builder's palettes as reusable components.

The prototype mode of the Graphics Builder may be used to animate a drawing or widget with real or simulated data. The run command of the Builder has a variety of options for supplying data. For samples of run commands, use Ctrl-Click in widget palettes to load widget drawings with the default run commands, then click on Run in the toolbar to prototype. A custom editor extension DLL can also be used to supply data and handle user input, allowing to prototype a complete application right in the Builder.

Click here for more information.

Run-Time: C/C++ Library

The Toolkit provides native C/C++ libraries for the run-time deployment. on a variety platforms, including ARM-based embedded devices and boards. An application can be developed on a desktop system and then compiled for the embedded ARM device. Both ARMv6, ARMv7 and ARMv8 AArch64 architectures are supported, including the Beagle Bone, Raspberry Pi and NVIDIA Jetson Nano boards.

The GLG library is used by an application to load, display and update the HMI screens with real-time data at run time. The library provides a concise but extensive programming API that allows developers to configure the HMI displays at run time, as well as to handle user interaction with the displays.

Java Class Library

A Java version of the GLG library may be used to create a cross-platform version of an application.

The GLG drawings can be reused between the C/C++ and Java versions of the application. The Java version of the GLG library provides the same functionality and a similar API  as the C/C++ version,  making it possible to reuse the programming logic and simplify porting an application from C/C++ to Java.

HTML5 JavaScript Library for Web and Mobile Deployment

The GLG JavaScript Library is used to deploy the HMI displays on a web page in a browser, on any desktop or mobile device. The library provides an API to load and display drawings created with the Graphics Builder, animate them with real-time data and handle user interaction.

The GLG JavaScript Library implements full GLG run-time functionality present in the GLG C/C++, C# and Java libraries, allowing the same graphical page and programming logic to be shared between the desktop, web and mobile versions of an application.

The library uses HTML5 canvas to render graphics and supports all major browsers: Chrome, Firefox, Edge and Safari, as well as mobile browsers. Since the rendering is performed by the browser on the client side, the server load is reduced, making it possible to use low-end embedded web servers for hosting a web application.

Click here to run Online Demos (HTML5 & JavaScript).
Click here to run Online AJAX Demos (Server-Side ASP.NET / JSP).
Click here for more information on the GLG JavaScript Library.

GLG Graphics Server for an Alternative Server-Side Web Deployment with ASP.NET / JSP

The GLG Graphics Server provides a thin-client server-side alternative for displaying dynamic graphics on a web page. With the Graphics Server, the graphics is generated on the web server and displayed in a browser as an image, which is periodically updated to reflect changing data.

The Graphics Server is deployed on the server as either a custom ASP.NET HTTP Handler or a JSP Servlet. The handler or servlet loads the drawings created using the GLG Builder, updates them with current data and generates images that are displayed on the application's web pages. The Graphics Server also handles AJAX user interaction requests, such as object selection, tooltips and button clicks, as shown in the demos and examples included in the download.

Click here to run Online Demos (HTML5 & JavaScript).
Click here to run Online AJAX Demos (Server-Side ASP.NET / JSP).
Click here for more information on the GLG Graphics Server.

GIS Map Server

The GLG Map Server library and an integrated GIS component  are also available for embedded ARM devices, makes it possible to deploy a GIS application on a stand-alone embedded system.

When used with the Toolkit, an integrated GIS Object renders a map in the background of a GLG drawing and takes care of all chores of zooming, panning and coordinate conversion, while the Toolkit handles rendering of dynamic icons on top of the map and updating them in real time.

The GLG Graphics Builder facilitates interactive setup and rapid prototyping of the map component with no programming, by simply editing GIS objects in the drawing.

The GIS component supports optimized rendering of millions of points, both raster, vector and elevation data, rectangular and orthographic projections, unlimited layering, full alpha-blending, transparency and dynamic attribute thresholding. It is optimized for both the whole globe and small region maps, supports hierarchical tiling, tile cache and automatic layers selection based on zoom thresholds.

Click here for Online Demos
Mobile Process Control
SCADA Viewer
Mobile Circuit
                Avionics Dashboard
                Chart with Cursor Feedback
Air Traffic
                MonitoringCustom Process

Click here for more information on the Community Edition
Click here to Download Community Edition
Click here for Online Documentation