3D Graphics & Widgets for Embedded Displays

Sparklet integrates 3D rendering natively into the embedded widget tree — import .obj and .fbx models in Flint, apply OpenGL ES or Vulkan pipelines on MPUs, or use the software 3D renderer on capable MCUs. Automotive clusters, digital twins, and next-generation HMIs without a separate 3D engine.

What Is Embedded GUI 3D Graphics?

Embedded GUI 3D graphics refers to rendering three-dimensional models, animations, and visual effects on an embedded display using the GPU pipeline (OpenGL ES or Vulkan) on capable MPUs, or a software 3D renderer on higher-end MCUs. Unlike desktop 3D engines which require full operating system graphics stacks, Sparklet integrates 3D rendering directly into the embedded widget tree — a 3D scene occupies the same layout system as any other widget, positioned, sized, and animated through the same Sparklet APIs.

Sparklet provides two dedicated widget types for 3D content: 3DWidget places a 3D scene inline in a 2D screen layout, and 3DView provides a full-screen or large-area 3D rendering context. Both are designed in Flint UI Designer alongside conventional 2D widgets and exported as a single C codebase — no separate 3D engine integration required.

3D content is authored by importing .obj or .fbx model files directly into a Flint project. Flint converts the geometry and textures to a platform-optimised format at export time, compresses the data, and embeds it in the generated C code. On hardware with a GPU (Mali-Limav, OpenGL ES, Vulkan), the geometry is rendered by the GPU pipeline. On MCUs without a GPU, Sparklet's software 3D renderer handles simple models and depth-effect transitions. Sparklet's embedded GUI feature set covers all three rendering tiers through the same GDI abstraction layer.

3D Rendering — Three Tiers for Every Hardware Level

Software 3D — MCUs Without GPU

Not all embedded platforms include a GPU, yet product teams increasingly want 3D visual effects to differentiate their display UI. Sparklet's software 3D renderer addresses this for MCUs with sufficient CPU speed and memory bandwidth — such as STM32H7 (480 MHz Cortex-M7) and NXP i.MX RT1170 (1 GHz Cortex-M7). The software 3D renderer is designed for simple models and specific effects rather than complex scene rendering. Appropriate use cases include: animated 3D dial needles that rotate in perspective (the needle geometry is a few triangles — well within software 3D throughput on STM32H7), small product icon rotations at 30fps in 320×240 display regions, screen transition effects using 3D perspective projection (zoom-into or fly-through), and frustum-projected warning text that conveys distance and spatial position for ADAS overlays. The software renderer supports Z-buffer hidden surface removal, flat and Gouraud shading, texture mapping from compressed Sparklet image assets, and basic perspective projection. For complex 3D requirements on MCUs without a GPU, Embien recommends evaluating Renesas RA8D1 (Mali GPU on MCU silicon) or an MPU upgrade.

Mali GPU — Renesas RA8D1

The Renesas RA8D1 integrates a Mali-Limav GPU directly on an ARM Cortex-M55 MCU — bringing OpenGL ES 2.0 capability to MCU-class silicon. This is a significant threshold: a product can achieve GPU-rendered 3D without the software complexity and BOM cost of an MPU plus OS. On RA8D1, Sparklet uses the Mali GPU for: animated 3D gauges (a digital instrument cluster needle that rotates in perspective with lighting, depth, and material properties — achievable at 720p/60fps), 3D product model rotation in settings screens, digital twin overlays (industrial pump or motor rendered as a 3D model with real-time colour-coded state overlays driven by live sensor data), and 3D page-flip screen transitions. Sparklet's GDI HAL for RA8D1 configures the Mali GPU automatically. The application uses standard 3DWidget APIs — the GPU pipeline is selected at build time with no application code changes. This tier delivers desktop-quality 3D rendering at MCU power budgets and cost points.

OpenGL ES & Vulkan — NXP i.MX 8 / Rockchip

On MPU-class hardware running Embedded Linux, Sparklet targets the Mali GPU (i.MX 8) or platform GPU (Rockchip RK3506G2) via a full OpenGL ES 2.0 or Vulkan pipeline. These platforms have the GPU horsepower and memory bandwidth to render complex 3D scenes at high resolutions — 1080p/60fps on i.MX 8 for a typical automotive IVI 3D panel. In this tier, Sparklet: submits 3D geometry as OpenGL ES draw calls to the GPU driver via the standard EGL/GLES2 interface (or Vulkan on supported platforms), composites the 3D render output with the 2D widget layer using GPU multi-pass compositing (so a 3D speedometer needle appears correctly layered with 2D text labels and overlay graphics), supports shadow maps, material shaders, and per-pixel lighting through the OpenGL ES shader pipeline, and handles animated 3D models via keyframe animation data exported from Flint. Use cases in this tier: automotive IVI 3D navigation map, digital cluster with animated 3D gauge face, ADAS camera overlay with 3D sensor visualisation, and consumer electronics product configurator. See Sparklet for NXP for i.MX 8 integration details.

3D Asset Pipeline — From Flint to Embedded Hardware

Sparklet's 3D asset pipeline eliminates the manual geometry conversion and optimisation work that embedded 3D development typically requires. The complete workflow runs inside Flint UI Designer — no separate 3D tool chain is needed.

Step 1 — Import .obj or .fbx in Flint

Drag a standard .obj (Wavefront) or .fbx (Autodesk) model file into the Flint asset library. Flint reads the geometry, material definitions, and animation keyframes from the file. The model is displayed immediately in Flint's 3D viewport for visual verification. Most professional 3D authoring tools — Blender, Autodesk Maya, SolidWorks, CATIA — export to one or both of these formats.

Step 2 — Assign to 3DWidget or 3DView in the screen layout

Drop a 3DWidget onto any screen layout in Flint. Assign the imported model to it. Configure the initial camera position, lighting parameters, material overrides, and animation clip bindings using Flint's 3D inspector panel — a visual, no-code workflow. For software 3D renderer targets, Flint enforces polygon count recommendations automatically and flags models that exceed the renderer's throughput budget.

Step 3 — Flint auto-converts and optimises

On export, Flint converts the model to Sparklet's internal mesh format: vertices are quantised and indexed for memory efficiency, textures are compressed using Sparklet's image compression pipeline, and animation keyframe data is packed into a compact binary representation. The target platform is selected in Flint's project settings — mesh complexity limits and shader targets are applied accordingly.

Step 4 — Single-click C code export

Flint exports the complete UI — 2D screens, 3D models, animation data, string tables — as a single C codebase. For GPU targets (Mali, OpenGL ES, Vulkan), Flint includes GLSL shader source. For software 3D targets, Flint includes pre-computed mesh data in Sparklet's renderer format. The exported code compiles with a standard ARM embedded toolchain; no additional 3D engine SDK is required.

This pipeline is the same one used for automotive HMI demos that Embien has delivered to Tier 1 suppliers.

3D Capability Comparison by Rendering Tier

CapabilitySoftware 3D (STM32H7, i.MX RT)Mali GPU (RA8D1)OpenGL ES / Vulkan (i.MX 8)
Simple 3D models (low poly)YesYesYes
Complex scene geometryLimitedYesYes
Per-pixel lighting / shadersNoYes (GLES)Yes (GLES / Vulkan)
Shadow mapsNoYesYes
Keyframe animationYes (simple)YesYes
GPU-composited 2D + 3D layersNoYesYes
1080p resolutionNoNoYes
Depth-effect screen transitionsYesYesYes
Digital twin overlaysLimitedYesYes
.obj / .fbx import in FlintYesYesYes

3D Embedded GUI — Industry Use Cases

Four application areas where Sparklet's 3D graphics capability creates genuine product differentiation.
Digital Cluster

Automotive Digital Clusters

3D animated gauge needles, tachometer arcs, and perspective warning symbols on Renesas RA8D1 and RH850. The visual depth of GPU-rendered 3D gives next-generation clusters the premium feel that 2D sprites cannot match.

Digital Twin

Industrial Digital Twins

Render a 3D model of the monitored machine alongside its live sensor data — heat-map colour overlays, fault position highlighting, valve state visualisation. On i.MX 8 at full 3D fidelity or RA8D1 for MCU-class systems.

IVI 3D

Automotive IVI & Navigation

3D navigation map rendering, animated 3D lane guidance, and ADAS sensor visualisation on NXP i.MX 8 with OpenGL ES. The same Sparklet widget tree hosts the 3D map panel alongside 2D audio, climate, and phone widgets.

AR Overlay

HUD and AR Overlays

Perspective-projected 3D text, range arcs, and directional indicators for head-up display (HUD) and augmented reality overlay applications — depth-correct 3D composited over a live camera feed in the Sparklet layer stack.

Frequently Asked Questions

Yes — Sparklet supports 3D graphics natively, across three rendering tiers: full OpenGL ES and Vulkan on MPUs running Embedded Linux (NXP i.MX 8, Rockchip RK3506G2), OpenGL ES 2.0 via Mali-Limav GPU on Renesas RA8D1, and a software 3D renderer for simple models on high-end MCUs (STM32H7, i.MX RT). 3D content is placed in the standard Sparklet widget tree using 3DWidget or 3DView components and designed in Flint UI Designer alongside all other 2D UI elements.

Try Sparklet 3D Graphics on Your Hardware

Download the Sparklet evaluation package including Flint UI Designer. Import a 3D model, configure a 3DWidget, and run the result on the Windows simulator — or deploy to your target MCU or MPU evaluation board.