Back to Zephyr

grvl

doc/develop/manifest/external/grvl.rst

4.4.02.1 KB
Original Source

.. _external_module_grvl:

grvl

Introduction


Graphics Rendering Visual Library_ (grvl) is a lightweight GUI library for Zephyr-based MCUs, providing a portable solution that is both suitable for resource-constrained devices and offers a modern, responsive user experience.

Internally, grvl links to a standard XML library called tinyxml_ that is used for parsing the GUI config instead of code. The UI interaction can be scripted with JavaScript using the integrated Duktape_ JavaScript engine.

grvl features:

  • Native support for PNG and JPEG graphics

  • Simple DirectMedia Layer compatibility

  • POSIX compliance and Zephyr support

  • A collection of built-in components

    • Popups
    • Fonts
    • Labels
    • Buttons
    • Sliders
  • User-defined prefabs that can be used to instantiate complex structures at runtime

  • XML-based layout and a JavaScript engine

grvl is licensed under the Apache License 2.0. tinyxml is licensed under the Zlib license. Duktape is licensed under the MIT License.

Usage with Zephyr


To use grvl as a Zephyr :ref:module <modules>, add the following entry:

.. code-block:: yaml

manifest: projects: - name: grvl url: https://github.com/antmicro/grvl revision: main path: modules/grvl # adjust the path as needed

to a Zephyr submanifest (e.g. zephyr/submanifests/grvl.yaml) and run west update, or add it as a West project in your project's west.yaml manifest.

For more information, see the grvl documentation_ or the grvl blog article_.

You can also try an interactive Zephyr calendar demo_.

Reference


.. target-notes::

.. _Graphics Rendering Visual Library: https://github.com/antmicro/grvl

.. _tinyxml: https://github.com/leethomason/tinyxml2

.. _Duktape: https://github.com/svaarala/duktape

.. _grvl documentation: https://antmicro.github.io/grvl/

.. _Zephyr calendar demo: https://github.com/antmicro/grvl-zephyr-calendar-demo

.. _grvl blog article: https://antmicro.com/blog/2025/12/grvl-a-lightweight-gui-library-for-zephyr-based-mcus