Caution

Verbotene Zone (Nicht nutzen!)

Vermeide für das Display unbedingt die Pins GPIO 33 bis 37. Diese werden beim SPIRAM_OCT Modus intern für den Datenbus des RAMs verwendet. Auch GPIO 43, 44 >(UART) und GPIO 19, 20 (USB) lassen wir frei für Debugging und Updates.

Empfohlenes Pin-Layout (Display + Touch)

Hier ist die Konfiguration, die wir später in dein MicroPython-Skript übernehmen:

Display (ILI9341 on HSPI)

Display-Pin ESP32-S3 GPIO Funktion
VCC 3.3V Power
GND GND Ground
CS GPIO 10 Display CS
RESET GPIO 9 Reset
DC GPIO 7 Data/Command
SDI (MOSI) GPIO 11 SPI MOSI
SCK GPIO 12 SPI Clock
LED GPIO 38 Backlight
SDO (MISO) GPIO 13 SPI MISO

Touch (XPT2046 on HSPI)

Touch-Pin ESP32-S3 GPIO Funktion
T_CLK GPIO 12 Touch Clock
T_CS GPIO 3 Touch CS
T_DIN GPIO 11 Touch MOSI
T_DO GPIO 13 Touch MISO
T_IRQ - nicht belegt

SD Card (on HSPI)

SD-Pin ESP32-S3 GPIO Funktion
CS GPIO 4 SD CS
MOSI GPIO 11 SPI MOSI
MISO GPIO 13 SPI MISO
SCK GPIO 12 SPI Clock

Weitere Pins

Funktion GPIO
Seriell TX GPIO 43
Seriell RX GPIO 44
I2C SDA GPIO 8
I2C SCL GPIO 9
Status LED GPIO 40
Boot Button GPIO 0
CC1101 CS GPIO 10
CC1101 GDO0 GPIO 9
NRF24 CS GPIO 14
NRF24 CE GPIO 16

build

BASH
python3 make.py esp32 clean BOARD=ESP32_GENERIC_S3 BOARD_VARIANT=SPIRAM_OCT \
DISPLAY=ili9341 INDEV=xpt2046 \
--flash-size=16 --partition-size=4194304 \
CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_SPEED_80M=y \
CONFIG_BOOTLOADER_WDT_TIME_MS=12000

flashen

BASH
esptool.py --chip esp32s3 -p /dev/ttyACM0 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 16MB --flash_freq 80m--erase-all 0x0 ./lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin