Windrose

grvl

antmicro · 47 GitHub stars

Lightweight GUI library for MCUs that aims for a modern, responsive feel on small displays.

grvl

antmicro · 47 GitHub stars

Lightweight GUI library for MCUs that aims for a modern, responsive feel on small displays.

  • Follows branch main: each west update will get its latest commits. To stay on one version, it is recommended to use a release tag.

Install

# From the workspace root
curl -fsSL https://kartben.github.io/windrose/m/grvl.yaml \
     -o zephyr/submanifests/grvl.yaml
west update grvl

Details

Revision
main
License
Apache-2.0
Maintainers
@antmicro
Last commit
today

About

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
  • Built-in components: popups, fonts, labels, buttons and 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.