Having trouble with board_build.partitions in platformio.ini

Hi. I have a project destined for a 1MB ESP-01. I need more spiffs space than the default, so I’m taking a stab at setting up my own partition table. My understanding is that I should be able to create a project-level csv file and point to it in my platformio.ini file.

I’ve created: moreSPIFFS.csv as so:

# Espressif ESP8266 Partition Table
# Name,   Type, SubType, Offset,  Size
nvs,      data, nvs,     0x9000,  0x6000
phy_init, data, phy,     0xf000,  0x1000
factory,  app,  factory, 0x10000, 0x70000
spiffs,   data, spiffs,  0x80000, 0x70000

My platformio.ini file looks like so:

[env:esp01]
platform = espressif8266
board = esp01_1m
framework = arduino
lib_deps =
    painlessmesh/painlessMesh@^1.4.5
    makuna/NeoPixelBus@^2.6.0
board_build.partitions = moreSPIFFS.csv
monitor_speed = 115200
build_type = debug
monitor_filters = esp8266_exception_decoder
check_tool = cppcheck
upload_port = COM9

However, I don’t see any indication while uploading (code or the File System Image) that it’s even trying to use my partition. Nor do I see the size of the filesystem change at runtime.

I’ve read the docs a few times now, but I feel like I’m missing something! How do I grow my spiffs size?

Thanks!

  • Core 5.2.3
  • Home 3.4.0

Nonono… You are using instructions meant for an ESP32 as per documentation. These have 0 effect in your ESP8266 project, it’s entirely different platform.

In the ESP8266 platform, you can control which linkerscript to use as per official documentation. This linkerscript determines how the available flash space (1MB in your case) is partitioned for the application code, SPIFFS and other (internal) things.

For example, for your 1MB flash chip you could choose the config board_build.ldscript = eagle.flash.1m512.ld which partitions it as

approx 0.5MB app an 0.5MB SPIFFS.

1 Like

board_build.ldscript worked great! Thanks for setting me straight!