Hello,
I am using micropython for a while for pico devices and now I trying to use lvgl micropython on ESP32-S2-PICO device.
However, whenever I try to compile it for ESP32-S2 it is not working, throwing all kinds of errors(the most persistent ones are regarding ADC13, not 12bit, and VSPI and HSPI).
For ESP32 all is working and compile procedure is really straightforward, however, S2 and S3 are impossible to compile.
What I am doing wrong.
I can clearly see all there boards in the /port/eps32 but I cannot compile them.
I kindly ask for any kind of guidance and help.
Hi @banebrcic ,
You are not doing anything wrong - these ports are not yet officially supported.
See:
opened 09:01PM - 29 Jul 22 UTC
help wanted
Sponsored
[Micropython](https://github.com/micropython/micropython) already supports [ESP3… 2, ESP32-S2, ESP32-C3, ESP32-S3](https://www.espressif.com/en/products/socs).
However [lv_micropython](https://github.com/lvgl/lv_micropython) only supports ESP32 today.
The goal is to **add support for ESP32-S2, ESP32-C3, ESP32-S3 in [lv_binding_micropython](https://github.com/lvgl/lv_binding_micropython) and [lv_micropython](https://github.com/lvgl/lv_micropython)**.
This includes:
- [ ] Fix [lv_micropython](https://github.com/lvgl/lv_micropython) and [lv_binding_micropython](https://github.com/lvgl/lv_binding_micropython) to correctly build the [lv_micropython ESP32 port](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32) for [GENERIC_S2](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/GENERIC_S2), [GENERIC_S3](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/GENERIC_S3), [GENERIC_C3](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards/GENERIC_C3) boards (or [their equivalents](https://github.com/lvgl/lv_micropython/tree/master/ports/esp32/boards)).
Each should be built with the correct ESP-IDF version as explained in [Micropython ESP32 port README](https://github.com/lvgl/lv_micropython/blob/master/ports/esp32/README.md#:~:text=ESP32%2DS3%20currently,v4.3.1%20or%20later.).
- [ ] Fix the CI to test them. Currently [these boards are disabled in the CI](https://github.com/lvgl/lv_micropython/blob/58948c2fb1aa2286c9b41be1775d96c38ba1ed20/tools/ci.sh#L138-L146) on lv_micropython.
- [ ] Fix the esp-idf micropython module ([auto generated](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/mkrules.cmake#L129-L151) from [espidf.c](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/espidf.c) and [espidf.h](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/espidf.h)) to build correctly on all ESP32, ESP32-S2, ESP32-C3, ESP32-S3 and provide the [ESP-IDF API](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/espidf.h#L121-L130) 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](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L539) [ili9488](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L591) [gc9a01](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L638) [st7789](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L724) [st7735](https://github.com/lvgl/lv_binding_micropython/blob/341134744b2a919d8a9e7773bba1bdec0fa21b44/driver/esp32/ili9XXX.py#L776) and input drivers [modrtch.c](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/modrtch.c) [modxpt2046.c](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/modxpt2046.c) [xpt2046.py](https://github.com/lvgl/lv_binding_micropython/blob/master/driver/esp32/xpt2046.py) with ESP32-S2, ESP32-C3, ESP32-S3.
- [ ] Fix documentation ([lv_binding_micropython README.md](https://github.com/lvgl/lv_binding_micropython/blob/master/README.md) and [lv_micropython README.md](https://github.com/lvgl/lv_micropython/blob/master/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:
- https://github.com/lvgl/lv_binding_micropython/issues/208
- https://github.com/lvgl/lv_binding_micropython/issues/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](https://opencollective.com/lvgl). Learn more [HERE](https://github.com/lvgl/lvgl#heart-sponsor).
**We can give 100 USD for fully implementing this.**
CC: @kisvegabor @embeddedt