Ho to upload without erasing flash - eeprom memory

Hi,
I cannot find option when using arduino-cli to upload bins to esp01 to choose to erase or not to erase the eeprom memory
Is it implemented ? How to do it ?
Thanks a lot

That option does not exist nor does the upload modify the EEPROM on the Arduinos that have real EEPROM on chip. Many times I will save stuff in EEPROM then load another program to display what is there.

I solved it by installing esptool which have this option, maybe it would be nice to make this option also for arduino-cli, thanks

What is the option?

I use: esptool.py erase_flash #Perform Chip Erase on SPI flash
I installed the tool by command: pip install setuptools wheel pyaes esptool

This is controlled by the "Erase Flash" custom board option.

You can learn the available custom board options using the arduino-cli board details command:

$ ./arduino-cli board details --fqbn esp8266:esp8266:generic
Board name:                Generic ESP8266 Module
FQBN:                      esp8266:esp8266:generic
Board version:             3.1.2

Identification properties: board=generic

Package name:              esp8266
Package maintainer:        ESP8266 Community
Package URL:               https://arduino.esp8266.com/stable/package_esp8266com_index.json
Package website:           https://github.com/esp8266/Arduino
Package online help:       https://esp8266.com/arduino

Platform name:             esp8266
Platform category:         ESP8266
Platform architecture:     esp8266
Platform URL:              https://github.com/esp8266/Arduino/releases/download/3.1.2/esp8266-3.1.2.zip
Platform file name:        esp8266-3.1.2.zip
Platform size (bytes):     39269515
Platform checksum:         SHA-256:b3f47686d7783c120c2f10bf82788f921c53db8642cc87012599abb6e335b182

Required tool: esp8266:mklittlefs                                             3.1.0-gcc10.3-e5f9fec
Required tool: esp8266:mkspiffs                                               3.1.0-gcc10.3-e5f9fec
Required tool: esp8266:python3                                                3.7.2-post1
Required tool: esp8266:xtensa-lx106-elf-gcc                                   3.1.0-gcc10.3-e5f9fec

Option:        CPU Frequency                                                                        xtal
               80 MHz                                                         ✔                     xtal=80
               160 MHz                                                                              xtal=160
Option:        VTables                                                                              vt
               Flash                                                          ✔                     vt=flash
               Heap                                                                                 vt=heap
               IRAM                                                                                 vt=iram
Option:        C++ Exceptions                                                                       exception
               Disabled (new aborts on oom)                                   ✔                     exception=disabled
               Enabled                                                                              exception=enabled
Option:        Stack Protection                                                                     stacksmash
               Disabled                                                       ✔                     stacksmash=disabled
               Enabled                                                                              stacksmash=enabled
Option:        SSL Support                                                                          ssl
               All SSL ciphers (most compatible)                              ✔                     ssl=all
               Basic SSL ciphers (lower ROM use)                                                    ssl=basic
Option:        MMU                                                                                  mmu
               32KB cache + 32KB IRAM (balanced)                              ✔                     mmu=3232
               16KB cache + 48KB IRAM (IRAM)                                                        mmu=4816
               16KB cache + 48KB IRAM and 2nd Heap (shared)                                         mmu=4816H
               16KB cache + 32KB IRAM + 16KB 2nd Heap (not shared)                                  mmu=3216
               128K Heap External 23LC1024                                                          mmu=ext128k
               8M w/256K Heap External 64 MBit PSRAM                                                mmu=ext8192k
Option:        Non-32-Bit Access                                                                    non32xfer
               Use pgm_read macros for IRAM/PROGMEM                           ✔                     non32xfer=fast
               Byte/Word access to IRAM/PROGMEM (very slow)                                         non32xfer=safe
Option:        Reset Method                                                                         ResetMethod
               dtr (aka nodemcu)                                              ✔                     ResetMethod=nodemcu
               no dtr (aka ck)                                                                      ResetMethod=ck
               no dtr, no_sync                                                                      ResetMethod=nodtr_nosync
Option:        Crystal Frequency                                                                    CrystalFreq
               26 MHz                                                         ✔                     CrystalFreq=26
               40 MHz                                                                               CrystalFreq=40
Option:        Flash Frequency                                                                      FlashFreq
               40MHz                                                          ✔                     FlashFreq=40
               80MHz                                                                                FlashFreq=80
               20MHz                                                                                FlashFreq=20
               26MHz                                                                                FlashFreq=26
Option:        Flash Mode                                                                           FlashMode
               DOUT (compatible)                                              ✔                     FlashMode=dout
               DIO                                                                                  FlashMode=dio
               QOUT                                                                                 FlashMode=qout
               QIO (fast)                                                                           FlashMode=qio
Option:        Flash Size                                                                           eesz
               1MB (FS:64KB OTA:~470KB)                                       ✔                     eesz=1M64
               1MB (FS:128KB OTA:~438KB)                                                            eesz=1M128
               1MB (FS:144KB OTA:~430KB)                                                            eesz=1M144
               1MB (FS:160KB OTA:~422KB)                                                            eesz=1M160
               1MB (FS:192KB OTA:~406KB)                                                            eesz=1M192
               1MB (FS:256KB OTA:~374KB)                                                            eesz=1M256
               1MB (FS:512KB OTA:~246KB)                                                            eesz=1M512
               1MB (FS:none OTA:~502KB)                                                             eesz=1M
               2MB (FS:64KB OTA:~992KB)                                                             eesz=2M64
               2MB (FS:128KB OTA:~960KB)                                                            eesz=2M128
               2MB (FS:256KB OTA:~896KB)                                                            eesz=2M256
               2MB (FS:512KB OTA:~768KB)                                                            eesz=2M512
               2MB (FS:1MB OTA:~512KB)                                                              eesz=2M1M
               2MB (FS:none OTA:~1019KB)                                                            eesz=2M
               4MB (FS:2MB OTA:~1019KB)                                                             eesz=4M2M
               4MB (FS:3MB OTA:~512KB)                                                              eesz=4M3M
               4MB (FS:1MB OTA:~1019KB)                                                             eesz=4M1M
               4MB (FS:none OTA:~1019KB)                                                            eesz=4M
               8MB (FS:6MB OTA:~1019KB)                                                             eesz=8M6M
               8MB (FS:7MB OTA:~512KB)                                                              eesz=8M7M
               8MB (FS:none OTA:~1019KB)                                                            eesz=8M
               16MB (FS:14MB OTA:~1019KB)                                                           eesz=16M14M
               16MB (FS:15MB OTA:~512KB)                                                            eesz=16M15M
               16MB (FS:none OTA:~1019KB)                                                           eesz=16M
               512KB (FS:32KB OTA:~230KB)                                                           eesz=512K32
               512KB (FS:64KB OTA:~214KB)                                                           eesz=512K64
               512KB (FS:128KB OTA:~182KB)                                                          eesz=512K128
               512KB (FS:none OTA:~246KB)                                                           eesz=512K
               Mapping defined by Hardware and Sketch                                               eesz=autoflash
Option:        Builtin Led                                                                          led
               2                                                              ✔                     led=2
               0                                                                                    led=0
               1                                                                                    led=1
               3                                                                                    led=3
               4                                                                                    led=4
               5                                                                                    led=5
               6                                                                                    led=6
               7                                                                                    led=7
               8                                                                                    led=8
               9                                                                                    led=9
               10                                                                                   led=10
               11                                                                                   led=11
               12                                                                                   led=12
               13                                                                                   led=13
               14                                                                                   led=14
               15                                                                                   led=15
               16                                                                                   led=16
Option:        NONOS SDK Version                                                                    sdk
               nonos-sdk 2.2.1+100 (190703)                                   ✔                     sdk=nonosdk_190703
               nonos-sdk 2.2.1+119 (191122)                                                         sdk=nonosdk_191122
               nonos-sdk 2.2.1+113 (191105)                                                         sdk=nonosdk_191105
               nonos-sdk 2.2.1+111 (191024)                                                         sdk=nonosdk_191024
               nonos-sdk 2.2.1+61 (190313)                                                          sdk=nonosdk_190313
               nonos-sdk 2.2.1 (legacy)                                                             sdk=nonosdk221
               nonos-sdk 3.0.5 (experimental)                                                       sdk=nonosdk305
Option:        lwIP Variant                                                                         ip
               v2 Lower Memory                                                ✔                     ip=lm2f
               v2 Higher Bandwidth                                                                  ip=hb2f
               v2 Lower Memory (no features)                                                        ip=lm2n
               v2 Higher Bandwidth (no features)                                                    ip=hb2n
               v2 IPv6 Lower Memory                                                                 ip=lm6f
               v2 IPv6 Higher Bandwidth                                                             ip=hb6f
Option:        Debug port                                                                           dbg
               Disabled                                                       ✔                     dbg=Disabled
               SSL+TLS_MEM                                                                          lvl=SSLTLS_MEM
               SSL+HTTP_CLIENT                                                                      lvl=SSLHTTP_CLIENT
               SSL+HTTP_SERVER                                                                      lvl=SSLHTTP_SERVER
               TLS_MEM+HTTP_CLIENT                                                                  lvl=TLS_MEMHTTP_CLIENT
               TLS_MEM+HTTP_SERVER                                                                  lvl=TLS_MEMHTTP_SERVER
               HTTP_CLIENT+HTTP_SERVER                                                              lvl=HTTP_CLIENTHTTP_SERVER
               SSL+TLS_MEM+HTTP_CLIENT                                                              lvl=SSLTLS_MEMHTTP_CLIENT
               SSL+TLS_MEM+HTTP_SERVER                                                              lvl=SSLTLS_MEMHTTP_SERVER
               SSL+HTTP_CLIENT+HTTP_SERVER                                                          lvl=SSLHTTP_CLIENTHTTP_SERVER
               TLS_MEM+HTTP_CLIENT+HTTP_SERVER                                                      lvl=TLS_MEMHTTP_CLIENTHTTP_SERVER
               SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER                                                  lvl=SSLTLS_MEMHTTP_CLIENTHTTP_SERVER
               CORE                                                                                 lvl=CORE
               WIFI                                                                                 lvl=WIFI
               HTTP_UPDATE                                                                          lvl=HTTP_UPDATE
               UPDATER                                                                              lvl=UPDATER
               OTA                                                                                  lvl=OTA
               OOM                                                                                  lvl=OOM
               MDNS                                                                                 lvl=MDNS
               HWDT                                                                                 lvl=HWDT
               HWDT_NOEXTRA4K                                                                       lvl=HWDT_NOEXTRA4K
               CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS                                           lvl=COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS
               CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT                                      lvl=COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT
               CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K                            lvl=COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K
               SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS                       lvl=SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS
               SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT                       lvl=SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT
               SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K                       lvl=SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K
               NoAssert-NDEBUG                                                                      lvl=NoAssert-NDEBUG
Option:        Erase Flash                                                                          wipe
               Only Sketch                                                    ✔                     wipe=none
               Sketch + WiFi Settings                                                               wipe=sdk
               All Flash Contents                                                                   wipe=all
Option:        Upload Speed                                                                         baud
               115200                                                         ✔                     baud=115200
               57600                                                                                baud=57600
               256000                                                                               baud=256000
               512000                                                                               baud=512000
               921600                                                                               baud=921600
               3000000                                                                              baud=3000000
Programmers:   ID                                                             Name

Here we can see that the ID for the "Erase Flash" option is wipe and the ID for the "All Flash Contents" setting of that option is all:

Option:        Erase Flash                                                                          wipe
               Only Sketch                                                    ✔                     wipe=none
               Sketch + WiFi Settings                                                               wipe=sdk
               All Flash Contents                                                                   wipe=all

You can set the board option using the --board-options flag.

So if you want to erase the entire flash you would use a command like this:

arduino-cli upload --fqbn esp8266:esp8266:generic --board-options wipe=all

Great thanks, will try
just from the options it is not clear how did you find the keyword: wipe=all,
I cannot see it in the options, Is it a "secret" option ?
Also not I tried to search the forum site ans arduino-cli with keyword: erase with no luck, maybe there could be some example shown there

Sorry, just found it, it was on the right side in the textarea, not seen on the first sight

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.