Bring your Figma artboards directly into Flint UI Designer. Layers auto-map to Sparklet widgets, assets are compressed for Flash, and production C code is exported — eliminating manual design recreation.
The Figma to embedded GUI workflow is the process of importing Figma artboard designs into Flint UI Designer, automatically mapping Figma layers to Sparklet widget types, extracting and compressing image and font assets for embedded Flash storage, and exporting production-ready C code for the target MCU or MPU — without any developer manually recreating the design in a separate tool.
Most embedded product teams use two separate design environments today: a product designer works in Figma to create the visual specification, and a firmware developer then manually rebuilds that design inside their embedded GUI tool — creating two diverging representations that must be kept in sync by hand throughout the project.
Flint's Figma import collapses these two representations into one. The Figma design becomes the starting point for the Flint project directly, not a static reference document that developers interpret. This page explains the four-step import workflow, automatic layer-to-widget mapping, the asset pipeline, and the honest limitations of what is and is not carried across during import. See also: code generation, state machine editor.

From Figma, the designer exports the target artboards as a structured JSON file plus a directory of image assets. The JSON contains the complete layer tree: names, types, positions, sizes, colours, corner radii, opacity values, and text content. The image assets directory contains PNG exports of every image layer referenced in the design. This export uses Figma's standard export API — no custom Figma plugin is required for standard artboard structures.

Flint's import wizard accepts the JSON export and image assets directory. It parses the layer tree and automatically maps each Figma layer to the closest Sparklet widget type based on the layer's type and structural role. Widget positions and sizes from Figma are preserved at pixel accuracy, relative to the target display resolution specified in the Flint project. Text content, font references, and colour values are transferred directly.

Images identified during import are automatically passed through Flint's asset compression pipeline. PNG files are converted to the display's native colour depth (16-bit, 24-bit, or 32-bit ARGB), compressed, and prepared as C const arrays for Flash storage. Fonts are identified by name from the Figma JSON; the developer provides the corresponding TTF file, which Flint uses to generate the pre-rendered glyph table — only the glyphs used in the design are included.

The imported project is a starting point, not a finished embedded UI. After import, the developer reviews the auto-mapped widgets, corrects any mappings that need adjustment, and adds the elements that Figma prototypes do not contain: state machine logic (screen transitions, event handling), data bindings (live widget values from application variables), animations, and interactive state visuals. Once refinement is complete, the project is exported to C code via standard single-click export.
Asset handling, widget mapping rules, and honest limitations — everything you need to plan a clean import.
Every image asset referenced in the Figma design is extracted and processed automatically during import. Flint's asset pipeline converts each PNG to the target display's native colour depth, applies configurable compression, and generates C const array declarations ready for linking into the embedded firmware image.
For projects with large image assets, Flint's asset manager shows the compressed size of each asset alongside its original size — helping developers stay within Flash budget before writing a line of application code.

Flint's import engine uses the following mapping rules when processing a Figma layer tree. Accuracy improves when Figma files follow a consistent layer naming convention.
Layers named with common widget identifiers (e.g., btn_, lbl_, img_) are mapped with higher confidence. The import wizard flags any layers it could not map automatically for manual review before the project is created.

Understanding what the import does and does not handle prevents surprises during the import step and avoids over-investment in Figma features that will not transfer.
Does NOT transfer automatically:
Best practices for clean imports:
btn_, lbl_, img_, scroll_)
| Figma Layer Type | Sparklet Widget | Properties Transferred | Notes |
|---|---|---|---|
| Rectangle / Frame (no children) | FixedView | Position, size, fill colour | Solid colour or image fill |
| Frame (with children) | Holder / Window | Position, size, child layout | Becomes parent container |
| Text layer | Static | Text, font name, size, colour, alignment | Font TTF required separately |
| Image / Icon layer | ImageHolder | Image asset (compressed) | PNG extracted and compressed |
| Button group (named btn_) | Button | Position, size, label text, fill | Requires naming convention |
| Scrollable frame | ScrollView | Scroll axis, content size | Axis detected from constraints |
| Component instance | Per component type | Varies by component | Consistent naming improves accuracy |

Import Figma JSON exports and image assets directly into Flint. No third-party plugin required for standard artboard structures. One import step replaces weeks of manual recreation.

Flint automatically maps Figma layers to Sparklet widget types — rectangles, text, images, and button groups — preserving pixel-accurate positions and sizes from the Figma artboard.

Imported PNG images are automatically converted to the target colour depth, compressed, and generated as C const arrays — sized for embedded Flash, not web delivery.

The Figma file becomes the direct source for the embedded UI project, eliminating the diverging-representations problem that creates integration bugs during development.
Flint imports the standard Figma JSON export (artboard structure) plus the accompanying image assets directory. This export is produced from Figma using its built-in export function — no custom Figma plugin is required for standard frame and layer structures. The developer exports from Figma and opens the resulting files in Flint's import wizard.
Download the free Sparklet evaluation, which includes Flint UI Designer with Figma import. Bring your first artboard to an embedded target without manual recreation.