Skip to main content

Managing ESP32 partitions


It has been reported that some of this information is out of date. Flashing the device with Meshtastic-flasher should fix these partition issues and update you to the current web interface.

FIXME - Investigate and rewrite document to reflect the current ESP32 Partition mitigation.

Insufficient space to upload web interface files

This problem seems to occur when your board has the partitioning structure set incorrectly. This typically occurs when the board has had a firmware other than Meshtastic on it previously. In this situation, the file upload page on the device typically shows a free space of around 48,000 bytes, rather than the ~300,000 bytes that it should have free.

Meshtastic.local's upload page showing insufficient storage space

There are a number of methods that essentially involve erasing the flash and then re-uploading the Meshtastic firmware.

Install Script

The most reliable way to fix this problem is to use the install script that is included in the meshtastic firmware zip. If that doesn’t work, these other methods may work:

Alternative methods

Using the Arduino IDE:

Using Pio in Windows

pio run --target erase --environment tbeam

Then re-install the firmware ie using ESPHome Flasher.

Requires: Python, Pio, command to be run in the root directory of the firmware project once you’ve cloned it (this last requirement is an assumption based on pio not knowing what a tbeam is, may also require Visual Studio Code and PlatformIO as these were installed during use).

@1984 posted another method using the python based to erase and re-flash the firmware: --baud 921600 erase_flash --baud 921600 write_flash 0x1000 system-info.bin --baud 921600 write_flash 0x00390000 spiffs-*.bin --baud 921600 write_flash 0x10000 firmware-tbeam-EU865-1.1.42.bin

Requires: Python and

Visual Studio & PlatformIO

There is also the method of using the Visual Studio IDE. This requires having Visual Studio and PlatformIO installed, along with having cloned the firmware code as per the build instructions. After loading the project in Visual Studio, select the PlatformIO alien icon, then find the appropriate device, and then click the Erase Flash command.

Erasing the flash using PlatformIO in Visual Studio Code

Requires: Visual Studio Code, PlatformIO, cloned copy of the Meshtastic Firmware project

How do I know it's worked?

Once it has been successfully erased and re-flashed, visiting should leave you with free space on the order of 300,000 bytes, rather than the ~48,000 bytes you currently have. You can then upload the files from the meshtastic web release.

Occasionally, this may glitch may appear when uploading the larger app.js.gz file, but a further erase and flash typically solves this.