PlatformIO ESP32 partitions

Hi all
Is there a tutorial on setting ESP32 partitions while using PlatformIO.
I understand that I need a CSV file or refer to one in the INI file, and file in the data area and need to upload the image.
But I do not seem to be able to make it work.
What I was hoping to get was 1mb program space and 3mb spiffs.
I have tried to understand the espressif documentation but it is above my pay grade.
A video or written tutorial would hopefully get it right for me.
Also is there a way to check how the partitions have been allocated?

So I will try my best to provide some answers.

First, you need to know how your partitions should look like. How much space for SPIFFS and so on.
Here is some documentation of the different partitions and what they do.
Here are different csv templates.

Second, In order to use one of the csv templates copy them into your project folder.

And in your platformio.ini add the following line:

board_build.partitions = default_16MB.csv


  • Attach your ESP32 board to your PC

  • In VScode click on the PlatformIO icon (see next figure)

  • Click on Build Filesystem Image

  • Click on Upload Filesystem Image

Next time you compile and upload a new firmware you should have established a new partition config.