LVGL - UI para Sistemas Embarcados
Sobre
LVGL (Light and Versatile Graphics Library) é um ecossistema open source de interface gráfica para sistemas embarcados. O site o descreve como o ecossistema de UI embarcada open source mais adotado do mundo. É independente de fornecedor, gratuito inclusive para uso comercial e sem dependências externas.
Funcionamento
- Biblioteca escrita em C, integrada ao firmware do dispositivo.
- Funciona em bare metal ou sobre qualquer (RT)OS: FreeRTOS, RT-Thread, Zephyr, NuttX, PX5RTOS, Linux, Windows e macOS.
- Roda em MCUs a partir de ~100 MHz até MPUs Linux multi-core.
- Suporta displays ePaper, monocromáticos, OLED, TFT e monitores.
- Aceleração gráfica por hardware: NXP (VG-Lite, PXP), Renesas (Dave2D), Arm (Arm2D, Helium).
- Os exemplos do site são em C (
arc_example.c,button_example.c).
Principais Recursos
- Mais de 30 widgets e mais de 100 propriedades de estilo.
- Gerenciadores de layout inspirados na web.
- Sistema tipográfico com suporte a vários idiomas.
- Baixo consumo de memória: demo estilo smartphone com cerca de 50 KB de RAM, 100 KB de Flash, 30 KB de fontes e 200 linhas de código.
- Projetos prontos para placas, mantidos pelo próprio LVGL.
- Ferramentas: Project Creator, Font Converter, Image Converter.
- Produtos do ecossistema: LVGL Safe e LVGL Pro (recursos não detalhados na página).
Casos de Uso
- Interfaces de produtos embarcados com display (eletrodomésticos, IoT, wearables, painéis).
- Integração com o MCUXpresso da NXP, com adição ao projeto em um clique.
- Uso em grande volume de dispositivos da Xiaomi, segundo depoimento no site.
- Parceiros oficiais citados: Actions, Alif, Arm, Espressif, ICOP, NXP, Renesas, ST, Texas Instruments, Think Silicon e VeriSilicon.
Público-alvo
Desenvolvedores de firmware e produtos embarcados que precisam de UI rica com poucos recursos de hardware, sem royalties e sem lock-in de fornecedor.
Limitações
- A página não detalha quais bindings de linguagem existem (há uma seção de bindings, sem lista).
- Não menciona editor visual nem simuladores na página inicial.
- Recursos de LVGL Safe e LVGL Pro não estão descritos na página.
Referências
- Site: https://lvgl.io/
- Documentação: https://docs.lvgl.io/master
- GitHub: https://github.com/lvgl/lvgl
- Demos: https://lvgl.io/demos
- Placas: https://lvgl.io/boards
- Casos de uso: https://lvgl.io/case-studies
- Fórum: https://forum.lvgl.io
- Serviços: https://lvgl.io/services