Copyright (c) 2015 - 2025 Antmicro

Graphics Rendering Visual Library (grvl) is an open source library for creating rich, modern, animated graphical user interfaces, developed for use on constrained devices like MCUs.
Grvl is designed to be portable, currently supporting standalone Simple DirectMedia Layer (SDL) based applications and Zephyr RTOS.
With its collection of built-in widgets, XML-based config and support for reconfiguration in runtime, grvl was created with ease of use for both designers and developers in mind.
- A sizable collection of widgets to build your UIs from:
- View widgets: GridView, ListView, CustomView, Panel
- Buttons: Button, SwitchButton, Slider
- Progress bars: ProgressBar, CircleProgessBar
- Other: Clock, Image, Label
- Designer-friendly, XML-based configuration and view description
- Supports reconfiguration of the UI in runtime
- Small memory footprint allowing running GRVL on constrained devices
- Easily portable
Build using CMake:
$ cmake -B build .
$ cmake --build build/ --target grvl
Pull the source code (e.g. using west
) and add the following in your CMakeLists.txt
file:
set(GRVL_ZEPHYR ON)
add_subdirectory(<grvl_path>)
...
target_link_libraries(app PRIVATE grvl)