Replies: 2 comments 4 replies
-
demo_auto.mp4
|
Beta Was this translation helpful? Give feedback.
-
|
what exactly do you need to know? I will give you whatever information you need an if the API needs to change in order for the STM bus drivers to work with the current design between the bus drivers and the display drivers then I am OK with doing that. nothing gets changed in libs/micropython. If the code in micropython needs to be changed then changes needs to be hot patched and written in python scripts to handle that. That's of the change is not for a specific port. If the change is port specific then a copy of the existing file need to be placed in the micropy_updates folder retaining the directory structure from the port folder to the file. then that file needs to have the modifications made to it as needed. The bus drivers need to be written in a manner that allows them to be a runtime choice. as an example. If using an I8080 display either 8 pins or 16 pins should be able to be selected when the bus driver starts, The use of DMA memory should also be a runtime choice if a choice is available to make. |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
Hi @kdschlosser, hi everyone,
I've spent the last several months building LVGL+MicroPython support for a family of affordable STM32H743 boards (DEV190806042, FK743M5-XIH6, STM32H7_CORE). They share the same recipe: external SDRAM, QSPI flash, and an RGB TFT panel driven by the H7's hardware LTDC peripheral. Working end-to-end on real hardware, I currently have:
I originally pushed this upstream as
lvgl/lv_micropython#104, #105andlvgl/lv_binding_micropython#407, but that side of the project is effectively unmaintained: the STM32 CI workflow is disabled, the runner-update PR has been open since Aug 2025, my PRs are sitting untouched. I'd rather invest the migration effort once and land it where the project is actually moving — i.e. here.Before I start cutting code I'd like to align on architecture. To keep this thread focused I'll lead with the one question that drives everything else.
LTDC doesn't really fit the
lcd_bus"push pixels" model — it's a hardware scan-out from SDRAM, conceptually closer to the ESP32RGBBus. Would you prefer:(a) an
LTDCBusas a subclass oflcd_bus, symmetric withRGBBus;(b) a standalone driver under
api_drivers/common_api_drivers/display/behind aCONFIG_STM32/ port guard;(c) something built on top of the existing generic
rgb_displaydriver?I have follow-on questions — board routing (direct PR to
micropython/micropythonvsmicropy_updates/), alignment with the existing GT911 driver, and how STM32 SoC-specific drivers should be wired intomake.py— but they all depend on (a)/(b)/(c), so let's start there.One practical note: you've mentioned on the LVGL forum that lack of STM32 hardware is a blocker. I have these three boards on my bench and I'm willing to do the debugging and ongoing maintenance for them. If a self-hosted GitHub Actions runner wired to one of the boards would help close the CI loop, I can set that up.
Refs:
Thanks!
— Nuraci (@nuraci)
Beta Was this translation helpful? Give feedback.
All reactions