ESP-01 Flash Size Selection

Version: 2.0.0-rc2
Date: 2021-12-13T10:08:57.445Z
CLI Version: 0.20.2 [13783819]

OS: Debian Linux

Programming an ESP-01 the Flash Size selection under tools only lists flash sizes for OTA programming.

Hi @HankB. Thanks for giving this Arduino IDE 2.0.0 release candidate a try!

Please provide detailed instructions I can follow to reproduce the problem you are experiencing.

Describe the behavior you were expecting from the IDE.

Describe the behavior you observed that did not match your expectations.

Not what I am seeing on Win-11 Dell Precision i7/8G

Of course, I'm using the ESP-8266 "generic" as my board selections did not show a ESP-01 board option.

I also guessed that the "Generic ESP8266 Module" was the correct board selection and I see the same in the "Flash Size" custom board option menu with that board selected.

  • Open the IDE
  • Set the board to "Generic ESP8266 Module"
  • Go to Tools -> Flash Size

All listed options include "OTA" which means that only half the allowed space is available since OTA requires that two copies of the code be available should the new code not function.

Edit: I just opened 1.8.9 on another PC and it shows the same. (*) I believe that to be a bug as it is not required to use OTA to update firmware on this board. I have a USB<->serial dongle that I can use and an Arduino Uno can also be used for this.

(*) There are actually 2 board definition versions on the other PC and one does not appear to show space available when configured for OTA updates.

I don't understand what you mean. All of the Flash Size options I see in your screen cap include "OTA" .

Tools > Flash Size is a custom board option menu. The Arduino IDE is designed to allow Arduino boards platform authors to define arbitrary options for each board, which are selectable via the Arduino IDE menus. The contents of these menus are completely at the whim of the board platform author. There is nothing fixed in the Arduino IDE code base itself.

You can see here that the IDE is rendering the menu contents exactly as specified by the authors of the 3rd party "esp8266" boards platform:

https://github.com/esp8266/Arduino/blob/3.0.2/boards.txt#L114-L361

The options listed simply include as a reminder how much you could use if you would use OTA. For the rest nothing has changed. It is the way the menu looks with the newest ESP8266 - core.
The option currently selected is 1MB Flash-size of which 64KB will be used by 'FS' (littleFS or the deprecated SPIFFS) which would mean you can use 470KB sketch size if you use OTA.
That is information that previously didn't show up there, and is not even quite correct, since it also depends on the size of the sketch already on the board. You can use the full remain flash-size (1MB - 64KB) to upload a sketch using the UART. If you would want to use OTA uploads, your new sketch size + old sketch size, should not exceed the total available size, and your new sketch size X 2 should not exceed that either.

1 Like

I see. It's information and not a limit applied during the build. Thanks for clarifying that.