How to change partition scheme for ESP32?

Trying to use SPIFFS for my application. I can get some basic code to work in arduino IDE by changing to the “minimal spiffs” partition scheme however when I copy the same code over to VS and use

board_build.partitions = min_spiffs.csv

in the platformio.ini file SPIFFS fails to mount as though I used the wrong scheme. Can’t figure out what exactly I’m supposed to do. I thought I did what it says in the docs. Using ESP32-S3-devkitC from expressif. Thanks in advance for finding whatever obvious thing I’m missing.

1 Like

What’s your full platformio.ini and the Arduino-ESP32 version installed in your Arduino IDE? (Tools → Boards → Board Manager → esp32)

Was version 2.0.3 in arduino IDE. Tried updating. Same results in 2.0.5.

The entire platformio.ini file is as follows:

; PlatformIO Project Configuration File
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
; Please visit documentation for the other options and examples

monitor_speed = 115200
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
board_build.partitions = min_spiffs.csv
lib_deps = 

Can you take a screenshot of the Arduino IDE → Tools menu for reference?

Here’s all the settings.

Seems flash_mode was not correct by default for esp32-s3-devkitc-1. Setting it to qio fixed it.

These settings now work as expected.

board_build.flash_mode = qio
board_build.f_flash = 80000000L
board_build.partitions = default_8MB.csv

Is this now fixed in the IDE?

I wonder why platformio needs duplicating these settings. It should pick up the configuring from menuconfig, shouldn’t it?