Repository navigation
ports/esp32s3: add target for ESP32-S3 with Octal PSRAM and 16MB flash - #9
Conversation
|
Thanks, and welcome! Funny timing: I had my own ESP32-S3 port almost ready to push, so it's great to see we landed on a very similar setup (mine serves the desktop on the native USB port rather than UART0, more on that below). I'll merge yours and bring anything extra from mine on top of it. It's a clean port: it reuses the shared ESP-IDF app with very few changes, and it's great that you tested it on real S3 hardware. A few small things before I merge:
I'll add the S3 to the release workflow and the installer myself; until then For the next steps on the S3, I'm planning the native USB console and USB host for keyboards myself, so if you'd like to work on more of the S3, let's talk on an issue first so we don't build the same thing twice. |
Hi, Thanks for reviewing the Pull Request, I'm Looking into the things that you mentions and ill update it shorty. Thanks!! |
|
I have pushed an update with all four requested changes:
Looking forward to seeing the native USB console and USB host keyboard support on the S3 as well! |
|
Merged, thanks @SanjayG-xls! All four points addressed, and CI now builds the S3 on every change, including the new step. I’ll add the S3 to the release workflow, the installer and the docs next, so it ships with the next release and ota works on it. After that I’ll bring the native USB console from my port on top of yours. If you’d like to take on more of the S3 (USB host keyboards, or something else you’d find useful), open an issue and we can split up the work. |
Adds an official target for the ESP32-S3 (
ports/esp32s3) with 16 MB Quad-SPI flash and 8 MB Octal PSRAM (OPI), serving the TinyDesk desktop over UART0 at 921,600 baud.TinyDesk desktop and System Monitor running on physical ESP32-S3 Pro hardware (240 MHz Dual-Core Xtensa LX7, 8 MB Octal PSRAM, 16 MB Flash) over UART0 at 921,600 baud.
What changed
New port (
ports/esp32s3/):CMakeLists.txt: Sets target toesp32s3, binds the shared ESP-IDF application (ports/esp_idf/app), and stamps version/build date.sdkconfig.defaults: Configured for ESP32-S3:CONFIG_SPIRAM_MODE_OCT=y,CONFIG_SPIRAM_TYPE_AUTO=y).CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y, mode DIO).CONFIG_ESP_CONSOLE_NONE=y, bootloader logging suppressed).CONFIG_FREERTOS_USE_TRACE_FACILITY=y).partitions.csv: 16 MB flash layout matching the classic ESP32 port (two 3 MB OTA slots, 9.9 MB LittleFS/fsdrive).board.example.conf: Hardware pin abstraction for ESP32-S3 (UART0 on GPIO43 TX / GPIO44 RX, commented RGB LED on GPIO 48, RS-485 on UART1/2, SPI SD card).main/CMakeLists.txt&main/extram.lf: Linkslink_uart.c, embedsboard.conf, and maps static desktop, terminal, and shell BSS buffers to external PSRAM.Shared ESP-IDF layer (
ports/esp_idf/app/):main.c: Allocated 8,192 bytes forUI_TASK_STACKon ESP32-S3 (Xtensa frames) and addedCHIP_ESP32S3identification tofill_sysinfo().link_uart.c: SetsESP32-S3platform string and hostname.ota_esp.c: Addedesp32s3board identifier for official OTA update feeds.Documentation:
README.mdanddocs/GETTING_STARTED.md.Hardware & Testing
esp32s3-202103278189 KB free)Test Verification
ctest --test-dir buildclean).-Wall -Wextra -Werrorwith zero warnings.Build from source
cd ports/esp32s3 idf.py set-target esp32s3 idf.py build idf.py -p PORT -b 921600 flash