Closed
Description
Micropython already supports ESP32, ESP32-S2, ESP32-C3, ESP32-S3.
However lv_micropython only supports ESP32 today.
The goal is to add support for ESP32-S2, ESP32-C3, ESP32-S3 in lv_binding_micropython and lv_micropython.
This includes:
- Fix lv_micropython and lv_binding_micropython to correctly build the lv_micropython ESP32 port for GENERIC_S2, GENERIC_S3, GENERIC_C3 boards (or their equivalents).
Each should be built with the correct ESP-IDF version as explained in Micropython ESP32 port README. - Fix the CI to test them. Currently these boards are disabled in the CI on lv_micropython.
- Fix the esp-idf micropython module (auto generated from espidf.c and espidf.h) to build correctly on all ESP32, ESP32-S2, ESP32-C3, ESP32-S3 and provide the ESP-IDF API needed for the drivers (gpio, spi, dma, adc, i2s, pcnt, mdns, http client, sh2lib). Currently all these APIs are provided for ESP32 only.
- Fix and test the ESP32 display drivers ili9341 ili9488 gc9a01 st7789 st7735 and input drivers modrtch.c modxpt2046.c xpt2046.py with ESP32-S2, ESP32-C3, ESP32-S3.
- Fix documentation (lv_binding_micropython README.md and lv_micropython README.md) to reflect the support for ESP32-S2, ESP32-C3, ESP32-S3 and provide information on how to build them.
- Provide at least one video for each of ESP32-S2, ESP32-C3, ESP32-S3, with at least one display, showing lv_micropython running some examples.
- Make sure existing ESP32 support is not impacted by these changes and runs correctly.
Related issues:
- lv_espidf.c not ready for esp32-s2? #208
- Support ESP32S3 IDF 4.4 #197
- https://forum.lvgl.io/t/micropython-v1-19-1-and-lvgl-v8-3/9340/2
This is a sponsored issue, meaning that if someone implements it he or she gets a payment from the Accumulated donations of LVGL. Learn more HERE.
We can give 100 USD for fully implementing this.