{"adoption": {"forks": 4322, "observed_at": "2026-08-28T04:11:37.138363+00:00", "stars": 24501}, "canonical_url": "https://ross.abutalabs.com/products/lvgl", "card": {"archived": false, "artifact_type": "library", "description": "LVGL is a free, full-featured embedded UI library for devices from small MCUs to 3D-capable MPUs, enhanced by LVGL Pro, a professional editor and tooling.", "domain": ["embedded-systems", "graphics", "iot", "cross-platform"], "enriched": true, "function": ["ui-components", "graphics", "animation", "gui"], "health_score": 97, "homepage": "https://lvgl.io", "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["lvgl/lvgl"], "name": "lvgl/lvgl", "platform": ["embedded", "cpp", "c", "cross-platform"], "pushed_at": "2026-08-26T19:49:07+00:00", "repo": "lvgl/lvgl", "stars": 24501, "tags": ["embedded-ui", "mcu", "mpu", "touchscreen", "tft-display", "oled", "e-ink", "stm32", "esp32", "zephyr", "arduino", "hmi", "widgets", "mit-license", "linux"], "topics": ["c", "cpp", "display", "e-ink-display", "embedded-ui", "esp32", "graphics-library", "hmi", "linux", "lvgl", "nxp", "oled-display", "renesas", "stm32", "tft-display", "touchscreen", "ui", "zephyr", "arduino", "lvgl-pro"], "urls": [], "use_cases": ["build a touchscreen GUI on an STM32 or ESP32 microcontroller", "create an embedded UI for a small TFT or OLED display with limited RAM", "develop an HMI interface for an industrial device", "render UIs on e-ink displays with low-power MCUs", "prototype embedded UIs on a PC with a simulator before deploying to hardware", "add a graphical interface to a Zephyr or NuttX RTOS project", "design UIs in XML or Figma and export C code for embedded targets"], "what_it_is": "LVGL (Light and Versatile Graphics Library) is a free, MIT-licensed open-source embedded UI library written in C for building graphical user interfaces on MCUs and MPUs, with 30+ widgets, animations, and no external dependencies. It is complemented by commercial tooling (LVGL Pro editor/CLI and LVGL Safe for safety-critical products) and is widely integrated by chip vendors like NXP, Espressif, and Renesas.", "when_to_avoid": ["you are building a desktop, web, or mobile application rather than an embedded UI", "you need a fully qualified, certified safety-critical library today (LVGL Safe is still an unstable evaluation preview)", "your target lacks a display or falls below the minimum requirements (64MHz clock, C99 compiler)", "you prefer a higher-level framework with a managed runtime rather than C-level integration"], "when_to_choose": ["you need a lightweight, dependency-free UI library that runs on almost any MCU or MPU", "you have constrained resources (~100kB flash, tens of kB RAM) and need efficient rendering", "you want vendor-neutral, MIT-licensed code with broad chip and RTOS support", "you need rich built-in widgets, animations, and multi-language text including Arabic/Persian"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/lvgl", "repo": "lvgl/lvgl", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.138363+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:56:12.886322+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "975cd60ff0c4f82ae36e5a9f7d09d189628ab7dae4c841e93bc2e6058b2cdf4c", "fetched_at": "2026-08-28T04:11:37.138363+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lvgl/lvgl"}, {"content_hash": "3e4fa587e33bc99e3986f5d3ba7f255cb49cb698dfb01bd0c8f4d79b3d45811c", "fetched_at": "2026-08-29T07:53:32.760026+00:00", "kind": "homepage", "missing": false, "url": "https://lvgl.io"}, {"content_hash": "5398e25653ac29fcba86930d3df2b1a811db611bcb2fdb58bfda55605496b8a8", "fetched_at": "2026-08-29T07:53:32.769640+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/features"}, {"content_hash": "a082ad8bf4ba900c68dd977414bd47aaab33de1e4bb6d2b0147605da611dafcb", "fetched_at": "2026-08-29T07:53:32.771890+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lvgl.io/master"}, {"content_hash": "a64ce15260b118bb3e957d11e1ce67b10e36d326505b27934f44b527317d793e", "fetched_at": "2026-08-29T07:53:32.773929+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/docs/safe"}, {"content_hash": "748938880aa9733fe015b852843e80a88f55af6a11a5d414e12e8230331a9181", "fetched_at": "2026-08-29T07:53:32.775575+00:00", "kind": "site_page", "missing": false, "url": "https://lvgl.io/about"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 47}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3738, "days_push": 7, "days_rel": 196, "gap_med": 129.5, "n_releases_24m": 5}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}