Skip to content

ESP32-S3-DevKitC-1-N32R16 test build (PR #11192)

Pre-release
Pre-release

Choose a tag to compare

@mikeysklar mikeysklar released this 12 Aug 16:11
· 1 commit to espressif-devkitc-1-n32r16 since this release

Unofficial 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.

  1. Hold BOOT, tap RESET, release BOOT
  2. esptool --chip esp32s3 --port <PORT> --baud 921600 erase-flash
  3. esptool --chip esp32s3 --port <PORT> --baud 921600 write-flash 0x0 adafruit-circuitpython-espressif_esp32s3_devkitc_1_n32r16-en_US-11192.bin
  4. 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.IO38

gc.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