ESP32-S3-DevKitC-1-N32R16 test build (PR #11192)
Pre-releaseUnofficial test build for adafruit/circuitpython#11192. Not an official CircuitPython release.
Built from espressif-devkitc-1-n32r16 @ 9224ee9, off adafruit main @ 2bb088e, ESP-IDF v6.0.1 (2b900d1222).
Verified build config:
CONFIG_ESPTOOLPY_FLASHSIZE_32MB=y
CONFIG_SPIRAM_MODE_OCT=y
CONFIG_SPIRAM_TYPE_AUTO=y
partition table: esp-idf-config/partitions-32MB.csv
NeoPixel is on GPIO38, so board.NEOPIXEL and the status LED should work without the board.IO38 workaround.
Flashing
No bootloader needed, the .bin includes the IDF second-stage bootloader.
- Hold BOOT, tap RESET, release BOOT
esptool --chip esp32s3 --port <PORT> --baud 921600 erase-flashesptool --chip esp32s3 --port <PORT> --baud 921600 write-flash 0x0 adafruit-circuitpython-espressif_esp32s3_devkitc_1_n32r16-en_US-11192.bin- Tap RESET
Do not flash the tinyuf2 bootloader from circuitpython.org for this board. The only espressif_esp32s3_devkitc_1 tinyuf2 build is configured for 8MB flash and would cost you ~24MB.
What to check
import os, gc, board
print(os.uname().machine) # ESP32-S3-DevKitC-1-N32R16 with ESP32S3
s = os.statvfs("/"); print(s[0]*s[2]) # ~29,000,000 bytes
gc.collect(); print(gc.mem_free()) # ~16,700,000 bytes <- the important one
print(board.NEOPIXEL) # board.IO38gc.mem_free() is the key number. The same build on an 8MB-PSRAM board reports ~8.2MB, because PSRAM size is read at runtime from the chip's MR2 density register rather than the build config.
SHA256
10cc3eb03076667a5bc731ec22bb0f9c3f1c5fbbe5ab3a03863a2e4c4ab6fcbc ...n32r16-en_US-11192.bin
db2e105f326f7848dde234c82a8a7eccf2b4e00f5da77a3dc5fed01c91fbfc0b ...n32r16-en_US-11192.uf2