Coming soon
One framework. Every device class.
YDX is a UI framework for HMI devices and UI applications. One codebase and one toolchain cover every device class — from bare-metal MCUs, through embedded Linux MPUs, to the desktop — using the acceleration each platform provides.
Every device class
MCU
Bare metal and RTOS. Renders in kilobytes of RAM — no GPU required.
MPU
Embedded Linux. GPU-accelerated pipeline behind the same API.
Desktop
Windows, macOS and Linux. Build, simulate and ship from one target.
Features
| UI | 45 widgets, a layout solver, theming, data binding, animation, navigation and menus, and a screen written as JSON |
|---|---|
| Graphics | 2D drawing, vector graphics, GPU rendering, 3D scenes, images and icons |
| Text | Line breaking, bidirectional runs, shaping, font fallback, and input methods for ten scripts |
| Input | Touch, a pointer, keys, encoders, a wheel, and gestures |
| Media | Camera capture, sound playback and recording, and video |
| Connectivity | TCP and TLS, WebSocket, MQTT, CAN and CAN-FD, ISO-TP and UDS, and a local application bus |
| On the device | AI on a neural accelerator, storage and settings, and accessibility |
| Targets | Bare metal, an RTOS, embedded Linux with no display server, and the desktop |
| Tooling | Host simulation, headless testing, an MCP server that drives a running application, and SDK packaging |
Architecture
Overall
Product applicationscreens, logic, and the model
Tools, tests and agentsMCP server · attach channel · test driver · CAN simulator, ECU, bridge
Framework APIApp · Screen · Widgets · Menus · Navigation · Themes · Assets
UI runtime
Layout solverone result for all engines
Text and fontsbreak · bidi · shape
ExecutorUI thread and workers
Input and gesturespointer · key · pad
State and motionProperty · bindings
Capability engines
UI / 2Dpainting and text
3D / GPUscene to texture
AI / NPUmodel inference
Camerasensor to a frame
Videodecode to frames
Audioplay and record
Implementations one per seam, per executable, at link time
Native 2Dthe reference
Adapteronto a library
Headlessdraws nothing
Rendererssoftware · GL ES
AcceleratorsDMA2D · PPA · GPU
Device backendsV4L2 · ALSA · RKNN
Device services protocol libraries on a worker thread
Service seamlifecycle · bindable state
Transport and TLSTCP · system, mbedTLS, ESP
WebSocketframes on the transport
MQTT5.0 · broker and topics
Application busJSON-RPC 2.0, any tier
Recorded tracereplay with no hardware
CAN / CAN-FDclassic, FD and DBC signals
DiagnosticsISO-TP · UDS · OBD-II
ConnectivityWi-Fi · BLE · provisioning
Platform layer
Displaysurface, scanout
Inputdevices, events
Buffersflip, overlay planes
Storagesettings that persist
Networkwired and wireless links
AccessibilityUI Automation · AT-SPI
Targets
Embedded Linuxproduction · DRM/KMS · fbdev · evdev · dmabuf
MicrocontrollerESP32-P4 and Zephyr · a panel, no OS stack
DesktopSDL on Linux, Windows and macOS
Wayland clienta client on an existing compositor
Silicon it runs on
| Part | Class | Display | GPU | NPU | 2D engine | Status |
|---|---|---|---|---|---|---|
| Broadcom BCM2711Raspberry Pi 4 B · CM4 · the reference board | SBC | HDMIDSIRGB | VideoCore VIv3d · Mesa, open | none | none | Running |
| Rockchip RK3566Radxa ROCK 3C · 8-inch DSI panel | MPU · panel | HDMIDSILVDSeDP | Mali-G52Panfrost · Mesa, open | RKNNabout 1 TOPS | RGA2 | Running |
| Rockchip RV1106G3Luckfox Pico Ultra W · 720×720 panel | MPU · panelno GPU | RGB | nonesoftware renderer | RKNN1 TOPS | RGA | Running |
| Espressif ESP32-P4Guition JC8012P4A1 · 10.1-inch DSI panel | MCU · HMI | DSIRGB | nonesoftware renderer | none | PPArotate · scale · blend | Running |
| ST STM32H743WeAct MiniSTM32H743 · Zephyr | MCU | RGBSPI | nonesoftware renderer | none | DMA2DChrom-ART | Running |
| ArtInChip D13xEVK · 7-inch panel | MCU · HMIRISC-V | RGBDSILVDSI8080SPI | nonesoftware renderer | none | GErotate · scale · blend | Running |
| Rockchip RK3188SJGAM M27 handheld · D-pad, buttons and a stick | MPU · handheld | RGBDSIHDMIDSI and HDMI through an RK616 bridge | Mali-400Lima · Mesa, open | none | none | Running |
| Broadcom BCM2837Raspberry Pi 3 B | SBC | HDMIDSIRGB | VideoCore IVvc4 · Mesa, open | none | none | On the bench |
| Allwinner A527Radxa Cubie A5E | MPU · panel | HDMIDSILVDSeDPRGB | Mali-G57Panfrost · Mesa, open | VIP90002 TOPS | G2D | On the bench |
| Amlogic S905X3Banana Pi BPI-M5 | SBC | HDMI | Mali-G31Panfrost · Mesa, open | none | none | On the bench |
| NVIDIA Jetson Orin NX16 GB module | MPU · tablet | HDMIDP | Ampere1024 CUDA cores · vendor stack | TensorRT · DLAup to 100 TOPS | none | On the bench |
| Broadcom BCM2712Raspberry Pi 5 · CM5 | SBC | HDMIDSIRGB | VideoCore VIIv3d · Mesa, open | none | none | Planneddevice awaited |
| Broadcom BCM2711Seeed reTerminal DM · CM4 in a 10.1-inch panel PC | SBC · panel PC | DSIHDMI | VideoCore VIv3d · Mesa, open | none | none | Planneddevice awaited |
| Rockchip RK3588Seeed reComputer RK3588-30 · 8 GB | MPU · tablet | HDMIDSIDP | Mali-G610Panthor · Mesa, open | RKNN6 TOPS · open driver in mainline | RGA3 · RGA2 | Planneddevice awaited |
| Rockchip RK3588Seeed reComputer RK3588-40 · 16 GB | MPU · tablet | HDMIDSIDP | Mali-G610Panthor · Mesa, open | RKNN6 TOPS · open driver in mainline | RGA3 · RGA2 | Planneddevice awaited |
| Qualcomm QCS6490RB3 Gen 2 Vision Kit | MPU · tablet | DSIDPeDP | Adreno 643Freedreno · Mesa, open | Hexagon 77012 TOPS | none | Planneddevice awaited |
| Qualcomm IQ-9075IQ-9075 EVK · the Jetson's class | MPU · tablet | DSIDP | Adreno 663Freedreno · Mesa, open | Hexagonup to 100 TOPS | none | Planneddevice awaited |
| NXP i.MX 95industrial high end | MPU · tablet | DSILVDS ×2 | Mali-G310Panfrost · Mesa, open | eIQ Neutron8 TOPS | 2D GPU · blitter | Planneddevice awaited |
| NXP i.MX 8M Plusindustrial option | MPU · tablet | HDMIDSILVDS | Vivante GC7000ULEtnaviv · Mesa, open | eIQ2.3 TOPS | GC520L | Planneddevice awaited |
| NXP i.MX 93industrial, with ML | MPU · panelno GPU | DSILVDSRGB | nonesoftware renderer | Ethos-U651 TOPS, optional | PXP | Planneddevice awaited |
| NXP i.MX 8M Miniindustrial mid | MPU · panel | DSI | Vivante GCNanoUltraEtnaviv · Mesa, open | none | GC320 | Planneddevice awaited |
| NXP i.MX 91industrial floor | MPU · panelno GPU | RGB | nonesoftware renderer | none | none | Planneddevice awaited |
| TI AM62xindustrial option | MPU · panel | LVDSRGB | 3D core, optionalvaries by part number | none | none | Planneddevice awaited |
| Espressif ESP32-S31the P4's radio-bearing sibling | MCU · HMI | RGBI8080 | nonesoftware renderer | none | PPA | Planneddevice awaited |
| Espressif ESP32-P4M5Stack Tab5 · 5-inch 1280×720 DSI panel, camera | MCU · HMI | DSI | nonesoftware renderer | none | PPA | Planneddevice awaited |
| Espressif ESP32-P4Seeed reTerminal D1001 · 8-inch 1280×800 panel, camera, battery | MCU · HMI | DSI | nonesoftware renderer | none | PPA | Planneddevice awaited |
RGB is a parallel panel, the interface Raspberry Pi calls DPI.
Simulators on desktop: Windows, macOS and Linux through SDL.