Standard Widget Toolkit for Embedded GUI

Sparklet's Standard Widget Toolkit provides 36+ performance-optimised, ready-to-use UI widgets for MCU and MPU display applications. Build instrument clusters, HMI panels, medical monitors, and consumer appliances without writing a single rendering primitive — drag-and-drop in Flint UI Designer and deploy directly to hardware.

What Is a Standard Widget Toolkit for Embedded GUI?

A standard widget toolkit is a library of pre-built, reusable UI components — buttons, meters, graphs, sliders, progress bars, carousels, and more — that an embedded GUI framework provides out of the box. Instead of writing rendering code for every UI element from scratch, developers configure and combine widgets through a high-level API. Sparklet's standard widget toolkit includes 36+ widgets across four categories: Input & Control, Display & Data Visualisation, Navigation & Selection, and Layout & Containers. All widgets are written in pure C, MISRA C compliant, and accelerator-aware — they route rendering operations to DMA2D, D/AVE2D, or Mali GPU automatically when available on the target hardware.

Widgets are the primary productivity multiplier of any embedded GUI framework. The Flint UI Designer lets you place and configure widgets visually on a WYSIWYG canvas and export production C code in a single click — no manual widget initialisation code required.

36+ Widgets — Four Categories

Browse Sparklet's widget library by category. All widgets are configurable via Flint UI Designer without writing initialisation code.

Layout & Container Widgets — Organise Your Interface

These widgets provide the foundational structure for organising your user interface. They act as parents and containers, controlling how child widgets are positioned, layered, and scrolled.

FixedView Widget

The essential container for managing multiple child widgets. Position and layer elements with pixel-perfect control, creating static layouts, headers, or footers. All child coordinates are relative to the FixedView origin, making it simple to build composite screen panels.

CarouselView Widget

Create engaging, swipeable showcases for products, features, or images. Supports both horizontal and vertical orientations with fluid animations to capture user attention. Commonly used in consumer appliances and home automation panels for feature category browsing.

ScrollView Widget

Enable scrolling for content that exceeds the screen size. ScrollView is a fundamental container that houses a single child widget and provides smooth vertical or horizontal scrolling. Contains three internal sub-widgets: two ScrollBars and a Viewport. Supports both touch-drag and programmatic scroll.

ListView Widget

Display items sequentially, either vertically or horizontally. Perfect for menus, contact lists, or settings pages. Comes with built-in styles for solid colour, transparent, or image-based backgrounds. Supports item selection events and programmatic scrolling to a specific item index.

GridView, Holder, Viewport, Window, Dialog, MsgBox

Additional container and shell widgets: GridView for uniform tile layouts; Holder for framework-internal widget grouping; Viewport for clipped sub-canvas regions; Window as the top-level screen container; Dialog for modal pop-up interactions; MsgBox for brief non-blocking notifications.

Widget Capability Overview

WidgetCategoryKey PropertiesEventsHW Accel
Button (Push/Toggle/Radio)InputLabel, icon, statesPRESS, RELEASE, TOGGLEDMA2D / D/AVE2D
SliderInputMin, max, step, orientationDRAG_START, DRAG, DRAG_ENDDMA2D / D/AVE2D
RotaryKnobInputMin, max, step, angle rangeVALUE_CHANGED/AVE2D (arc)
Meter (Dial/Gauge)DisplayMin, max, zones, needle styleVALUE_CHANGED/AVE2D, DMA2D
GraphData VizLine/Bar/Range, axes, seriesDATA_PUSHDMA2D / D/AVE2D
ProgressBarDisplayLinear/Circular, fill directionVALUE_CHANGEDMA2D / D/AVE2D
ClockDisplayHands, dial face, tick marksTIME_UPDATED/AVE2D (anti-alias)
CarouselViewContainerH/V orientation, item countSWIPE, ITEM_SELECTDMA2D (blit)
ScrollViewContainerH/V scroll, momentumSCROLL, SCROLL_ENDDMA2D (blit)
3DWidgetAdvanced 3D.obj/.fbx model, materialTOUCH_3DOpenGL ES / Vulkan
WheelPickerNavigationItem list, visible rows, snapVALUE_CHANGEDMA2D (blit)
ListViewNavigationH/V type, 3 background stylesITEM_SELECT, SCROLLDMA2D (blit)

Four Design Principles Behind Every Widget

Sparklet widgets are engineered for embedded constraints — not adapted from desktop components.
Composable

Composable

Widgets are parent-child composable — a FixedView can contain Buttons, Labels, ImageHolders, and Graphs in any combination. No layout engine constraints. Coordinates are pixel-absolute, matching hardware display specifications exactly.

Themeable

Themeable

Every widget property — colour, font, image asset, border style, animation timing — is configurable via Flint UI Designer or the C API. Themes can be switched at runtime without a code rebuild, enabling multi-brand product variants from a single binary.

Event-Driven

Event-Driven

Widgets fire typed events (PRESS, DRAG, VALUE_CHANGE, SWIPE) that the application handles via Sparklet's hierarchical state machine or direct callback registration. No polling loops. Event data includes the source widget ID and current value, simplifying state machine guard conditions.

Accelerator-Ready

Accelerator-Ready

All rendering-heavy operations — alpha blending, image blit, fill, gradient, arc draw — are routed through the GDI to hardware acceleration APIs when available. The same widget binary runs correctly on software-renderer MCUs and hardware-accelerated platforms without code changes.

Frequently Asked Questions

Sparklet includes 36+ pre-built widgets covering four categories: Input & Control (Button, Slider, RotaryKnob, CheckBox, TextEdit, SwipeButton, StepInput), Display & Data (Static, TextArea, ImageHolder, Graph, Meter, ProgressBar, Clock, BusyIndicator), Navigation & Selection (ListBox, ListView, ComboBox, Menu, Tab, TaskBar, WheelPicker, DotNavigator), and Layout & Containers (Window, Dialog, Holder, ScrollView, Viewport, FixedView, GridView, Carousel, MsgBox, 3DWidget, 3DView, Keyboard, KeyboardKey, CustomWidget). All 36+ widgets are available in the evaluation package.

Ready to Evaluate Sparklet's Widget Toolkit?

Request a free Sparklet evaluation package — 36+ widgets, Flint UI Designer, sample projects for all platforms, and API documentation. No hardware required to start.