Hi @mcc!
You can use whichever IDE/OS you want for development.
I’m using Linux (Mint), but any other would do.
The shortest/simplest way it to clone lv_micropython, and follow the instructions on the README.
lv_micropython is Micropython fork with LVGL. When you build it, LVGL is built with it and exposed as a Micropython module.
LVGL and lv_micropython_bindings are provided as git submodules of lv_micropython, so make sure you update submodules.
I’m using ESP32 WROVER with a custom board.
ESP32 is supported and works very well for small screens with a touch panel.
Which one?
ILI9341 and ILI9488 are supported.
xpt2046 and raw (ADC) touch panels are supported.
You can try some other displays/touch controllers if you want, but take into account that you would need to write your own drivers. If you do, consider contributing them to LVGL.
Also, if you are planning on 480x320 serial (SPI) controller, take into account that even with 40MHz it might be a little bit slow for full screen animations. With 32bit color that’s 600KiB frame data for every frame, less than 10 FPS on 40MHz. if animation with 32bit 480x320 resolution is important, I recommend considering parallel port and possibly something more powerful than the ESP32.
I’m using ILI9341 (240x320 16bit color) and it works well with full screen animation, with decent frame rate.
The basic building blocks you need are:
- Micropython
- LVGL
- lv_micropython_bindings
- Display driver
For convenience all of these are already provided in lv_micropython (with drivers for selected controllers)
Let us know if you need any help!