ESP32 MicroPython JPG Display on ILI9341 and ST7789 displays

Job ID: 40230491

Budget: $10 – $30 USD

My setup is an ESP32 wired to a 2.8-inch ILI9341 LCD (I may swap to the 3.2-inch variant; both share the same driver and pinout). All images sit on an SD card; more than fifty of them may be shown . I need a complete MicroPython solution that pulls each JPG straight from the card and pushes it to the display with no intermediate PC-side conversion.

Core needs
• Initialize the ILI9341 (ST7789) over SPI, handle 320×240 resolution, and work with both display sizes out of the box.
• Mount the SD card, scan a folder, and stream-decode each JPG so the ESP32’s RAM footprint stays within limits.
• Cycle through every file in the list inside an endless loop; I’ll decide the delay between frames in a simple variable (e.g., DELAY_MS).
• Show each image full-screen without tearing, flicker, or partial redraw artefacts.
• Provide clean, well-commented code plus a short README covering wiring, required MicroPython build, and any external libraries you import (for example, jpegdec, framebuf, lv_binding_micropython, etc.).

Acceptance
The code should boot, detect the SD card, and immediately begin the slideshow. And should have a function when called it will display any image (JPG) by providing image path (including name). Swapping cards or adding images to the directory must work without reflashing. A quick video demo or serial log that proves smooth playback across at least fifty images will confirm completion. I will create one milestone, it will be released only when I try the algorithm and it runs smoothly. Any SD related requirement (for example mounting/unmounting) should be included