O LVGL fornece tudo o que você precisa para criar uma GUI incorporada com elementos gráficos fáceis de usar, belos efeitos visuais e um baixo consumo de memória.
* Mecanismo gráfico avançado: animações, anti-aliasing, opacidade, rolagem suave, modos de mesclagem (blending modes), etc.
* Suporte à [vários dispositivos de entrada](https://docs.lvgl.io/master/overview/indev.html): tela sensível ao toque, mouse, teclado, codificador, botões, etc.
* Suporte à [vários monitores](https://docs.lvgl.io/master/overview/display.html)
* Pode ser usado com qualquer microcontrolador e display, independente do hardware
* Escalável para operar com pouca memória (64 kB Flash, 16 kB RAM)
* Suporte multilíngue com manipulação UTF-8, suporte ao alfabeto bidirecional, árabe e CJK (Chinês, Japonês e Coreano)
* Elementos gráficos totalmente personalizáveis por meio de [CSS](https://docs.lvgl.io/master/overview/style.html)
* Layouts poderosos inspirados em CSS: [Flexbox](https://docs.lvgl.io/master/layouts/flex.html) e [Grid](https://docs.lvgl.io/master/layouts/grid.html)
* SO, memória externa e GPU são suportados, mas não obrigatórios. (suporte integrado para STM32 DMA2D, SWM341 DMA2D e NXP PXP e VGLite)
* Renderização suave mesmo com um [buffer de quadro único](https://docs.lvgl.io/master/porting/display.html) (single frame buffer)
* Escrito em C e compatível com C++
* Uso do LittlevGL com Micropython simplificado com [LVGL API in Micropython](https://blog.lvgl.io/2019-02-20/micropython-bindings)
* [Simulador](https://docs.lvgl.io/master/get-started/platforms/pc-simulator.html) para desenvolver no PC sem hardware embutido
* Mais de 100 [exemplos simples](https://github.com/lvgl/lvgl/tree/master/examples)
* [Documentação](http://docs.lvgl.io/) e referências de API online e em PDF
### Requerimentos
Basicamente, todo controlador moderno (que é capaz de acionar um display) é adequado para executar LVGL. Os requisitos mínimos são:
<table>
<tr>
<td>
<strong>Nome</strong>
</td>
<td>
<strong>Minímo</strong>
</td>
<td>
<strong>Recomendado</strong>
</td>
</tr>
<tr>
<td>
<strong>Arquitetura</strong>
</td>
<td colspan="2">Microcontrolador ou processador de 16, 32 ou 64 bits</td>
</tr>
<tr>
<td>
<strong>Clock</strong>
</td>
<td>> 16 MHz</td>
<td>> 48 MHz</td>
</tr>
<tr>
<td>
<strong>Flash/ROM</strong>
</td>
<td>> 64 kB</td>
<td>> 180 kB</td>
</tr>
<tr>
<td>
<strong>RAM estática</strong>
</td>
<td>> 16 kB</td>
<td>> 48 kB</td>
</tr>
<tr>
<td>
<strong>Draw buffer</strong>
</td>
<td>> 1 × <em>hor. res.</em> pixels</td>
<td>> tamanho da tela de 1/10</td>
</tr>
<tr>
<td>
<strong>Compilador</strong>
</td>
<td colspan="2">Padrão C99 ou mais recente</td>
</tr>
</table>
*Observe que o uso de memória pode variar dependendo da arquitetura, do compilador e das opções de compilação.*
### Plataformas suportadas
O LVGL é completamente independente de plataforma e pode ser usado com qualquer MCU que atenda aos requisitos.
Esta lista mostra a maneira recomendada de aprender sobre a biblioteca:
1. Confira as [demos on-line](https://lvgl.io/demos) para ver o LVGL em ação (3 minutos)
2. Leia a [introdução](https://docs.lvgl.io/master/intro/index.html) da documentação (5 minutos)
3. Familiarize-se com o básico da [Visão geral rápida](https://docs.lvgl.io/master/get-started/quick-overview.html) (15 minutos)
4. Configure um [simulador](https://docs.lvgl.io/master/get-started/platforms/pc-simulator.html) (10 minutos)
5. Experimente alguns [Exemplos](https://github.com/lvgl/lvgl/tree/master/examples)
6. Placa para porta LVGL. Veja o guia [porting](https://docs.lvgl.io/master/porting/index.html) ou verifique o pronto para usar [Projects](https://github.com/lvgl?q=lv_port_)
7. Leia a [visão geral](https://docs.lvgl.io/master/overview/index.html) para entender melhor a biblioteca (2-3 horas)
8. Verifique a documentação dos [widgets](https://docs.lvgl.io/master/widgets/index.html) para ver seus recursos e como utilizá-los
9. Se você tiver dúvidas, acesse o [fórum](http://forum.lvgl.io/)
10. Leia o guia de [contribuição](https://docs.lvgl.io/master/CONTRIBUTING.html) para ver como você pode ajudar a melhorar o LVGL (15 minutos)
## Exemplos
Para mais exemplos, veja a pasta [examples](https://github.com/lvgl/lvgl/tree/master/examples).

### C
```c
lv_obj_t * button = lv_btn_create(lv_scr_act()); /* Adiciona um botão à tela atual */
lv_obj_set_pos(button, 10, 10); /* Define uma posição ao botão na tela */
lv_obj_set_size(button, 100, 50); /* Define o tamanho */
lv_obj_add_event_cb(button, button_event_callback, LV_EVENT_CLICKED, NULL); /* Atribui um retorno de chamada (callback) */
O LVGL Kft foi estabelecido para fornecer uma base sólida para a biblioteca LVGL. Oferecemos vários tipos de serviços
para ajudá-lo no desenvolvimento da interface do usuário:
- Design gráfico
- Implementação de IU
- Consultoria/Suporte
Para mais informações, consulte [LVGL Serviços](https://lvgl.io/services). Sinta-se à vontade para entrar em contato
conosco se tiver alguma dúvida.
## Contribuindo
O LVGL é um projeto aberto e sua contribuição é muito bem-vinda. Há muitas maneiras de contribuir, desde simplesmente
falando sobre seu projeto, escrevendo exemplos, melhorando a documentação, corrigindo bugs até hospedar seu próprio
projeto sob a organização LVGL.
Para obter uma descrição detalhada das oportunidades de contribuição, visite a seção de [contribuição](https://docs.lvgl.io/master/CONTRIBUTING.html) da documentação.