├── Arduino └── packages │ └── esp8266 │ └── hardware │ └── esp8266 │ └── 2.3.0 │ ├── boards.txt │ └── tools │ └── sdk │ └── ld │ ├── eagle.flash.1m0.0x01000.ld │ ├── eagle.flash.1m0.0x81000.ld │ └── eagle.flash.1m0.ld ├── Espressif2Arduino └── Espressif2Arduino.ino └── README.md /Arduino/packages/esp8266/hardware/esp8266/2.3.0/boards.txt: -------------------------------------------------------------------------------- 1 | menu.UploadSpeed=Upload Speed 2 | menu.CpuFrequency=CPU Frequency 3 | menu.FlashSize=Flash Size 4 | menu.FlashMode=Flash Mode 5 | menu.FlashFreq=Flash Frequency 6 | menu.UploadTool=Upload Using 7 | menu.ResetMethod=Reset Method 8 | menu.ESPModule=Module 9 | menu.Debug=Debug port 10 | menu.DebugLevel=Debug Level 11 | menu.LwIPVariant=lwIP Variant 12 | 13 | ############################################################## 14 | generic.name=Generic ESP8266 Module 15 | 16 | generic.upload.tool=esptool 17 | generic.upload.speed=115200 18 | generic.upload.resetmethod=ck 19 | generic.upload.maximum_size=434160 20 | generic.upload.maximum_data_size=81920 21 | generic.upload.wait_for_upload_port=true 22 | generic.serial.disableDTR=true 23 | generic.serial.disableRTS=true 24 | 25 | generic.build.mcu=esp8266 26 | generic.build.f_cpu=80000000L 27 | generic.build.board=ESP8266_ESP01 28 | generic.build.core=esp8266 29 | generic.build.variant=generic 30 | generic.build.flash_mode=qio 31 | generic.build.spiffs_pagesize=256 32 | generic.build.debug_port= 33 | generic.build.debug_level= 34 | 35 | generic.menu.UploadTool.esptool=Serial 36 | generic.menu.UploadTool.esptool.upload.tool=esptool 37 | generic.menu.UploadTool.esptool.upload.verbose=-vv 38 | generic.menu.UploadTool.espupload=OTA_upload 39 | generic.menu.UploadTool.espupload.upload.tool=espupload 40 | 41 | generic.menu.CpuFrequency.80=80 MHz 42 | generic.menu.CpuFrequency.80.build.f_cpu=80000000L 43 | generic.menu.CpuFrequency.160=160 MHz 44 | generic.menu.CpuFrequency.160.build.f_cpu=160000000L 45 | 46 | generic.menu.FlashFreq.40=40MHz 47 | generic.menu.FlashFreq.40.build.flash_freq=40 48 | generic.menu.FlashFreq.80=80MHz 49 | generic.menu.FlashFreq.80.build.flash_freq=80 50 | 51 | generic.menu.FlashMode.dio=DIO 52 | generic.menu.FlashMode.dio.build.flash_mode=dio 53 | generic.menu.FlashMode.qio=QIO 54 | generic.menu.FlashMode.qio.build.flash_mode=qio 55 | generic.menu.FlashMode.dout=DOUT 56 | generic.menu.FlashMode.dout.build.flash_mode=dout 57 | generic.menu.FlashMode.qout=QOUT 58 | generic.menu.FlashMode.qout.build.flash_mode=qout 59 | 60 | generic.menu.UploadSpeed.115200=115200 61 | generic.menu.UploadSpeed.115200.upload.speed=115200 62 | generic.menu.UploadSpeed.9600=9600 63 | generic.menu.UploadSpeed.9600.upload.speed=9600 64 | generic.menu.UploadSpeed.57600=57600 65 | generic.menu.UploadSpeed.57600.upload.speed=57600 66 | generic.menu.UploadSpeed.256000.windows=256000 67 | generic.menu.UploadSpeed.256000.upload.speed=256000 68 | generic.menu.UploadSpeed.230400.linux=230400 69 | generic.menu.UploadSpeed.230400.macosx=230400 70 | generic.menu.UploadSpeed.230400.upload.speed=230400 71 | generic.menu.UploadSpeed.460800.linux=460800 72 | generic.menu.UploadSpeed.460800.macosx=460800 73 | generic.menu.UploadSpeed.460800.upload.speed=460800 74 | generic.menu.UploadSpeed.512000.windows=512000 75 | generic.menu.UploadSpeed.512000.upload.speed=512000 76 | generic.menu.UploadSpeed.921600=921600 77 | generic.menu.UploadSpeed.921600.upload.speed=921600 78 | 79 | generic.menu.FlashSize.512K64=512K (64K SPIFFS) 80 | generic.menu.FlashSize.512K64.build.flash_size=512K 81 | generic.menu.FlashSize.512K64.build.flash_ld=eagle.flash.512k64.ld 82 | generic.menu.FlashSize.512K64.build.spiffs_start=0x6B000 83 | generic.menu.FlashSize.512K64.build.spiffs_end=0x7B000 84 | generic.menu.FlashSize.512K64.build.spiffs_blocksize=4096 85 | generic.menu.FlashSize.512K64.upload.maximum_size=434160 86 | 87 | generic.menu.FlashSize.512K128=512K (128K SPIFFS) 88 | generic.menu.FlashSize.512K128.build.flash_size=512K 89 | generic.menu.FlashSize.512K128.build.flash_ld=eagle.flash.512k128.ld 90 | generic.menu.FlashSize.512K128.build.spiffs_start=0x5B000 91 | generic.menu.FlashSize.512K128.build.spiffs_end=0x7B000 92 | generic.menu.FlashSize.512K128.build.spiffs_blocksize=4096 93 | generic.menu.FlashSize.512K128.upload.maximum_size=368624 94 | 95 | generic.menu.FlashSize.512K0=512K (no SPIFFS) 96 | generic.menu.FlashSize.512K0.build.flash_size=512K 97 | generic.menu.FlashSize.512K0.build.flash_ld=eagle.flash.512k0.ld 98 | generic.menu.FlashSize.512K0.upload.maximum_size=499696 99 | 100 | generic.menu.FlashSize.1M512=1M (512K SPIFFS) 101 | generic.menu.FlashSize.1M512.build.flash_size=1M 102 | generic.menu.FlashSize.1M512.build.flash_ld=eagle.flash.1m512.ld 103 | generic.menu.FlashSize.1M512.build.spiffs_start=0x7B000 104 | generic.menu.FlashSize.1M512.build.spiffs_end=0xFB000 105 | generic.menu.FlashSize.1M512.build.spiffs_blocksize=8192 106 | generic.menu.FlashSize.1M512.upload.maximum_size=499696 107 | 108 | generic.menu.FlashSize.1M256=1M (256K SPIFFS) 109 | generic.menu.FlashSize.1M256.build.flash_size=1M 110 | generic.menu.FlashSize.1M256.build.flash_ld=eagle.flash.1m256.ld 111 | generic.menu.FlashSize.1M256.build.spiffs_start=0xBB000 112 | generic.menu.FlashSize.1M256.build.spiffs_end=0xFB000 113 | generic.menu.FlashSize.1M256.build.spiffs_blocksize=4096 114 | generic.menu.FlashSize.1M256.upload.maximum_size=761840 115 | 116 | generic.menu.FlashSize.1M192=1M (192K SPIFFS) 117 | generic.menu.FlashSize.1M192.build.flash_size=1M 118 | generic.menu.FlashSize.1M192.build.flash_ld=eagle.flash.1m192.ld 119 | generic.menu.FlashSize.1M192.build.spiffs_start=0xCB000 120 | generic.menu.FlashSize.1M192.build.spiffs_end=0xFB000 121 | generic.menu.FlashSize.1M192.build.spiffs_blocksize=4096 122 | generic.menu.FlashSize.1M192.upload.maximum_size=827376 123 | 124 | generic.menu.FlashSize.1M160=1M (160K SPIFFS) 125 | generic.menu.FlashSize.1M160.build.flash_size=1M 126 | generic.menu.FlashSize.1M160.build.flash_ld=eagle.flash.1m160.ld 127 | generic.menu.FlashSize.1M160.build.spiffs_start=0xD3000 128 | generic.menu.FlashSize.1M160.build.spiffs_end=0xFB000 129 | generic.menu.FlashSize.1M160.build.spiffs_blocksize=4096 130 | generic.menu.FlashSize.1M160.upload.maximum_size=860144 131 | 132 | generic.menu.FlashSize.1M144=1M (144K SPIFFS) 133 | generic.menu.FlashSize.1M144.build.flash_size=1M 134 | generic.menu.FlashSize.1M144.build.flash_ld=eagle.flash.1m144.ld 135 | generic.menu.FlashSize.1M144.build.spiffs_start=0xD7000 136 | generic.menu.FlashSize.1M144.build.spiffs_end=0xFB000 137 | generic.menu.FlashSize.1M144.build.spiffs_blocksize=4096 138 | generic.menu.FlashSize.1M144.upload.maximum_size=876528 139 | 140 | generic.menu.FlashSize.1M128=1M (128K SPIFFS) 141 | generic.menu.FlashSize.1M128.build.flash_size=1M 142 | generic.menu.FlashSize.1M128.build.flash_ld=eagle.flash.1m128.ld 143 | generic.menu.FlashSize.1M128.build.spiffs_start=0xDB000 144 | generic.menu.FlashSize.1M128.build.spiffs_end=0xFB000 145 | generic.menu.FlashSize.1M128.build.spiffs_blocksize=4096 146 | generic.menu.FlashSize.1M128.upload.maximum_size=892912 147 | 148 | generic.menu.FlashSize.1M64=1M (64K SPIFFS) 149 | generic.menu.FlashSize.1M64.build.flash_size=1M 150 | generic.menu.FlashSize.1M64.build.flash_ld=eagle.flash.1m64.ld 151 | generic.menu.FlashSize.1M64.build.spiffs_start=0xEB000 152 | generic.menu.FlashSize.1M64.build.spiffs_end=0xFB000 153 | generic.menu.FlashSize.1M64.build.spiffs_blocksize=4096 154 | generic.menu.FlashSize.1M64.upload.maximum_size=958448 155 | 156 | generic.menu.FlashSize.1M0=1M (0K SPIFFS) 157 | generic.menu.FlashSize.1M0.build.flash_size=1M 158 | generic.menu.FlashSize.1M0.build.flash_ld=eagle.flash.1m0.ld 159 | generic.menu.FlashSize.1M0.build.spiffs_start=0xFB000 160 | generic.menu.FlashSize.1M0.build.spiffs_end=0xFB000 161 | generic.menu.FlashSize.1M0.build.spiffs_blocksize=4096 162 | generic.menu.FlashSize.1M0.upload.maximum_size=1023984 163 | 164 | generic.menu.FlashSize.1M0_1=1M (Espressif OTA Rom 1) 165 | generic.menu.FlashSize.1M0_1.build.flash_size=1M 166 | generic.menu.FlashSize.1M0_1.build.flash_ld=eagle.flash.1m0.0x01000.ld 167 | generic.menu.FlashSize.1M0_1.build.spiffs_start=0xFB000 168 | generic.menu.FlashSize.1M0_1.build.spiffs_end=0xFB000 169 | generic.menu.FlashSize.1M0_1.build.spiffs_blocksize=4096 170 | generic.menu.FlashSize.1M0_1.upload.maximum_size=1023984 171 | 172 | generic.menu.FlashSize.1M0_2=1M (Espressif OTA Rom 2) 173 | generic.menu.FlashSize.1M0_2.build.flash_size=1M 174 | generic.menu.FlashSize.1M0_2.build.flash_ld=eagle.flash.1m0.0x81000.ld 175 | generic.menu.FlashSize.1M0_2.build.spiffs_start=0xFB000 176 | generic.menu.FlashSize.1M0_2.build.spiffs_end=0xFB000 177 | generic.menu.FlashSize.1M0_2.build.spiffs_blocksize=4096 178 | generic.menu.FlashSize.1M0_2.upload.maximum_size=1023984 179 | 180 | generic.menu.FlashSize.2M=2M (1M SPIFFS) 181 | generic.menu.FlashSize.2M.build.flash_size=2M 182 | generic.menu.FlashSize.2M.build.flash_ld=eagle.flash.2m.ld 183 | generic.menu.FlashSize.2M.build.spiffs_start=0x100000 184 | generic.menu.FlashSize.2M.build.spiffs_end=0x1FB000 185 | generic.menu.FlashSize.2M.build.spiffs_blocksize=8192 186 | generic.menu.FlashSize.2M.upload.maximum_size=1044464 187 | 188 | generic.menu.FlashSize.4M1M=4M (1M SPIFFS) 189 | generic.menu.FlashSize.4M1M.build.flash_size=4M 190 | generic.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 191 | generic.menu.FlashSize.4M1M.build.spiffs_start=0x300000 192 | generic.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 193 | generic.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 194 | generic.menu.FlashSize.4M1M.build.spiffs_pagesize=256 195 | generic.menu.FlashSize.4M1M.upload.maximum_size=1044464 196 | 197 | generic.menu.FlashSize.4M3M=4M (3M SPIFFS) 198 | generic.menu.FlashSize.4M3M.build.flash_size=4M 199 | generic.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 200 | generic.menu.FlashSize.4M3M.build.spiffs_start=0x100000 201 | generic.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 202 | generic.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 203 | generic.menu.FlashSize.4M3M.upload.maximum_size=1044464 204 | 205 | generic.menu.ResetMethod.ck=ck 206 | generic.menu.ResetMethod.ck.upload.resetmethod=ck 207 | generic.menu.ResetMethod.nodemcu=nodemcu 208 | generic.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu 209 | 210 | generic.menu.Debug.Disabled=Disabled 211 | generic.menu.Debug.Disabled.build.debug_port= 212 | generic.menu.Debug.Serial=Serial 213 | generic.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial 214 | generic.menu.Debug.Serial1=Serial1 215 | generic.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 216 | 217 | generic.menu.DebugLevel.None____=None 218 | generic.menu.DebugLevel.None____.build.debug_level= 219 | generic.menu.DebugLevel.Core____=Core 220 | generic.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE 221 | generic.menu.DebugLevel.SSL_____=Core + SSL 222 | generic.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL 223 | generic.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem 224 | generic.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM 225 | generic.menu.DebugLevel.WiFic___=Core + WiFi 226 | generic.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI 227 | generic.menu.DebugLevel.WiFi____=WiFi 228 | generic.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI 229 | generic.menu.DebugLevel.HTTPClient=HTTPClient 230 | generic.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT 231 | generic.menu.DebugLevel.HTTPClient2=HTTPClient + SSL 232 | generic.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL 233 | generic.menu.DebugLevel.HTTPUpdate=HTTPUpdate 234 | generic.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE 235 | generic.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate 236 | generic.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE 237 | generic.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater 238 | generic.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER 239 | generic.menu.DebugLevel.HTTPServer=HTTPServer 240 | generic.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER 241 | generic.menu.DebugLevel.UPDATER=Updater 242 | generic.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER 243 | generic.menu.DebugLevel.OTA_____=OTA 244 | generic.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA 245 | generic.menu.DebugLevel.OTA2____=OTA + Updater 246 | generic.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER 247 | generic.menu.DebugLevel.all_____=All 248 | generic.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM 249 | 250 | # disabled because espressif's bootloader refuses to write above 4M 251 | # generic.menu.FlashSize.8M=8M (7M SPIFFS) 252 | # generic.menu.FlashSize.8M.build.flash_size=1M 253 | # generic.menu.FlashSize.8M.build.flash_ld=eagle.flash.8m.ld 254 | # generic.menu.FlashSize.8M.build.spiffs_start=0x100000 255 | # generic.menu.FlashSize.8M.build.spiffs_end=0x800000 256 | # generic.menu.FlashSize.8M.build.spiffs_blocksize=8192 257 | # generic.menu.FlashSize.16M=16M (15M SPIFFS) 258 | # generic.menu.FlashSize.16M.build.flash_size=1M 259 | # generic.menu.FlashSize.16M.build.flash_ld=eagle.flash.16m.ld 260 | # generic.menu.FlashSize.16M.build.spiffs_start=0x100000 261 | # generic.menu.FlashSize.16M.build.spiffs_end=0x1000000 262 | # generic.menu.FlashSize.16M.build.spiffs_blocksize=8192 263 | 264 | ############################################################## 265 | # ESP8285 chip has built-in 1MB flash 266 | 267 | esp8285.name=Generic ESP8285 Module 268 | 269 | esp8285.upload.tool=esptool 270 | esp8285.upload.speed=115200 271 | esp8285.upload.resetmethod=ck 272 | esp8285.upload.maximum_size=434160 273 | esp8285.upload.maximum_data_size=81920 274 | esp8285.upload.wait_for_upload_port=true 275 | esp8285.serial.disableDTR=true 276 | esp8285.serial.disableRTS=true 277 | 278 | esp8285.build.mcu=esp8266 279 | esp8285.build.f_cpu=80000000L 280 | esp8285.build.board=ESP8266_ESP01 281 | esp8285.build.core=esp8266 282 | esp8285.build.variant=generic 283 | esp8285.build.flash_mode=dout 284 | esp8285.build.flash_freq=40 285 | esp8285.build.spiffs_pagesize=256 286 | esp8285.build.debug_port= 287 | esp8285.build.debug_level= 288 | 289 | esp8285.menu.UploadTool.esptool=Serial 290 | esp8285.menu.UploadTool.esptool.upload.tool=esptool 291 | esp8285.menu.UploadTool.esptool.upload.verbose=-vv 292 | esp8285.menu.UploadTool.espupload=OTA_upload 293 | esp8285.menu.UploadTool.espupload.upload.tool=espupload 294 | 295 | esp8285.menu.CpuFrequency.80=80 MHz 296 | esp8285.menu.CpuFrequency.80.build.f_cpu=80000000L 297 | esp8285.menu.CpuFrequency.160=160 MHz 298 | esp8285.menu.CpuFrequency.160.build.f_cpu=160000000L 299 | 300 | esp8285.menu.UploadSpeed.115200=115200 301 | esp8285.menu.UploadSpeed.115200.upload.speed=115200 302 | esp8285.menu.UploadSpeed.9600=9600 303 | esp8285.menu.UploadSpeed.9600.upload.speed=9600 304 | esp8285.menu.UploadSpeed.57600=57600 305 | esp8285.menu.UploadSpeed.57600.upload.speed=57600 306 | esp8285.menu.UploadSpeed.256000.windows=256000 307 | esp8285.menu.UploadSpeed.256000.upload.speed=256000 308 | esp8285.menu.UploadSpeed.230400.linux=230400 309 | esp8285.menu.UploadSpeed.230400.macosx=230400 310 | esp8285.menu.UploadSpeed.230400.upload.speed=230400 311 | esp8285.menu.UploadSpeed.460800.linux=460800 312 | esp8285.menu.UploadSpeed.460800.macosx=460800 313 | esp8285.menu.UploadSpeed.460800.upload.speed=460800 314 | esp8285.menu.UploadSpeed.512000.windows=512000 315 | esp8285.menu.UploadSpeed.512000.upload.speed=512000 316 | esp8285.menu.UploadSpeed.921600=921600 317 | esp8285.menu.UploadSpeed.921600.upload.speed=921600 318 | 319 | esp8285.menu.FlashSize.1M512=1M (512K SPIFFS) 320 | esp8285.menu.FlashSize.1M512.build.flash_size=1M 321 | esp8285.menu.FlashSize.1M512.build.flash_ld=eagle.flash.1m512.ld 322 | esp8285.menu.FlashSize.1M512.build.spiffs_start=0x7B000 323 | esp8285.menu.FlashSize.1M512.build.spiffs_end=0xFB000 324 | esp8285.menu.FlashSize.1M512.build.spiffs_blocksize=8192 325 | esp8285.menu.FlashSize.1M512.upload.maximum_size=499696 326 | 327 | esp8285.menu.FlashSize.1M256=1M (256K SPIFFS) 328 | esp8285.menu.FlashSize.1M256.build.flash_size=1M 329 | esp8285.menu.FlashSize.1M256.build.flash_ld=eagle.flash.1m256.ld 330 | esp8285.menu.FlashSize.1M256.build.spiffs_start=0xBB000 331 | esp8285.menu.FlashSize.1M256.build.spiffs_end=0xFB000 332 | esp8285.menu.FlashSize.1M256.build.spiffs_blocksize=4096 333 | esp8285.menu.FlashSize.1M256.upload.maximum_size=761840 334 | 335 | esp8285.menu.FlashSize.1M192=1M (192K SPIFFS) 336 | esp8285.menu.FlashSize.1M192.build.flash_size=1M 337 | esp8285.menu.FlashSize.1M192.build.flash_ld=eagle.flash.1m192.ld 338 | esp8285.menu.FlashSize.1M192.build.spiffs_start=0xCB000 339 | esp8285.menu.FlashSize.1M192.build.spiffs_end=0xFB000 340 | esp8285.menu.FlashSize.1M192.build.spiffs_blocksize=4096 341 | esp8285.menu.FlashSize.1M192.upload.maximum_size=827376 342 | 343 | esp8285.menu.FlashSize.1M160=1M (160K SPIFFS) 344 | esp8285.menu.FlashSize.1M160.build.flash_size=1M 345 | esp8285.menu.FlashSize.1M160.build.flash_ld=eagle.flash.1m160.ld 346 | esp8285.menu.FlashSize.1M160.build.spiffs_start=0xD3000 347 | esp8285.menu.FlashSize.1M160.build.spiffs_end=0xFB000 348 | esp8285.menu.FlashSize.1M160.build.spiffs_blocksize=4096 349 | esp8285.menu.FlashSize.1M160.upload.maximum_size=860144 350 | 351 | esp8285.menu.FlashSize.1M144=1M (144K SPIFFS) 352 | esp8285.menu.FlashSize.1M144.build.flash_size=1M 353 | esp8285.menu.FlashSize.1M144.build.flash_ld=eagle.flash.1m144.ld 354 | esp8285.menu.FlashSize.1M144.build.spiffs_start=0xD7000 355 | esp8285.menu.FlashSize.1M144.build.spiffs_end=0xFB000 356 | esp8285.menu.FlashSize.1M144.build.spiffs_blocksize=4096 357 | esp8285.menu.FlashSize.1M144.upload.maximum_size=876528 358 | 359 | esp8285.menu.FlashSize.1M128=1M (128K SPIFFS) 360 | esp8285.menu.FlashSize.1M128.build.flash_size=1M 361 | esp8285.menu.FlashSize.1M128.build.flash_ld=eagle.flash.1m128.ld 362 | esp8285.menu.FlashSize.1M128.build.spiffs_start=0xDB000 363 | esp8285.menu.FlashSize.1M128.build.spiffs_end=0xFB000 364 | esp8285.menu.FlashSize.1M128.build.spiffs_blocksize=4096 365 | esp8285.menu.FlashSize.1M128.upload.maximum_size=892912 366 | 367 | esp8285.menu.FlashSize.1M64=1M (64K SPIFFS) 368 | esp8285.menu.FlashSize.1M64.build.flash_size=1M 369 | esp8285.menu.FlashSize.1M64.build.flash_ld=eagle.flash.1m64.ld 370 | esp8285.menu.FlashSize.1M64.build.spiffs_start=0xEB000 371 | esp8285.menu.FlashSize.1M64.build.spiffs_end=0xFB000 372 | esp8285.menu.FlashSize.1M64.build.spiffs_blocksize=4096 373 | esp8285.menu.FlashSize.1M64.upload.maximum_size=958448 374 | 375 | esp8285.menu.FlashSize.1M0=1M (no SPIFFS) 376 | esp8285.menu.FlashSize.1M0.build.flash_size=1M 377 | esp8285.menu.FlashSize.1M0.build.flash_ld=eagle.flash.1m0.ld 378 | esp8285.menu.FlashSize.1M0.build.spiffs_start=0xFB000 379 | esp8285.menu.FlashSize.1M0.build.spiffs_end=0xFB000 380 | esp8285.menu.FlashSize.1M0.build.spiffs_blocksize=4096 381 | esp8285.menu.FlashSize.1M0.upload.maximum_size=1023984 382 | 383 | ############################################################## 384 | 385 | espduino.name=ESPDuino (ESP-13 Module) 386 | 387 | espduino.upload.tool=esptool 388 | espduino.upload.speed=115200 389 | espduino.upload.resetmethod=ck 390 | espduino.upload.maximum_size=1044464 391 | espduino.upload.maximum_data_size=81920 392 | espduino.upload.wait_for_upload_port=true 393 | espduino.serial.disableDTR=true 394 | espduino.serial.disableRTS=true 395 | 396 | espduino.build.mcu=esp8266 397 | espduino.build.f_cpu=80000000L 398 | espduino.build.board=ESP8266_ESP13 399 | espduino.build.core=esp8266 400 | espduino.build.variant=ESPDuino 401 | espduino.build.flash_mode=dio 402 | espduino.build.flash_size=4M 403 | espduino.build.flash_freq=40 404 | espduino.build.debug_port= 405 | espduino.build.debug_level= 406 | 407 | espduino.menu.CpuFrequency.80=80 MHz 408 | espduino.menu.CpuFrequency.80.build.f_cpu=80000000L 409 | espduino.menu.CpuFrequency.160=160 MHz 410 | espduino.menu.CpuFrequency.160.build.f_cpu=160000000L 411 | 412 | espduino.menu.UploadSpeed.115200=115200 413 | espduino.menu.UploadSpeed.115200.upload.speed=115200 414 | espduino.menu.UploadSpeed.9600=9600 415 | espduino.menu.UploadSpeed.9600.upload.speed=9600 416 | espduino.menu.UploadSpeed.57600=57600 417 | espduino.menu.UploadSpeed.57600.upload.speed=57600 418 | espduino.menu.UploadSpeed.256000.windows=256000 419 | espduino.menu.UploadSpeed.256000.upload.speed=256000 420 | espduino.menu.UploadSpeed.230400.linux=230400 421 | espduino.menu.UploadSpeed.230400.macosx=230400 422 | espduino.menu.UploadSpeed.230400.macosx=230400 423 | espduino.menu.UploadSpeed.230400.upload.speed=230400 424 | espduino.menu.UploadSpeed.460800.linux=460800 425 | espduino.menu.UploadSpeed.460800.macosx=460800 426 | espduino.menu.UploadSpeed.460800.upload.speed=460800 427 | espduino.menu.UploadSpeed.512000.windows=512000 428 | espduino.menu.UploadSpeed.512000.upload.speed=512000 429 | espduino.menu.UploadSpeed.921600=921600 430 | espduino.menu.UploadSpeed.921600.upload.speed=921600 431 | 432 | espduino.menu.FlashSize.4M3M=4M (3M SPIFFS) 433 | espduino.menu.FlashSize.4M3M.build.flash_size=4M 434 | espduino.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 435 | espduino.menu.FlashSize.4M3M.build.spiffs_start=0x100000 436 | espduino.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 437 | espduino.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 438 | espduino.menu.FlashSize.4M3M.build.spiffs_pagesize=256 439 | 440 | espduino.menu.FlashSize.4M1M=4M (1M SPIFFS) 441 | espduino.menu.FlashSize.4M1M.build.flash_size=4M 442 | espduino.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 443 | espduino.menu.FlashSize.4M1M.build.spiffs_start=0x300000 444 | espduino.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 445 | espduino.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 446 | espduino.menu.FlashSize.4M1M.build.spiffs_pagesize=256 447 | ############################################################## 448 | huzzah.name=Adafruit HUZZAH ESP8266 449 | 450 | huzzah.upload.tool=esptool 451 | huzzah.upload.speed=115200 452 | huzzah.upload.resetmethod=nodemcu 453 | huzzah.upload.maximum_size=1044464 454 | huzzah.upload.maximum_data_size=81920 455 | huzzah.upload.wait_for_upload_port=true 456 | huzzah.serial.disableDTR=true 457 | huzzah.serial.disableRTS=true 458 | 459 | huzzah.build.mcu=esp8266 460 | huzzah.build.f_cpu=80000000L 461 | huzzah.build.board=ESP8266_ESP12 462 | huzzah.build.core=esp8266 463 | huzzah.build.variant=adafruit 464 | huzzah.build.flash_mode=qio 465 | huzzah.build.flash_size=4M 466 | huzzah.build.flash_freq=40 467 | huzzah.build.debug_port= 468 | huzzah.build.debug_level= 469 | 470 | huzzah.menu.CpuFrequency.80=80 MHz 471 | huzzah.menu.CpuFrequency.80.build.f_cpu=80000000L 472 | huzzah.menu.CpuFrequency.160=160 MHz 473 | huzzah.menu.CpuFrequency.160.build.f_cpu=160000000L 474 | 475 | huzzah.menu.UploadSpeed.115200=115200 476 | huzzah.menu.UploadSpeed.115200.upload.speed=115200 477 | huzzah.menu.UploadSpeed.9600=9600 478 | huzzah.menu.UploadSpeed.9600.upload.speed=9600 479 | huzzah.menu.UploadSpeed.57600=57600 480 | huzzah.menu.UploadSpeed.57600.upload.speed=57600 481 | huzzah.menu.UploadSpeed.256000=256000 482 | huzzah.menu.UploadSpeed.256000.upload.speed=256000 483 | huzzah.menu.UploadSpeed.921600=921600 484 | huzzah.menu.UploadSpeed.921600.upload.speed=921600 485 | 486 | huzzah.menu.FlashSize.4M3M=4M (3M SPIFFS) 487 | huzzah.menu.FlashSize.4M3M.build.flash_size=4M 488 | huzzah.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 489 | huzzah.menu.FlashSize.4M3M.build.spiffs_start=0x100000 490 | huzzah.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 491 | huzzah.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 492 | huzzah.menu.FlashSize.4M3M.build.spiffs_pagesize=256 493 | 494 | huzzah.menu.FlashSize.4M1M=4M (1M SPIFFS) 495 | huzzah.menu.FlashSize.4M1M.build.flash_size=4M 496 | huzzah.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 497 | huzzah.menu.FlashSize.4M1M.build.spiffs_start=0x300000 498 | huzzah.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 499 | huzzah.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 500 | huzzah.menu.FlashSize.4M1M.build.spiffs_pagesize=256 501 | 502 | ############################################################## 503 | espresso_lite_v1.name=ESPresso Lite 1.0 504 | espresso_lite_v1.upload.tool=esptool 505 | espresso_lite_v1.upload.speed=115200 506 | espresso_lite_v1.upload.maximum_size=1044464 507 | espresso_lite_v1.upload.maximum_data_size=81920 508 | espresso_lite_v1.upload.wait_for_upload_port=true 509 | 510 | espresso_lite_v1.build.mcu=esp8266 511 | espresso_lite_v1.build.f_cpu=80000000L 512 | espresso_lite_v1.build.board=ESP8266_ESPRESSO_LITE_V1 513 | espresso_lite_v1.build.core=esp8266 514 | espresso_lite_v1.build.variant=espresso_lite_v1 515 | espresso_lite_v1.build.flash_mode=dio 516 | espresso_lite_v1.build.flash_size=4M 517 | espresso_lite_v1.build.flash_freq=40 518 | 519 | espresso_lite_v1.menu.CpuFrequency.80=80 MHz 520 | espresso_lite_v1.menu.CpuFrequency.80.build.f_cpu=80000000L 521 | espresso_lite_v1.menu.CpuFrequency.160=160 MHz 522 | espresso_lite_v1.menu.CpuFrequency.160.build.f_cpu=160000000L 523 | 524 | espresso_lite_v1.menu.UploadSpeed.115200=115200 525 | espresso_lite_v1.menu.UploadSpeed.115200.upload.speed=115200 526 | espresso_lite_v1.menu.UploadSpeed.57600=57600 527 | espresso_lite_v1.menu.UploadSpeed.57600.upload.speed=57600 528 | espresso_lite_v1.menu.UploadSpeed.256000.windows=256000 529 | espresso_lite_v1.menu.UploadSpeed.256000.upload.speed=256000 530 | espresso_lite_v1.menu.UploadSpeed.230400.linux=230400 531 | espresso_lite_v1.menu.UploadSpeed.230400.macosx=230400 532 | espresso_lite_v1.menu.UploadSpeed.230400.macosx=230400 533 | espresso_lite_v1.menu.UploadSpeed.230400.upload.speed=230400 534 | espresso_lite_v1.menu.UploadSpeed.460800.linux=460800 535 | espresso_lite_v1.menu.UploadSpeed.460800.macosx=460800 536 | espresso_lite_v1.menu.UploadSpeed.460800.upload.speed=460800 537 | espresso_lite_v1.menu.UploadSpeed.512000.windows=512000 538 | espresso_lite_v1.menu.UploadSpeed.512000.upload.speed=512000 539 | espresso_lite_v1.menu.UploadSpeed.921600=921600 540 | espresso_lite_v1.menu.UploadSpeed.921600.upload.speed=921600 541 | 542 | espresso_lite_v1.menu.FlashSize.4M3M=4M (3M SPIFFS) 543 | espresso_lite_v1.menu.FlashSize.4M3M.build.flash_size=4M 544 | espresso_lite_v1.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 545 | espresso_lite_v1.menu.FlashSize.4M3M.build.spiffs_start=0x100000 546 | espresso_lite_v1.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 547 | espresso_lite_v1.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 548 | espresso_lite_v1.menu.FlashSize.4M3M.upload.maximum_size=1044464 549 | 550 | espresso_lite_v1.menu.FlashSize.4M1M=4M (1M SPIFFS) 551 | espresso_lite_v1.menu.FlashSize.4M1M.build.flash_size=4M 552 | espresso_lite_v1.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 553 | espresso_lite_v1.menu.FlashSize.4M1M.build.spiffs_start=0x300000 554 | espresso_lite_v1.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 555 | espresso_lite_v1.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 556 | espresso_lite_v1.menu.FlashSize.4M1M.build.spiffs_pagesize=256 557 | espresso_lite_v1.menu.FlashSize.4M1M.upload.maximum_size=1044464 558 | 559 | espresso_lite_v1.menu.ResetMethod.nodemcu=nodemcu 560 | espresso_lite_v1.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu 561 | espresso_lite_v1.menu.ResetMethod.ck=ck 562 | espresso_lite_v1.menu.ResetMethod.ck.upload.resetmethod=ck 563 | 564 | espresso_lite_v1.menu.Debug.Disabled=Disabled 565 | espresso_lite_v1.menu.Debug.Disabled.build.debug_port= 566 | espresso_lite_v1.menu.Debug.Serial=Serial 567 | espresso_lite_v1.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial 568 | espresso_lite_v1.menu.Debug.Serial1=Serial1 569 | espresso_lite_v1.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 570 | 571 | espresso_lite_v1.menu.DebugLevel.None____=None 572 | espresso_lite_v1.menu.DebugLevel.None____.build.debug_level= 573 | espresso_lite_v1.menu.DebugLevel.Core____=Core 574 | espresso_lite_v1.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE 575 | espresso_lite_v1.menu.DebugLevel.SSL_____=Core + SSL 576 | espresso_lite_v1.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL 577 | espresso_lite_v1.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem 578 | espresso_lite_v1.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM 579 | espresso_lite_v1.menu.DebugLevel.WiFic___=Core + WiFi 580 | espresso_lite_v1.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI 581 | espresso_lite_v1.menu.DebugLevel.WiFi____=WiFi 582 | espresso_lite_v1.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI 583 | espresso_lite_v1.menu.DebugLevel.HTTPClient=HTTPClient 584 | espresso_lite_v1.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT 585 | espresso_lite_v1.menu.DebugLevel.HTTPClient2=HTTPClient + SSL 586 | espresso_lite_v1.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL 587 | espresso_lite_v1.menu.DebugLevel.HTTPUpdate=HTTPUpdate 588 | espresso_lite_v1.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE 589 | espresso_lite_v1.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate 590 | espresso_lite_v1.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE 591 | espresso_lite_v1.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater 592 | espresso_lite_v1.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER 593 | espresso_lite_v1.menu.DebugLevel.HTTPServer=HTTPServer 594 | espresso_lite_v1.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER 595 | espresso_lite_v1.menu.DebugLevel.UPDATER=Updater 596 | espresso_lite_v1.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER 597 | espresso_lite_v1.menu.DebugLevel.OTA_____=OTA 598 | espresso_lite_v1.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA 599 | espresso_lite_v1.menu.DebugLevel.OTA2____=OTA + Updater 600 | espresso_lite_v1.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER 601 | espresso_lite_v1.menu.DebugLevel.all_____=All 602 | espresso_lite_v1.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM 603 | 604 | espresso_lite_v1.build.debug_port= 605 | espresso_lite_v1.build.debug_level= 606 | 607 | ############################################################## 608 | espresso_lite_v2.name=ESPresso Lite 2.0 609 | espresso_lite_v2.upload.tool=esptool 610 | espresso_lite_v2.upload.speed=115200 611 | espresso_lite_v2.upload.maximum_size=1044464 612 | espresso_lite_v2.upload.maximum_data_size=81920 613 | espresso_lite_v2.upload.wait_for_upload_port=true 614 | 615 | espresso_lite_v2.build.mcu=esp8266 616 | espresso_lite_v2.build.f_cpu=80000000L 617 | espresso_lite_v2.build.board=ESP8266_ESPRESSO_LITE_V2 618 | espresso_lite_v2.build.core=esp8266 619 | espresso_lite_v2.build.variant=espresso_lite_v2 620 | espresso_lite_v2.build.flash_mode=dio 621 | espresso_lite_v2.build.flash_size=4M 622 | espresso_lite_v2.build.flash_freq=40 623 | 624 | espresso_lite_v2.menu.CpuFrequency.80=80 MHz 625 | espresso_lite_v2.menu.CpuFrequency.80.build.f_cpu=80000000L 626 | espresso_lite_v2.menu.CpuFrequency.160=160 MHz 627 | espresso_lite_v2.menu.CpuFrequency.160.build.f_cpu=160000000L 628 | 629 | espresso_lite_v2.menu.UploadSpeed.115200=115200 630 | espresso_lite_v2.menu.UploadSpeed.115200.upload.speed=115200 631 | espresso_lite_v2.menu.UploadSpeed.57600=57600 632 | espresso_lite_v2.menu.UploadSpeed.57600.upload.speed=57600 633 | espresso_lite_v2.menu.UploadSpeed.256000.windows=256000 634 | espresso_lite_v2.menu.UploadSpeed.256000.upload.speed=256000 635 | espresso_lite_v2.menu.UploadSpeed.230400.linux=230400 636 | espresso_lite_v2.menu.UploadSpeed.230400.macosx=230400 637 | espresso_lite_v2.menu.UploadSpeed.230400.macosx=230400 638 | espresso_lite_v2.menu.UploadSpeed.230400.upload.speed=230400 639 | espresso_lite_v2.menu.UploadSpeed.460800.linux=460800 640 | espresso_lite_v2.menu.UploadSpeed.460800.macosx=460800 641 | espresso_lite_v2.menu.UploadSpeed.460800.upload.speed=460800 642 | espresso_lite_v2.menu.UploadSpeed.512000.windows=512000 643 | espresso_lite_v2.menu.UploadSpeed.512000.upload.speed=512000 644 | espresso_lite_v2.menu.UploadSpeed.921600=921600 645 | espresso_lite_v2.menu.UploadSpeed.921600.upload.speed=921600 646 | 647 | espresso_lite_v2.menu.FlashSize.4M3M=4M (3M SPIFFS) 648 | espresso_lite_v2.menu.FlashSize.4M3M.build.flash_size=4M 649 | espresso_lite_v2.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 650 | espresso_lite_v2.menu.FlashSize.4M3M.build.spiffs_start=0x100000 651 | espresso_lite_v2.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 652 | espresso_lite_v2.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 653 | espresso_lite_v2.menu.FlashSize.4M3M.upload.maximum_size=1044464 654 | 655 | espresso_lite_v2.menu.FlashSize.4M1M=4M (1M SPIFFS) 656 | espresso_lite_v2.menu.FlashSize.4M1M.build.flash_size=4M 657 | espresso_lite_v2.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 658 | espresso_lite_v2.menu.FlashSize.4M1M.build.spiffs_start=0x300000 659 | espresso_lite_v2.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 660 | espresso_lite_v2.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 661 | espresso_lite_v2.menu.FlashSize.4M1M.build.spiffs_pagesize=256 662 | espresso_lite_v2.menu.FlashSize.4M1M.upload.maximum_size=1044464 663 | 664 | espresso_lite_v2.menu.ResetMethod.ck=ck 665 | espresso_lite_v2.menu.ResetMethod.ck.upload.resetmethod=ck 666 | espresso_lite_v2.menu.ResetMethod.nodemcu=nodemcu 667 | espresso_lite_v2.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu 668 | 669 | espresso_lite_v2.menu.Debug.Disabled=Disabled 670 | espresso_lite_v2.menu.Debug.Disabled.build.debug_port= 671 | espresso_lite_v2.menu.Debug.Serial=Serial 672 | espresso_lite_v2.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial 673 | espresso_lite_v2.menu.Debug.Serial1=Serial1 674 | espresso_lite_v2.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 675 | 676 | espresso_lite_v2.menu.DebugLevel.None____=None 677 | espresso_lite_v2.menu.DebugLevel.None____.build.debug_level= 678 | espresso_lite_v2.menu.DebugLevel.Core____=Core 679 | espresso_lite_v2.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE 680 | espresso_lite_v2.menu.DebugLevel.SSL_____=Core + SSL 681 | espresso_lite_v2.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL 682 | espresso_lite_v2.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem 683 | espresso_lite_v2.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM 684 | espresso_lite_v2.menu.DebugLevel.WiFic___=Core + WiFi 685 | espresso_lite_v2.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI 686 | espresso_lite_v2.menu.DebugLevel.WiFi____=WiFi 687 | espresso_lite_v2.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI 688 | espresso_lite_v2.menu.DebugLevel.HTTPClient=HTTPClient 689 | espresso_lite_v2.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT 690 | espresso_lite_v2.menu.DebugLevel.HTTPClient2=HTTPClient + SSL 691 | espresso_lite_v2.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL 692 | espresso_lite_v2.menu.DebugLevel.HTTPUpdate=HTTPUpdate 693 | espresso_lite_v2.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE 694 | espresso_lite_v2.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate 695 | espresso_lite_v2.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE 696 | espresso_lite_v2.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater 697 | espresso_lite_v2.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER 698 | espresso_lite_v2.menu.DebugLevel.HTTPServer=HTTPServer 699 | espresso_lite_v2.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER 700 | espresso_lite_v2.menu.DebugLevel.UPDATER=Updater 701 | espresso_lite_v2.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER 702 | espresso_lite_v2.menu.DebugLevel.OTA_____=OTA 703 | espresso_lite_v2.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA 704 | espresso_lite_v2.menu.DebugLevel.OTA2____=OTA + Updater 705 | espresso_lite_v2.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER 706 | espresso_lite_v2.menu.DebugLevel.all_____=All 707 | espresso_lite_v2.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM 708 | 709 | espresso_lite_v2.build.debug_port= 710 | espresso_lite_v2.build.debug_level= 711 | 712 | ############################################################## 713 | phoenix_v1.name=Phoenix 1.0 714 | phoenix_v1.upload.tool=esptool 715 | phoenix_v1.upload.speed=115200 716 | phoenix_v1.upload.maximum_size=1044464 717 | phoenix_v1.upload.maximum_data_size=81920 718 | phoenix_v1.upload.wait_for_upload_port=true 719 | 720 | phoenix_v1.build.mcu=esp8266 721 | phoenix_v1.build.f_cpu=80000000L 722 | phoenix_v1.build.board=ESP8266_PHOENIX_V1 723 | phoenix_v1.build.core=esp8266 724 | phoenix_v1.build.variant=phoenix_v1 725 | phoenix_v1.build.flash_mode=dio 726 | phoenix_v1.build.flash_size=4M 727 | phoenix_v1.build.flash_freq=40 728 | 729 | phoenix_v1.menu.CpuFrequency.80=80 MHz 730 | phoenix_v1.menu.CpuFrequency.80.build.f_cpu=80000000L 731 | phoenix_v1.menu.CpuFrequency.160=160 MHz 732 | phoenix_v1.menu.CpuFrequency.160.build.f_cpu=160000000L 733 | 734 | phoenix_v1.menu.UploadSpeed.115200=115200 735 | phoenix_v1.menu.UploadSpeed.115200.upload.speed=115200 736 | phoenix_v1.menu.UploadSpeed.57600=57600 737 | phoenix_v1.menu.UploadSpeed.57600.upload.speed=57600 738 | phoenix_v1.menu.UploadSpeed.256000.windows=256000 739 | phoenix_v1.menu.UploadSpeed.256000.upload.speed=256000 740 | phoenix_v1.menu.UploadSpeed.230400.linux=230400 741 | phoenix_v1.menu.UploadSpeed.230400.macosx=230400 742 | phoenix_v1.menu.UploadSpeed.230400.macosx=230400 743 | phoenix_v1.menu.UploadSpeed.230400.upload.speed=230400 744 | phoenix_v1.menu.UploadSpeed.460800.linux=460800 745 | phoenix_v1.menu.UploadSpeed.460800.macosx=460800 746 | phoenix_v1.menu.UploadSpeed.460800.upload.speed=460800 747 | phoenix_v1.menu.UploadSpeed.512000.windows=512000 748 | phoenix_v1.menu.UploadSpeed.512000.upload.speed=512000 749 | phoenix_v1.menu.UploadSpeed.921600=921600 750 | phoenix_v1.menu.UploadSpeed.921600.upload.speed=921600 751 | 752 | phoenix_v1.menu.FlashSize.4M3M=4M (3M SPIFFS) 753 | phoenix_v1.menu.FlashSize.4M3M.build.flash_size=4M 754 | phoenix_v1.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 755 | phoenix_v1.menu.FlashSize.4M3M.build.spiffs_start=0x100000 756 | phoenix_v1.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 757 | phoenix_v1.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 758 | phoenix_v1.menu.FlashSize.4M3M.upload.maximum_size=1044464 759 | 760 | phoenix_v1.menu.FlashSize.4M1M=4M (1M SPIFFS) 761 | phoenix_v1.menu.FlashSize.4M1M.build.flash_size=4M 762 | phoenix_v1.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 763 | phoenix_v1.menu.FlashSize.4M1M.build.spiffs_start=0x300000 764 | phoenix_v1.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 765 | phoenix_v1.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 766 | phoenix_v1.menu.FlashSize.4M1M.build.spiffs_pagesize=256 767 | phoenix_v1.menu.FlashSize.4M1M.upload.maximum_size=1044464 768 | 769 | phoenix_v1.menu.ResetMethod.nodemcu=nodemcu 770 | phoenix_v1.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu 771 | phoenix_v1.menu.ResetMethod.ck=ck 772 | phoenix_v1.menu.ResetMethod.ck.upload.resetmethod=ck 773 | 774 | phoenix_v1.menu.Debug.Disabled=Disabled 775 | phoenix_v1.menu.Debug.Disabled.build.debug_port= 776 | phoenix_v1.menu.Debug.Serial=Serial 777 | phoenix_v1.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial 778 | phoenix_v1.menu.Debug.Serial1=Serial1 779 | phoenix_v1.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 780 | 781 | phoenix_v1.menu.DebugLevel.None____=None 782 | phoenix_v1.menu.DebugLevel.None____.build.debug_level= 783 | phoenix_v1.menu.DebugLevel.Core____=Core 784 | phoenix_v1.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE 785 | phoenix_v1.menu.DebugLevel.SSL_____=Core + SSL 786 | phoenix_v1.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL 787 | phoenix_v1.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem 788 | phoenix_v1.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM 789 | phoenix_v1.menu.DebugLevel.WiFic___=Core + WiFi 790 | phoenix_v1.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI 791 | phoenix_v1.menu.DebugLevel.WiFi____=WiFi 792 | phoenix_v1.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI 793 | phoenix_v1.menu.DebugLevel.HTTPClient=HTTPClient 794 | phoenix_v1.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT 795 | phoenix_v1.menu.DebugLevel.HTTPClient2=HTTPClient + SSL 796 | phoenix_v1.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL 797 | phoenix_v1.menu.DebugLevel.HTTPUpdate=HTTPUpdate 798 | phoenix_v1.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE 799 | phoenix_v1.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate 800 | phoenix_v1.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE 801 | phoenix_v1.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater 802 | phoenix_v1.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER 803 | phoenix_v1.menu.DebugLevel.HTTPServer=HTTPServer 804 | phoenix_v1.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER 805 | phoenix_v1.menu.DebugLevel.UPDATER=Updater 806 | phoenix_v1.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER 807 | phoenix_v1.menu.DebugLevel.OTA_____=OTA 808 | phoenix_v1.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA 809 | phoenix_v1.menu.DebugLevel.OTA2____=OTA + Updater 810 | phoenix_v1.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER 811 | phoenix_v1.menu.DebugLevel.all_____=All 812 | phoenix_v1.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM 813 | 814 | phoenix_v1.build.debug_port= 815 | phoenix_v1.build.debug_level= 816 | 817 | ############################################################## 818 | phoenix_v2.name=Phoenix 2.0 819 | phoenix_v2.upload.tool=esptool 820 | phoenix_v2.upload.speed=115200 821 | phoenix_v2.upload.maximum_size=1044464 822 | phoenix_v2.upload.maximum_data_size=81920 823 | phoenix_v2.upload.wait_for_upload_port=true 824 | 825 | phoenix_v2.build.mcu=esp8266 826 | phoenix_v2.build.f_cpu=80000000L 827 | phoenix_v2.build.board=ESP8266_PHOENIX_V2 828 | phoenix_v2.build.core=esp8266 829 | phoenix_v2.build.variant=phoenix_v2 830 | phoenix_v2.build.flash_mode=dio 831 | phoenix_v2.build.flash_size=4M 832 | phoenix_v2.build.flash_freq=40 833 | 834 | phoenix_v2.menu.CpuFrequency.80=80 MHz 835 | phoenix_v2.menu.CpuFrequency.80.build.f_cpu=80000000L 836 | phoenix_v2.menu.CpuFrequency.160=160 MHz 837 | phoenix_v2.menu.CpuFrequency.160.build.f_cpu=160000000L 838 | 839 | phoenix_v2.menu.UploadSpeed.115200=115200 840 | phoenix_v2.menu.UploadSpeed.115200.upload.speed=115200 841 | phoenix_v2.menu.UploadSpeed.57600=57600 842 | phoenix_v2.menu.UploadSpeed.57600.upload.speed=57600 843 | phoenix_v2.menu.UploadSpeed.256000.windows=256000 844 | phoenix_v2.menu.UploadSpeed.256000.upload.speed=256000 845 | phoenix_v2.menu.UploadSpeed.230400.linux=230400 846 | phoenix_v2.menu.UploadSpeed.230400.macosx=230400 847 | phoenix_v2.menu.UploadSpeed.230400.macosx=230400 848 | phoenix_v2.menu.UploadSpeed.230400.upload.speed=230400 849 | phoenix_v2.menu.UploadSpeed.460800.linux=460800 850 | phoenix_v2.menu.UploadSpeed.460800.macosx=460800 851 | phoenix_v2.menu.UploadSpeed.460800.upload.speed=460800 852 | phoenix_v2.menu.UploadSpeed.512000.windows=512000 853 | phoenix_v2.menu.UploadSpeed.512000.upload.speed=512000 854 | phoenix_v2.menu.UploadSpeed.921600=921600 855 | phoenix_v2.menu.UploadSpeed.921600.upload.speed=921600 856 | 857 | phoenix_v2.menu.FlashSize.4M3M=4M (3M SPIFFS) 858 | phoenix_v2.menu.FlashSize.4M3M.build.flash_size=4M 859 | phoenix_v2.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 860 | phoenix_v2.menu.FlashSize.4M3M.build.spiffs_start=0x100000 861 | phoenix_v2.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 862 | phoenix_v2.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 863 | phoenix_v2.menu.FlashSize.4M3M.upload.maximum_size=1044464 864 | 865 | phoenix_v2.menu.FlashSize.4M1M=4M (1M SPIFFS) 866 | phoenix_v2.menu.FlashSize.4M1M.build.flash_size=4M 867 | phoenix_v2.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 868 | phoenix_v2.menu.FlashSize.4M1M.build.spiffs_start=0x300000 869 | phoenix_v2.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 870 | phoenix_v2.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 871 | phoenix_v2.menu.FlashSize.4M1M.build.spiffs_pagesize=256 872 | phoenix_v2.menu.FlashSize.4M1M.upload.maximum_size=1044464 873 | 874 | phoenix_v2.menu.ResetMethod.ck=ck 875 | phoenix_v2.menu.ResetMethod.ck.upload.resetmethod=ck 876 | phoenix_v2.menu.ResetMethod.nodemcu=nodemcu 877 | phoenix_v2.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu 878 | 879 | phoenix_v2.menu.Debug.Disabled=Disabled 880 | phoenix_v2.menu.Debug.Disabled.build.debug_port= 881 | phoenix_v2.menu.Debug.Serial=Serial 882 | phoenix_v2.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial 883 | phoenix_v2.menu.Debug.Serial1=Serial1 884 | phoenix_v2.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 885 | 886 | phoenix_v2.menu.DebugLevel.None____=None 887 | phoenix_v2.menu.DebugLevel.None____.build.debug_level= 888 | phoenix_v2.menu.DebugLevel.Core____=Core 889 | phoenix_v2.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE 890 | phoenix_v2.menu.DebugLevel.SSL_____=Core + SSL 891 | phoenix_v2.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL 892 | phoenix_v2.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem 893 | phoenix_v2.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM 894 | phoenix_v2.menu.DebugLevel.WiFic___=Core + WiFi 895 | phoenix_v2.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI 896 | phoenix_v2.menu.DebugLevel.WiFi____=WiFi 897 | phoenix_v2.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI 898 | phoenix_v2.menu.DebugLevel.HTTPClient=HTTPClient 899 | phoenix_v2.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT 900 | phoenix_v2.menu.DebugLevel.HTTPClient2=HTTPClient + SSL 901 | phoenix_v2.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL 902 | phoenix_v2.menu.DebugLevel.HTTPUpdate=HTTPUpdate 903 | phoenix_v2.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE 904 | phoenix_v2.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate 905 | phoenix_v2.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE 906 | phoenix_v2.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater 907 | phoenix_v2.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER 908 | phoenix_v2.menu.DebugLevel.HTTPServer=HTTPServer 909 | phoenix_v2.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER 910 | phoenix_v2.menu.DebugLevel.UPDATER=Updater 911 | phoenix_v2.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER 912 | phoenix_v2.menu.DebugLevel.OTA_____=OTA 913 | phoenix_v2.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA 914 | phoenix_v2.menu.DebugLevel.OTA2____=OTA + Updater 915 | phoenix_v2.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER 916 | phoenix_v2.menu.DebugLevel.all_____=All 917 | phoenix_v2.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM 918 | 919 | phoenix_v2.build.debug_port= 920 | phoenix_v2.build.debug_level= 921 | 922 | ############################################################## 923 | nodemcu.name=NodeMCU 0.9 (ESP-12 Module) 924 | 925 | nodemcu.upload.tool=esptool 926 | nodemcu.upload.speed=115200 927 | nodemcu.upload.resetmethod=nodemcu 928 | nodemcu.upload.maximum_size=1044464 929 | nodemcu.upload.maximum_data_size=81920 930 | nodemcu.upload.wait_for_upload_port=true 931 | nodemcu.serial.disableDTR=true 932 | nodemcu.serial.disableRTS=true 933 | 934 | nodemcu.build.mcu=esp8266 935 | nodemcu.build.f_cpu=80000000L 936 | nodemcu.build.board=ESP8266_NODEMCU 937 | nodemcu.build.core=esp8266 938 | nodemcu.build.variant=nodemcu 939 | nodemcu.build.flash_mode=qio 940 | nodemcu.build.flash_size=4M 941 | nodemcu.build.flash_freq=40 942 | nodemcu.build.debug_port= 943 | nodemcu.build.debug_level= 944 | 945 | nodemcu.menu.CpuFrequency.80=80 MHz 946 | nodemcu.menu.CpuFrequency.80.build.f_cpu=80000000L 947 | nodemcu.menu.CpuFrequency.160=160 MHz 948 | nodemcu.menu.CpuFrequency.160.build.f_cpu=160000000L 949 | 950 | nodemcu.menu.UploadSpeed.115200=115200 951 | nodemcu.menu.UploadSpeed.115200.upload.speed=115200 952 | nodemcu.menu.UploadSpeed.9600=9600 953 | nodemcu.menu.UploadSpeed.9600.upload.speed=9600 954 | nodemcu.menu.UploadSpeed.57600=57600 955 | nodemcu.menu.UploadSpeed.57600.upload.speed=57600 956 | nodemcu.menu.UploadSpeed.256000.windows=256000 957 | nodemcu.menu.UploadSpeed.256000.upload.speed=256000 958 | nodemcu.menu.UploadSpeed.230400.linux=230400 959 | nodemcu.menu.UploadSpeed.230400.macosx=230400 960 | nodemcu.menu.UploadSpeed.230400.macosx=230400 961 | nodemcu.menu.UploadSpeed.230400.upload.speed=230400 962 | nodemcu.menu.UploadSpeed.460800.linux=460800 963 | nodemcu.menu.UploadSpeed.460800.macosx=460800 964 | nodemcu.menu.UploadSpeed.460800.upload.speed=460800 965 | nodemcu.menu.UploadSpeed.512000.windows=512000 966 | nodemcu.menu.UploadSpeed.512000.upload.speed=512000 967 | nodemcu.menu.UploadSpeed.921600=921600 968 | nodemcu.menu.UploadSpeed.921600.upload.speed=921600 969 | 970 | nodemcu.menu.FlashSize.4M3M=4M (3M SPIFFS) 971 | nodemcu.menu.FlashSize.4M3M.build.flash_size=4M 972 | nodemcu.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 973 | nodemcu.menu.FlashSize.4M3M.build.spiffs_start=0x100000 974 | nodemcu.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 975 | nodemcu.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 976 | nodemcu.menu.FlashSize.4M3M.build.spiffs_pagesize=256 977 | 978 | nodemcu.menu.FlashSize.4M1M=4M (1M SPIFFS) 979 | nodemcu.menu.FlashSize.4M1M.build.flash_size=4M 980 | nodemcu.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 981 | nodemcu.menu.FlashSize.4M1M.build.spiffs_start=0x300000 982 | nodemcu.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 983 | nodemcu.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 984 | nodemcu.menu.FlashSize.4M1M.build.spiffs_pagesize=256 985 | 986 | ############################################################## 987 | nodemcuv2.name=NodeMCU 1.0 (ESP-12E Module) 988 | 989 | nodemcuv2.upload.tool=esptool 990 | nodemcuv2.upload.speed=115200 991 | nodemcuv2.upload.resetmethod=nodemcu 992 | nodemcuv2.upload.maximum_size=1044464 993 | nodemcuv2.upload.maximum_data_size=81920 994 | nodemcuv2.upload.wait_for_upload_port=true 995 | nodemcuv2.serial.disableDTR=true 996 | nodemcuv2.serial.disableRTS=true 997 | 998 | nodemcuv2.build.mcu=esp8266 999 | nodemcuv2.build.f_cpu=80000000L 1000 | nodemcuv2.build.board=ESP8266_NODEMCU 1001 | nodemcuv2.build.core=esp8266 1002 | nodemcuv2.build.variant=nodemcu 1003 | nodemcuv2.build.flash_mode=dio 1004 | nodemcuv2.build.flash_size=4M 1005 | nodemcuv2.build.flash_freq=40 1006 | nodemcuv2.build.debug_port= 1007 | nodemcuv2.build.debug_level= 1008 | 1009 | nodemcuv2.menu.CpuFrequency.80=80 MHz 1010 | nodemcuv2.menu.CpuFrequency.80.build.f_cpu=80000000L 1011 | nodemcuv2.menu.CpuFrequency.160=160 MHz 1012 | nodemcuv2.menu.CpuFrequency.160.build.f_cpu=160000000L 1013 | 1014 | nodemcuv2.menu.UploadSpeed.115200=115200 1015 | nodemcuv2.menu.UploadSpeed.115200.upload.speed=115200 1016 | nodemcuv2.menu.UploadSpeed.9600=9600 1017 | nodemcuv2.menu.UploadSpeed.9600.upload.speed=9600 1018 | nodemcuv2.menu.UploadSpeed.57600=57600 1019 | nodemcuv2.menu.UploadSpeed.57600.upload.speed=57600 1020 | nodemcuv2.menu.UploadSpeed.256000.windows=256000 1021 | nodemcuv2.menu.UploadSpeed.256000.upload.speed=256000 1022 | nodemcuv2.menu.UploadSpeed.230400.linux=230400 1023 | nodemcuv2.menu.UploadSpeed.230400.macosx=230400 1024 | nodemcuv2.menu.UploadSpeed.230400.macosx=230400 1025 | nodemcuv2.menu.UploadSpeed.230400.upload.speed=230400 1026 | nodemcuv2.menu.UploadSpeed.460800.linux=460800 1027 | nodemcuv2.menu.UploadSpeed.460800.macosx=460800 1028 | nodemcuv2.menu.UploadSpeed.460800.upload.speed=460800 1029 | nodemcuv2.menu.UploadSpeed.512000.windows=512000 1030 | nodemcuv2.menu.UploadSpeed.512000.upload.speed=512000 1031 | nodemcuv2.menu.UploadSpeed.921600=921600 1032 | nodemcuv2.menu.UploadSpeed.921600.upload.speed=921600 1033 | 1034 | nodemcuv2.menu.FlashSize.4M3M=4M (3M SPIFFS) 1035 | nodemcuv2.menu.FlashSize.4M3M.build.flash_size=4M 1036 | nodemcuv2.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 1037 | nodemcuv2.menu.FlashSize.4M3M.build.spiffs_start=0x100000 1038 | nodemcuv2.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 1039 | nodemcuv2.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 1040 | nodemcuv2.menu.FlashSize.4M3M.build.spiffs_pagesize=256 1041 | 1042 | nodemcuv2.menu.FlashSize.4M1M=4M (1M SPIFFS) 1043 | nodemcuv2.menu.FlashSize.4M1M.build.flash_size=4M 1044 | nodemcuv2.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 1045 | nodemcuv2.menu.FlashSize.4M1M.build.spiffs_start=0x300000 1046 | nodemcuv2.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 1047 | nodemcuv2.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 1048 | nodemcuv2.menu.FlashSize.4M1M.build.spiffs_pagesize=256 1049 | 1050 | 1051 | ############################################################## 1052 | modwifi.name=Olimex MOD-WIFI-ESP8266(-DEV) 1053 | 1054 | modwifi.upload.tool=esptool 1055 | modwifi.upload.speed=115200 1056 | modwifi.upload.resetmethod=ck 1057 | modwifi.upload.maximum_size=1044464 1058 | modwifi.upload.maximum_data_size=81920 1059 | modwifi.upload.wait_for_upload_port=true 1060 | modwifi.serial.disableDTR=true 1061 | modwifi.serial.disableRTS=true 1062 | 1063 | modwifi.build.mcu=esp8266 1064 | modwifi.build.f_cpu=80000000L 1065 | modwifi.build.board=MOD_WIFI_ESP8266 1066 | modwifi.build.core=esp8266 1067 | modwifi.build.variant=generic 1068 | # Winbond W25Q16 flash 1069 | modwifi.build.flash_mode=qio 1070 | modwifi.build.flash_size=2M 1071 | modwifi.build.flash_freq=40 1072 | modwifi.build.flash_ld=eagle.flash.2m.ld 1073 | modwifi.build.spiffs_start=0x100000 1074 | modwifi.build.spiffs_end=0x1FB000 1075 | modwifi.build.spiffs_pagesize=256 1076 | modwifi.build.spiffs_blocksize=8192 1077 | modwifi.build.debug_port= 1078 | modwifi.build.debug_level= 1079 | 1080 | modwifi.menu.CpuFrequency.80=80 MHz 1081 | modwifi.menu.CpuFrequency.80.build.f_cpu=80000000L 1082 | modwifi.menu.CpuFrequency.160=160 MHz 1083 | modwifi.menu.CpuFrequency.160.build.f_cpu=160000000L 1084 | 1085 | modwifi.menu.UploadSpeed.115200=115200 1086 | modwifi.menu.UploadSpeed.115200.upload.speed=115200 1087 | modwifi.menu.UploadSpeed.9600=9600 1088 | modwifi.menu.UploadSpeed.9600.upload.speed=9600 1089 | modwifi.menu.UploadSpeed.57600=57600 1090 | modwifi.menu.UploadSpeed.57600.upload.speed=57600 1091 | modwifi.menu.UploadSpeed.256000.windows=256000 1092 | modwifi.menu.UploadSpeed.256000.upload.speed=256000 1093 | modwifi.menu.UploadSpeed.230400.linux=230400 1094 | modwifi.menu.UploadSpeed.230400.macosx=230400 1095 | modwifi.menu.UploadSpeed.230400.macosx=230400 1096 | modwifi.menu.UploadSpeed.230400.upload.speed=230400 1097 | modwifi.menu.UploadSpeed.460800.linux=460800 1098 | modwifi.menu.UploadSpeed.460800.macosx=460800 1099 | modwifi.menu.UploadSpeed.460800.upload.speed=460800 1100 | modwifi.menu.UploadSpeed.512000.windows=512000 1101 | modwifi.menu.UploadSpeed.512000.upload.speed=512000 1102 | modwifi.menu.UploadSpeed.921600=921600 1103 | modwifi.menu.UploadSpeed.921600.upload.speed=921600 1104 | 1105 | ############################################################## 1106 | thing.name=SparkFun ESP8266 Thing 1107 | 1108 | thing.upload.tool=esptool 1109 | thing.upload.speed=921600 1110 | thing.upload.resetmethod=ck 1111 | thing.upload.maximum_size=434160 1112 | thing.upload.maximum_data_size=81920 1113 | thing.upload.wait_for_upload_port=true 1114 | thing.serial.disableDTR=true 1115 | thing.serial.disableRTS=true 1116 | 1117 | thing.build.mcu=esp8266 1118 | thing.build.f_cpu=80000000L 1119 | thing.build.board=ESP8266_THING 1120 | thing.build.core=esp8266 1121 | thing.build.variant=thing 1122 | thing.build.flash_mode=qio 1123 | # flash chip: AT25SF041 (512 kbyte, 4Mbit) 1124 | thing.build.flash_size=512K 1125 | thing.build.flash_ld=eagle.flash.512k64.ld 1126 | thing.build.flash_freq=40 1127 | thing.build.spiffs_start=0x6B000 1128 | thing.build.spiffs_end=0x7B000 1129 | thing.build.spiffs_blocksize=4096 1130 | thing.build.spiffs_pagesize=256 1131 | thing.build.debug_port= 1132 | thing.build.debug_level= 1133 | 1134 | thing.menu.CpuFrequency.80=80 MHz 1135 | thing.menu.CpuFrequency.80.build.f_cpu=80000000L 1136 | thing.menu.CpuFrequency.160=160 MHz 1137 | thing.menu.CpuFrequency.160.build.f_cpu=160000000L 1138 | 1139 | thing.menu.UploadSpeed.115200=115200 1140 | thing.menu.UploadSpeed.115200.upload.speed=115200 1141 | thing.menu.UploadSpeed.9600=9600 1142 | thing.menu.UploadSpeed.9600.upload.speed=9600 1143 | thing.menu.UploadSpeed.57600=57600 1144 | thing.menu.UploadSpeed.57600.upload.speed=57600 1145 | thing.menu.UploadSpeed.256000.windows=256000 1146 | thing.menu.UploadSpeed.256000.upload.speed=256000 1147 | thing.menu.UploadSpeed.230400.linux=230400 1148 | thing.menu.UploadSpeed.230400.macosx=230400 1149 | thing.menu.UploadSpeed.230400.upload.speed=230400 1150 | thing.menu.UploadSpeed.460800.linux=460800 1151 | thing.menu.UploadSpeed.460800.macosx=460800 1152 | thing.menu.UploadSpeed.460800.upload.speed=460800 1153 | thing.menu.UploadSpeed.512000.windows=512000 1154 | thing.menu.UploadSpeed.512000.upload.speed=512000 1155 | thing.menu.UploadSpeed.921600=921600 1156 | thing.menu.UploadSpeed.921600.upload.speed=921600 1157 | 1158 | ############################################################## 1159 | thingdev.name=SparkFun ESP8266 Thing Dev 1160 | 1161 | thingdev.upload.tool=esptool 1162 | thingdev.upload.speed=921600 1163 | thingdev.upload.resetmethod=nodemcu 1164 | thingdev.upload.maximum_size=434160 1165 | thingdev.upload.maximum_data_size=81920 1166 | thingdev.upload.wait_for_upload_port=true 1167 | thingdev.serial.disableDTR=true 1168 | thingdev.serial.disableRTS=true 1169 | 1170 | thingdev.build.mcu=esp8266 1171 | thingdev.build.f_cpu=80000000L 1172 | thingdev.build.board=ESP8266_THING_DEV 1173 | thingdev.build.core=esp8266 1174 | thingdev.build.variant=thing 1175 | thingdev.build.flash_mode=dio 1176 | # flash chip: AT25SF041 (512 kbyte, 4Mbit) 1177 | thingdev.build.flash_size=512K 1178 | thingdev.build.flash_ld=eagle.flash.512k64.ld 1179 | thingdev.build.flash_freq=40 1180 | thingdev.build.debug_port= 1181 | thingdev.build.debug_level= 1182 | 1183 | thingdev.menu.CpuFrequency.80=80 MHz 1184 | thingdev.menu.CpuFrequency.80.build.f_cpu=80000000L 1185 | thingdev.menu.CpuFrequency.160=160 MHz 1186 | thingdev.menu.CpuFrequency.160.build.f_cpu=160000000L 1187 | 1188 | thingdev.menu.UploadSpeed.115200=115200 1189 | thingdev.menu.UploadSpeed.115200.upload.speed=115200 1190 | thingdev.menu.UploadSpeed.9600=9600 1191 | thingdev.menu.UploadSpeed.9600.upload.speed=9600 1192 | thingdev.menu.UploadSpeed.57600=57600 1193 | thingdev.menu.UploadSpeed.57600.upload.speed=57600 1194 | thingdev.menu.UploadSpeed.256000.windows=256000 1195 | thingdev.menu.UploadSpeed.256000.upload.speed=256000 1196 | thingdev.menu.UploadSpeed.230400.linux=230400 1197 | thingdev.menu.UploadSpeed.230400.macosx=230400 1198 | thingdev.menu.UploadSpeed.230400.upload.speed=230400 1199 | thingdev.menu.UploadSpeed.460800.linux=460800 1200 | thingdev.menu.UploadSpeed.460800.macosx=460800 1201 | thingdev.menu.UploadSpeed.460800.upload.speed=460800 1202 | thingdev.menu.UploadSpeed.512000.windows=512000 1203 | thingdev.menu.UploadSpeed.512000.upload.speed=512000 1204 | thingdev.menu.UploadSpeed.921600=921600 1205 | thingdev.menu.UploadSpeed.921600.upload.speed=921600 1206 | 1207 | ############################################################## 1208 | esp210.name=SweetPea ESP-210 1209 | 1210 | esp210.upload.tool=esptool 1211 | esp210.upload.speed=115200 1212 | esp210.upload.resetmethod=ck 1213 | esp210.upload.maximum_size=1044464 1214 | esp210.upload.maximum_data_size=81920 1215 | esp210.upload.wait_for_upload_port=true 1216 | esp210.serial.disableDTR=true 1217 | esp210.serial.disableRTS=true 1218 | 1219 | esp210.build.mcu=esp8266 1220 | esp210.build.f_cpu=80000000L 1221 | esp210.build.board=ESP8266_ESP210 1222 | esp210.build.core=esp8266 1223 | esp210.build.variant=generic 1224 | esp210.build.flash_mode=qio 1225 | esp210.build.flash_size=4M 1226 | esp210.build.flash_freq=40 1227 | esp210.build.debug_port= 1228 | esp210.build.debug_level= 1229 | 1230 | esp210.menu.CpuFrequency.80=80 MHz 1231 | esp210.menu.CpuFrequency.80.build.f_cpu=80000000L 1232 | esp210.menu.CpuFrequency.160=160 MHz 1233 | esp210.menu.CpuFrequency.160.build.f_cpu=160000000L 1234 | 1235 | esp210.menu.UploadSpeed.57600=57600 1236 | esp210.menu.UploadSpeed.57600.upload.speed=57600 1237 | esp210.menu.UploadSpeed.115200=115200 1238 | esp210.menu.UploadSpeed.115200.upload.speed=115200 1239 | esp210.menu.UploadSpeed.256000.windows=256000 1240 | esp210.menu.UploadSpeed.256000.upload.speed=256000 1241 | esp210.menu.UploadSpeed.230400.linux=230400 1242 | esp210.menu.UploadSpeed.230400.macosx=230400 1243 | esp210.menu.UploadSpeed.230400.macosx=230400 1244 | esp210.menu.UploadSpeed.230400.upload.speed=230400 1245 | esp210.menu.UploadSpeed.460800.linux=460800 1246 | esp210.menu.UploadSpeed.460800.macosx=460800 1247 | esp210.menu.UploadSpeed.460800.upload.speed=460800 1248 | esp210.menu.UploadSpeed.512000.windows=512000 1249 | esp210.menu.UploadSpeed.512000.upload.speed=512000 1250 | esp210.menu.UploadSpeed.921600=921600 1251 | esp210.menu.UploadSpeed.921600.upload.speed=921600 1252 | 1253 | esp210.menu.FlashSize.4M3M=4M (3M SPIFFS) 1254 | esp210.menu.FlashSize.4M3M.build.flash_size=4M 1255 | esp210.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 1256 | esp210.menu.FlashSize.4M3M.build.spiffs_start=0x100000 1257 | esp210.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 1258 | esp210.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 1259 | esp210.menu.FlashSize.4M3M.build.spiffs_pagesize=256 1260 | 1261 | esp210.menu.FlashSize.4M1M=4M (1M SPIFFS) 1262 | esp210.menu.FlashSize.4M1M.build.flash_size=4M 1263 | esp210.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 1264 | esp210.menu.FlashSize.4M1M.build.spiffs_start=0x300000 1265 | esp210.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 1266 | esp210.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 1267 | esp210.menu.FlashSize.4M1M.build.spiffs_pagesize=256 1268 | 1269 | ############################################################## 1270 | # wifio.name=Wifio 1271 | # 1272 | # wifio.upload.tool=esptool 1273 | # wifio.upload.speed=115200 1274 | # wifio.upload.resetmethod=wifio 1275 | # wifio.upload.maximum_size=524288 1276 | # wifio.upload.wait_for_upload_port=true 1277 | # 1278 | # wifio.build.mcu=esp8266 1279 | # wifio.build.f_cpu=80000000L 1280 | # wifio.build.board=ESP8266_WIFIO 1281 | # wifio.build.core=esp8266 1282 | # wifio.build.variant=wifio 1283 | # wifio.build.flash_mode=qio 1284 | # wifio.build.flash_size=512K 1285 | # wifio.build.flash_freq=40 1286 | # wifio.build.flash_ld=eagle.flash.512k64.ld 1287 | # wifio.build.spiffs_start=0x6B000 1288 | # wifio.build.spiffs_end=0x7B000 1289 | # 1290 | # wifio.menu.CpuFrequency.80=80MHz 1291 | # wifio.menu.CpuFrequency.80.build.f_cpu=80000000L 1292 | # wifio.menu.CpuFrequency.160=160MHz 1293 | # wifio.menu.CpuFrequency.160.build.f_cpu=160000000L 1294 | # 1295 | # wifio.upload.tool=esptool 1296 | # 1297 | 1298 | ############################################################## 1299 | d1_mini.name=WeMos D1 R2 & mini 1300 | 1301 | d1_mini.upload.tool=esptool 1302 | d1_mini.upload.speed=460800 1303 | d1_mini.upload.resetmethod=nodemcu 1304 | d1_mini.upload.maximum_size=1044464 1305 | d1_mini.upload.maximum_data_size=81920 1306 | d1_mini.upload.wait_for_upload_port=true 1307 | d1_mini.serial.disableDTR=true 1308 | d1_mini.serial.disableRTS=true 1309 | 1310 | d1_mini.build.mcu=esp8266 1311 | d1_mini.build.f_cpu=80000000L 1312 | d1_mini.build.board=ESP8266_WEMOS_D1MINI 1313 | d1_mini.build.core=esp8266 1314 | d1_mini.build.variant=d1_mini 1315 | d1_mini.build.flash_mode=dio 1316 | d1_mini.build.flash_size=4M 1317 | d1_mini.build.flash_freq=40 1318 | d1_mini.build.debug_port= 1319 | d1_mini.build.debug_level= 1320 | 1321 | d1_mini.menu.CpuFrequency.80=80 MHz 1322 | d1_mini.menu.CpuFrequency.80.build.f_cpu=80000000L 1323 | d1_mini.menu.CpuFrequency.160=160 MHz 1324 | d1_mini.menu.CpuFrequency.160.build.f_cpu=160000000L 1325 | 1326 | d1_mini.menu.UploadSpeed.921600=921600 1327 | d1_mini.menu.UploadSpeed.921600.upload.speed=921600 1328 | d1_mini.menu.UploadSpeed.115200=115200 1329 | d1_mini.menu.UploadSpeed.115200.upload.speed=115200 1330 | d1_mini.menu.UploadSpeed.9600=9600 1331 | d1_mini.menu.UploadSpeed.9600.upload.speed=9600 1332 | d1_mini.menu.UploadSpeed.57600=57600 1333 | d1_mini.menu.UploadSpeed.57600.upload.speed=57600 1334 | d1_mini.menu.UploadSpeed.256000.windows=256000 1335 | d1_mini.menu.UploadSpeed.256000.upload.speed=256000 1336 | d1_mini.menu.UploadSpeed.230400.linux=230400 1337 | d1_mini.menu.UploadSpeed.230400.macosx=230400 1338 | d1_mini.menu.UploadSpeed.230400.macosx=230400 1339 | d1_mini.menu.UploadSpeed.230400.upload.speed=230400 1340 | d1_mini.menu.UploadSpeed.460800.linux=460800 1341 | d1_mini.menu.UploadSpeed.460800.macosx=460800 1342 | d1_mini.menu.UploadSpeed.460800.upload.speed=460800 1343 | d1_mini.menu.UploadSpeed.512000.windows=512000 1344 | d1_mini.menu.UploadSpeed.512000.upload.speed=512000 1345 | 1346 | 1347 | d1_mini.menu.FlashSize.4M3M=4M (3M SPIFFS) 1348 | d1_mini.menu.FlashSize.4M3M.build.flash_size=4M 1349 | d1_mini.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 1350 | d1_mini.menu.FlashSize.4M3M.build.spiffs_start=0x100000 1351 | d1_mini.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 1352 | d1_mini.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 1353 | d1_mini.menu.FlashSize.4M3M.build.spiffs_pagesize=256 1354 | 1355 | d1_mini.menu.FlashSize.4M1M=4M (1M SPIFFS) 1356 | d1_mini.menu.FlashSize.4M1M.build.flash_size=4M 1357 | d1_mini.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 1358 | d1_mini.menu.FlashSize.4M1M.build.spiffs_start=0x300000 1359 | d1_mini.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 1360 | d1_mini.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 1361 | d1_mini.menu.FlashSize.4M1M.build.spiffs_pagesize=256 1362 | 1363 | ############################################################## 1364 | d1.name=WeMos D1(Retired) 1365 | 1366 | d1.upload.tool=esptool 1367 | d1.upload.speed=460800 1368 | d1.upload.resetmethod=nodemcu 1369 | d1.upload.maximum_size=1044464 1370 | d1.upload.maximum_data_size=81920 1371 | d1.upload.wait_for_upload_port=true 1372 | d1.serial.disableDTR=true 1373 | d1.serial.disableRTS=true 1374 | 1375 | d1.build.mcu=esp8266 1376 | d1.build.f_cpu=80000000L 1377 | d1.build.board=ESP8266_WEMOS_D1MINI 1378 | d1.build.core=esp8266 1379 | d1.build.variant=d1 1380 | d1.build.flash_mode=dio 1381 | d1.build.flash_size=4M 1382 | d1.build.flash_freq=40 1383 | d1.build.debug_port= 1384 | d1.build.debug_level= 1385 | 1386 | d1.menu.CpuFrequency.80=80 MHz 1387 | d1.menu.CpuFrequency.80.build.f_cpu=80000000L 1388 | d1.menu.CpuFrequency.160=160 MHz 1389 | d1.menu.CpuFrequency.160.build.f_cpu=160000000L 1390 | 1391 | d1.menu.UploadSpeed.921600=921600 1392 | d1.menu.UploadSpeed.921600.upload.speed=921600 1393 | d1.menu.UploadSpeed.115200=115200 1394 | d1.menu.UploadSpeed.115200.upload.speed=115200 1395 | d1.menu.UploadSpeed.9600=9600 1396 | d1.menu.UploadSpeed.9600.upload.speed=9600 1397 | d1.menu.UploadSpeed.57600=57600 1398 | d1.menu.UploadSpeed.57600.upload.speed=57600 1399 | d1.menu.UploadSpeed.256000.windows=256000 1400 | d1.menu.UploadSpeed.256000.upload.speed=256000 1401 | d1.menu.UploadSpeed.230400.linux=230400 1402 | d1.menu.UploadSpeed.230400.macosx=230400 1403 | d1.menu.UploadSpeed.230400.macosx=230400 1404 | d1.menu.UploadSpeed.230400.upload.speed=230400 1405 | d1.menu.UploadSpeed.460800.linux=460800 1406 | d1.menu.UploadSpeed.460800.macosx=460800 1407 | d1.menu.UploadSpeed.460800.upload.speed=460800 1408 | d1.menu.UploadSpeed.512000.windows=512000 1409 | d1.menu.UploadSpeed.512000.upload.speed=512000 1410 | 1411 | 1412 | d1.menu.FlashSize.4M3M=4M (3M SPIFFS) 1413 | d1.menu.FlashSize.4M3M.build.flash_size=4M 1414 | d1.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 1415 | d1.menu.FlashSize.4M3M.build.spiffs_start=0x100000 1416 | d1.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 1417 | d1.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 1418 | d1.menu.FlashSize.4M3M.build.spiffs_pagesize=256 1419 | 1420 | d1.menu.FlashSize.4M1M=4M (1M SPIFFS) 1421 | d1.menu.FlashSize.4M1M.build.flash_size=4M 1422 | d1.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 1423 | d1.menu.FlashSize.4M1M.build.spiffs_start=0x300000 1424 | d1.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 1425 | d1.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 1426 | d1.menu.FlashSize.4M1M.build.spiffs_pagesize=256 1427 | 1428 | 1429 | ############################################################## 1430 | 1431 | espino.name=ESPino (ESP-12 Module) 1432 | 1433 | espino.upload.tool=esptool 1434 | espino.upload.speed=115200 1435 | espino.upload.resetmethod=ck 1436 | espino.upload.maximum_size=1044464 1437 | espino.upload.maximum_data_size=81920 1438 | espino.upload.wait_for_upload_port=true 1439 | espino.serial.disableDTR=true 1440 | espino.serial.disableRTS=true 1441 | 1442 | espino.build.mcu=esp8266 1443 | espino.build.f_cpu=80000000L 1444 | espino.build.board=ESP8266_ESP12 1445 | espino.build.core=esp8266 1446 | espino.build.variant=espino 1447 | espino.build.flash_mode=qio 1448 | espino.build.flash_size=4M 1449 | espino.build.flash_freq=40 1450 | espino.build.spiffs_pagesize=256 1451 | espino.build.debug_port= 1452 | espino.build.debug_level= 1453 | 1454 | espino.menu.CpuFrequency.80=80 MHz 1455 | espino.menu.CpuFrequency.80.build.f_cpu=80000000L 1456 | espino.menu.CpuFrequency.160=160 MHz 1457 | espino.menu.CpuFrequency.160.build.f_cpu=160000000L 1458 | 1459 | espino.menu.FlashMode.dio=DIO 1460 | espino.menu.FlashMode.dio.build.flash_mode=dio 1461 | espino.menu.FlashMode.qio=QIO 1462 | espino.menu.FlashMode.qio.build.flash_mode=qio 1463 | 1464 | espino.menu.UploadSpeed.115200=115200 1465 | espino.menu.UploadSpeed.115200.upload.speed=115200 1466 | espino.menu.UploadSpeed.9600=9600 1467 | espino.menu.UploadSpeed.9600.upload.speed=9600 1468 | espino.menu.UploadSpeed.57600=57600 1469 | espino.menu.UploadSpeed.57600.upload.speed=57600 1470 | espino.menu.UploadSpeed.256000.windows=256000 1471 | espino.menu.UploadSpeed.256000.upload.speed=256000 1472 | espino.menu.UploadSpeed.230400.linux=230400 1473 | espino.menu.UploadSpeed.230400.macosx=230400 1474 | espino.menu.UploadSpeed.230400.upload.speed=230400 1475 | espino.menu.UploadSpeed.460800.linux=460800 1476 | espino.menu.UploadSpeed.460800.macosx=460800 1477 | espino.menu.UploadSpeed.460800.upload.speed=460800 1478 | espino.menu.UploadSpeed.512000.windows=512000 1479 | espino.menu.UploadSpeed.512000.upload.speed=512000 1480 | espino.menu.UploadSpeed.921600=921600 1481 | espino.menu.UploadSpeed.921600.upload.speed=921600 1482 | 1483 | espino.menu.FlashSize.4M1M=4M (1M SPIFFS) 1484 | espino.menu.FlashSize.4M1M.build.flash_size=4M 1485 | espino.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 1486 | espino.menu.FlashSize.4M1M.build.spiffs_start=0x300000 1487 | espino.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 1488 | espino.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 1489 | espino.menu.FlashSize.4M1M.build.spiffs_pagesize=256 1490 | espino.menu.FlashSize.4M1M.upload.maximum_size=1044464 1491 | 1492 | espino.menu.FlashSize.4M3M=4M (3M SPIFFS) 1493 | espino.menu.FlashSize.4M3M.build.flash_size=4M 1494 | espino.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 1495 | espino.menu.FlashSize.4M3M.build.spiffs_start=0x100000 1496 | espino.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 1497 | espino.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 1498 | espino.menu.FlashSize.4M3M.upload.maximum_size=1044464 1499 | 1500 | espino.menu.ResetMethod.ck=ck 1501 | espino.menu.ResetMethod.ck.upload.resetmethod=ck 1502 | espino.menu.ResetMethod.nodemcu=nodemcu 1503 | espino.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu 1504 | 1505 | ############################################################## 1506 | espinotee.name=ThaiEasyElec's ESPino 1507 | 1508 | espinotee.upload.tool=esptool 1509 | espinotee.upload.speed=115200 1510 | espinotee.upload.resetmethod=nodemcu 1511 | espinotee.upload.maximum_size=1044464 1512 | espinotee.upload.maximum_data_size=81920 1513 | espinotee.upload.wait_for_upload_port=true 1514 | espinotee.serial.disableDTR=true 1515 | espinotee.serial.disableRTS=true 1516 | 1517 | espinotee.build.mcu=esp8266 1518 | espinotee.build.f_cpu=80000000L 1519 | espinotee.build.board=ESP8266_ESP13 1520 | espinotee.build.core=esp8266 1521 | espinotee.build.variant=espinotee 1522 | espinotee.build.flash_mode=qio 1523 | espinotee.build.flash_size=4M 1524 | espinotee.build.flash_freq=40 1525 | espinotee.build.debug_port= 1526 | espinotee.build.debug_level= 1527 | 1528 | espinotee.menu.CpuFrequency.80=80 MHz 1529 | espinotee.menu.CpuFrequency.80.build.f_cpu=80000000L 1530 | espinotee.menu.CpuFrequency.160=160 MHz 1531 | espinotee.menu.CpuFrequency.160.build.f_cpu=160000000L 1532 | 1533 | espinotee.menu.UploadSpeed.115200=115200 1534 | espinotee.menu.UploadSpeed.115200.upload.speed=115200 1535 | espinotee.menu.UploadSpeed.9600=9600 1536 | espinotee.menu.UploadSpeed.9600.upload.speed=9600 1537 | espinotee.menu.UploadSpeed.57600=57600 1538 | espinotee.menu.UploadSpeed.57600.upload.speed=57600 1539 | espinotee.menu.UploadSpeed.256000.windows=256000 1540 | espinotee.menu.UploadSpeed.256000.upload.speed=256000 1541 | espinotee.menu.UploadSpeed.230400.linux=230400 1542 | espinotee.menu.UploadSpeed.230400.macosx=230400 1543 | espinotee.menu.UploadSpeed.230400.macosx=230400 1544 | espinotee.menu.UploadSpeed.230400.upload.speed=230400 1545 | espinotee.menu.UploadSpeed.460800.linux=460800 1546 | espinotee.menu.UploadSpeed.460800.macosx=460800 1547 | espinotee.menu.UploadSpeed.460800.upload.speed=460800 1548 | espinotee.menu.UploadSpeed.512000.windows=512000 1549 | espinotee.menu.UploadSpeed.512000.upload.speed=512000 1550 | espinotee.menu.UploadSpeed.921600=921600 1551 | espinotee.menu.UploadSpeed.921600.upload.speed=921600 1552 | 1553 | espinotee.menu.FlashSize.4M3M=4M (3M SPIFFS) 1554 | espinotee.menu.FlashSize.4M3M.build.flash_size=4M 1555 | espinotee.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 1556 | espinotee.menu.FlashSize.4M3M.build.spiffs_start=0x100000 1557 | espinotee.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 1558 | espinotee.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 1559 | espinotee.menu.FlashSize.4M3M.build.spiffs_pagesize=256 1560 | 1561 | espinotee.menu.FlashSize.4M1M=4M (1M SPIFFS) 1562 | espinotee.menu.FlashSize.4M1M.build.flash_size=4M 1563 | espinotee.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 1564 | espinotee.menu.FlashSize.4M1M.build.spiffs_start=0x300000 1565 | espinotee.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 1566 | espinotee.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 1567 | espinotee.menu.FlashSize.4M1M.build.spiffs_pagesize=256 1568 | 1569 | ############################################################## 1570 | wifinfo.name=WifInfo 1571 | 1572 | wifinfo.upload.tool=esptool 1573 | wifinfo.upload.speed=115200 1574 | wifinfo.upload.resetmethod=nodemcu 1575 | wifinfo.upload.maximum_size=434160 1576 | wifinfo.upload.maximum_data_size=81920 1577 | wifinfo.upload.wait_for_upload_port=true 1578 | wifinfo.serial.disableDTR=true 1579 | wifinfo.serial.disableRTS=true 1580 | 1581 | wifinfo.build.mcu=esp8266 1582 | wifinfo.build.core=esp8266 1583 | wifinfo.build.variant=wifinfo 1584 | wifinfo.build.board=WIFINFO 1585 | wifinfo.build.spiffs_pagesize=256 1586 | wifinfo.build.debug_port=Serial1 1587 | wifinfo.build.debug_level=Wifinfo 1588 | 1589 | wifinfo.menu.Debug.Disabled=Disabled 1590 | wifinfo.menu.Debug.Disabled.build.debug_port= 1591 | wifinfo.menu.Debug.Serial=Serial 1592 | wifinfo.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial 1593 | wifinfo.menu.Debug.Serial1=Serial1 1594 | wifinfo.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 1595 | 1596 | wifinfo.menu.DebugLevel.None=None 1597 | wifinfo.menu.DebugLevel.None.build.debug_level= 1598 | wifinfo.menu.DebugLevel.Wifinfo=Wifinfo 1599 | wifinfo.menu.DebugLevel.Wifinfo.build.debug_level=-DDEBUG_ESP_WIFINFO 1600 | 1601 | #wifinfo.menu.ESPModule.ESP07512=ESP07 (1M/512K SPIFFS) 1602 | #wifinfo.menu.ESPModule.ESP07512.build.board=ESP8266_ESP07 1603 | #wifinfo.menu.ESPModule.ESP07512.build.flash_size=1M 1604 | #wifinfo.menu.ESPModule.ESP07512.build.flash_ld=eagle.flash.1m512.ld 1605 | #wifinfo.menu.ESPModule.ESP07512.build.spiffs_start=0x7B000 1606 | #wifinfo.menu.ESPModule.ESP07512.build.spiffs_end=0xFB000 1607 | #wifinfo.menu.ESPModule.ESP07512.build.spiffs_blocksize=8192 1608 | #wifinfo.menu.ESPModule.ESP07512.upload.maximum_size=499696 1609 | 1610 | #wifinfo.menu.ESPModule.ESP07256=ESP07 (1M/256K SPIFFS) 1611 | #wifinfo.menu.ESPModule.ESP07256.build.board=ESP8266_ESP07 1612 | #wifinfo.menu.ESPModule.ESP07256.build.flash_size=1M 1613 | #wifinfo.menu.ESPModule.ESP07256.build.flash_ld=eagle.flash.1m256.ld 1614 | #wifinfo.menu.ESPModule.ESP07256.build.spiffs_start=0xBB000 1615 | #wifinfo.menu.ESPModule.ESP07256.build.spiffs_end=0xFB000 1616 | ##wifinfo.menu.ESPModule.ESP07256.build.spiffs_blocksize=4096 1617 | #wifinfo.menu.ESPModule.ESP07256.upload.maximum_size=761840 1618 | 1619 | wifinfo.menu.ESPModule.ESP07192=ESP07 (1M/192K SPIFFS) 1620 | wifinfo.menu.ESPModule.ESP07192.build.board=ESP8266_ESP07 1621 | wifinfo.menu.ESPModule.ESP07192.build.flash_size=1M 1622 | wifinfo.menu.ESPModule.ESP07192.build.flash_ld=eagle.flash.1m192.ld 1623 | wifinfo.menu.ESPModule.ESP07192.build.spiffs_start=0xCB000 1624 | wifinfo.menu.ESPModule.ESP07192.build.spiffs_end=0xFB000 1625 | wifinfo.menu.ESPModule.ESP07192.build.spiffs_blocksize=4096 1626 | wifinfo.menu.ESPModule.ESP07192.upload.maximum_size=827376 1627 | 1628 | #wifinfo.menu.ESPModule.ESP07160=ESP07 (1M/160K SPIFFS) 1629 | #wifinfo.menu.ESPModule.ESP07160.build.board=ESP8266_ESP07 1630 | #wifinfo.menu.ESPModule.ESP07160.build.flash_size=1M 1631 | #wifinfo.menu.ESPModule.ESP07160.build.flash_ld=eagle.flash.1m160.ld 1632 | #wifinfo.menu.ESPModule.ESP07160.build.spiffs_start=0xD3000 1633 | #wifinfo.menu.ESPModule.ESP07160.build.spiffs_end=0xFB000 1634 | #wifinfo.menu.ESPModule.ESP07160.build.spiffs_blocksize=4096 1635 | #wifinfo.menu.ESPModule.ESP07160.upload.maximum_size=860144 1636 | # 1637 | #wifinfo.menu.ESPModule.ESP07144=ESP07 (1M/144K SPIFFS) 1638 | #wifinfo.menu.ESPModule.ESP07144.build.board=ESP8266_ESP07 1639 | #wifinfo.menu.ESPModule.ESP07144.build.flash_size=1M 1640 | #wifinfo.menu.ESPModule.ESP07144.build.flash_ld=eagle.flash.1m144.ld 1641 | #wifinfo.menu.ESPModule.ESP07144.build.spiffs_start=0xD7000 1642 | #wifinfo.menu.ESPModule.ESP07144.build.spiffs_end=0xFB000 1643 | #wifinfo.menu.ESPModule.ESP07144.build.spiffs_blocksize=4096 1644 | #wifinfo.menu.ESPModule.ESP07144.upload.maximum_size=876528 1645 | # 1646 | #wifinfo.menu.ESPModule.ESP07=ESP07 (1M/64K SPIFFS) 1647 | #wifinfo.menu.ESPModule.ESP07.build.board=ESP8266_ESP07 1648 | #wifinfo.menu.ESPModule.ESP07.build.flash_size=1M 1649 | #wifinfo.menu.ESPModule.ESP07.build.flash_ld=eagle.flash.1m64.ld 1650 | #wifinfo.menu.ESPModule.ESP07.build.spiffs_start=0xEB000 1651 | #wifinfo.menu.ESPModule.ESP07.build.spiffs_end=0xFB000 1652 | #wifinfo.menu.ESPModule.ESP07.build.spiffs_blocksize=4096 1653 | #wifinfo.menu.ESPModule.ESP07.upload.maximum_size=958448 1654 | 1655 | wifinfo.menu.ESPModule.ESP12=ESP12 (4M/1M SPIFFS) 1656 | wifinfo.menu.ESPModule.ESP12.build.board=ESP8266_ESP12 1657 | wifinfo.menu.ESPModule.ESP12.build.flash_size=4M 1658 | wifinfo.menu.ESPModule.ESP12.build.flash_ld=eagle.flash.4m1m.ld 1659 | wifinfo.menu.ESPModule.ESP12.build.spiffs_start=0x300000 1660 | wifinfo.menu.ESPModule.ESP12.build.spiffs_end=0x3FB000 1661 | wifinfo.menu.ESPModule.ESP12.build.spiffs_blocksize=8192 1662 | wifinfo.menu.ESPModule.ESP12.build.spiffs_pagesize=256 1663 | wifinfo.menu.ESPModule.ESP12.upload.maximum_size=1044464 1664 | 1665 | wifinfo.menu.CpuFrequency.160=160 MHz 1666 | wifinfo.menu.CpuFrequency.160.build.f_cpu=160000000L 1667 | wifinfo.menu.CpuFrequency.80=80 MHz 1668 | wifinfo.menu.CpuFrequency.80.build.f_cpu=80000000L 1669 | 1670 | wifinfo.menu.FlashFreq.40=40MHz 1671 | wifinfo.menu.FlashFreq.40.build.flash_freq=40 1672 | wifinfo.menu.FlashFreq.80=80MHz 1673 | wifinfo.menu.FlashFreq.80.build.flash_freq=80 1674 | 1675 | wifinfo.menu.FlashMode.qio=QIO 1676 | wifinfo.menu.FlashMode.qio.build.flash_mode=qio 1677 | wifinfo.menu.FlashMode.dio=DIO 1678 | wifinfo.menu.FlashMode.dio.build.flash_mode=dio 1679 | 1680 | wifinfo.menu.UploadSpeed.115200=115200 1681 | wifinfo.menu.UploadSpeed.115200.upload.speed=115200 1682 | wifinfo.menu.UploadSpeed.9600=9600 1683 | wifinfo.menu.UploadSpeed.9600.upload.speed=9600 1684 | wifinfo.menu.UploadSpeed.57600=57600 1685 | wifinfo.menu.UploadSpeed.57600.upload.speed=57600 1686 | wifinfo.menu.UploadSpeed.256000.windows=256000 1687 | wifinfo.menu.UploadSpeed.256000.upload.speed=256000 1688 | wifinfo.menu.UploadSpeed.230400.linux=230400 1689 | wifinfo.menu.UploadSpeed.230400.macosx=230400 1690 | wifinfo.menu.UploadSpeed.230400.upload.speed=230400 1691 | wifinfo.menu.UploadSpeed.460800.linux=460800 1692 | wifinfo.menu.UploadSpeed.460800.macosx=460800 1693 | wifinfo.menu.UploadSpeed.460800.upload.speed=460800 1694 | wifinfo.menu.UploadSpeed.512000.windows=512000 1695 | wifinfo.menu.UploadSpeed.512000.upload.speed=512000 1696 | wifinfo.menu.UploadSpeed.921600=921600 1697 | wifinfo.menu.UploadSpeed.921600.upload.speed=921600 1698 | 1699 | 1700 | ############################################################## 1701 | coredev.name=Core Development Module 1702 | 1703 | coredev.upload.tool=esptool 1704 | coredev.upload.speed=115200 1705 | coredev.upload.resetmethod=ck 1706 | coredev.upload.maximum_size=434160 1707 | coredev.upload.maximum_data_size=81920 1708 | coredev.upload.wait_for_upload_port=true 1709 | coredev.serial.disableDTR=true 1710 | coredev.serial.disableRTS=true 1711 | 1712 | coredev.build.mcu=esp8266 1713 | coredev.build.f_cpu=80000000L 1714 | coredev.build.board=ESP8266_ESP01 1715 | coredev.build.core=esp8266 1716 | coredev.build.variant=generic 1717 | coredev.build.flash_mode=qio 1718 | coredev.build.spiffs_pagesize=256 1719 | coredev.build.debug_port= 1720 | coredev.build.debug_level= 1721 | coredev.build.lwip_lib=-llwip 1722 | coredev.build.lwip_flags= 1723 | 1724 | 1725 | coredev.menu.LwIPVariant.Espressif=Espressif (xcc) 1726 | coredev.menu.LwIPVariant.Espressif.build.lwip_lib=-llwip 1727 | coredev.menu.LwIPVariant.Espressif.build.lwip_flags= 1728 | coredev.menu.LwIPVariant.Prebuilt=Prebuilt Source (gcc) 1729 | coredev.menu.LwIPVariant.Prebuilt.build.lwip_lib=-llwip_gcc 1730 | coredev.menu.LwIPVariant.Prebuilt.build.lwip_flags=-DLWIP_OPEN_SRC 1731 | coredev.menu.LwIPVariant.OpenSource=Open Source (gcc) 1732 | coredev.menu.LwIPVariant.OpenSource.build.lwip_lib=-llwip_src 1733 | coredev.menu.LwIPVariant.OpenSource.build.lwip_flags=-DLWIP_OPEN_SRC 1734 | coredev.menu.LwIPVariant.OpenSource.recipe.hooks.sketch.prebuild.1.pattern=make -C "{runtime.platform.path}/tools/sdk/lwip/src" install TOOLS_PATH="{runtime.tools.xtensa-lx106-elf-gcc.path}/bin/xtensa-lx106-elf-" 1735 | 1736 | coredev.menu.CpuFrequency.80=80 MHz 1737 | coredev.menu.CpuFrequency.80.build.f_cpu=80000000L 1738 | coredev.menu.CpuFrequency.160=160 MHz 1739 | coredev.menu.CpuFrequency.160.build.f_cpu=160000000L 1740 | 1741 | coredev.menu.FlashFreq.40=40MHz 1742 | coredev.menu.FlashFreq.40.build.flash_freq=40 1743 | coredev.menu.FlashFreq.80=80MHz 1744 | coredev.menu.FlashFreq.80.build.flash_freq=80 1745 | 1746 | coredev.menu.FlashMode.dio=DIO 1747 | coredev.menu.FlashMode.dio.build.flash_mode=dio 1748 | coredev.menu.FlashMode.qio=QIO 1749 | coredev.menu.FlashMode.qio.build.flash_mode=qio 1750 | coredev.menu.FlashMode.dout=DOUT 1751 | coredev.menu.FlashMode.dout.build.flash_mode=dout 1752 | coredev.menu.FlashMode.qout=QOUT 1753 | coredev.menu.FlashMode.qout.build.flash_mode=qout 1754 | 1755 | coredev.menu.UploadSpeed.115200=115200 1756 | coredev.menu.UploadSpeed.115200.upload.speed=115200 1757 | coredev.menu.UploadSpeed.9600=9600 1758 | coredev.menu.UploadSpeed.9600.upload.speed=9600 1759 | coredev.menu.UploadSpeed.57600=57600 1760 | coredev.menu.UploadSpeed.57600.upload.speed=57600 1761 | coredev.menu.UploadSpeed.256000.windows=256000 1762 | coredev.menu.UploadSpeed.256000.upload.speed=256000 1763 | coredev.menu.UploadSpeed.230400.linux=230400 1764 | coredev.menu.UploadSpeed.230400.macosx=230400 1765 | coredev.menu.UploadSpeed.230400.upload.speed=230400 1766 | coredev.menu.UploadSpeed.460800.linux=460800 1767 | coredev.menu.UploadSpeed.460800.macosx=460800 1768 | coredev.menu.UploadSpeed.460800.upload.speed=460800 1769 | coredev.menu.UploadSpeed.512000.windows=512000 1770 | coredev.menu.UploadSpeed.512000.upload.speed=512000 1771 | coredev.menu.UploadSpeed.921600=921600 1772 | coredev.menu.UploadSpeed.921600.upload.speed=921600 1773 | 1774 | coredev.menu.FlashSize.512K64=512K (64K SPIFFS) 1775 | coredev.menu.FlashSize.512K64.build.flash_size=512K 1776 | coredev.menu.FlashSize.512K64.build.flash_ld=eagle.flash.512k64.ld 1777 | coredev.menu.FlashSize.512K64.build.spiffs_start=0x6B000 1778 | coredev.menu.FlashSize.512K64.build.spiffs_end=0x7B000 1779 | coredev.menu.FlashSize.512K64.build.spiffs_blocksize=4096 1780 | coredev.menu.FlashSize.512K64.upload.maximum_size=434160 1781 | 1782 | coredev.menu.FlashSize.512K128=512K (128K SPIFFS) 1783 | coredev.menu.FlashSize.512K128.build.flash_size=512K 1784 | coredev.menu.FlashSize.512K128.build.flash_ld=eagle.flash.512k128.ld 1785 | coredev.menu.FlashSize.512K128.build.spiffs_start=0x5B000 1786 | coredev.menu.FlashSize.512K128.build.spiffs_end=0x7B000 1787 | coredev.menu.FlashSize.512K128.build.spiffs_blocksize=4096 1788 | coredev.menu.FlashSize.512K128.upload.maximum_size=368624 1789 | 1790 | coredev.menu.FlashSize.512K0=512K (no SPIFFS) 1791 | coredev.menu.FlashSize.512K0.build.flash_size=512K 1792 | coredev.menu.FlashSize.512K0.build.flash_ld=eagle.flash.512k0.ld 1793 | coredev.menu.FlashSize.512K0.upload.maximum_size=499696 1794 | 1795 | coredev.menu.FlashSize.1M512=1M (512K SPIFFS) 1796 | coredev.menu.FlashSize.1M512.build.flash_size=1M 1797 | coredev.menu.FlashSize.1M512.build.flash_ld=eagle.flash.1m512.ld 1798 | coredev.menu.FlashSize.1M512.build.spiffs_start=0x7B000 1799 | coredev.menu.FlashSize.1M512.build.spiffs_end=0xFB000 1800 | coredev.menu.FlashSize.1M512.build.spiffs_blocksize=8192 1801 | coredev.menu.FlashSize.1M512.upload.maximum_size=499696 1802 | 1803 | coredev.menu.FlashSize.1M256=1M (256K SPIFFS) 1804 | coredev.menu.FlashSize.1M256.build.flash_size=1M 1805 | coredev.menu.FlashSize.1M256.build.flash_ld=eagle.flash.1m256.ld 1806 | coredev.menu.FlashSize.1M256.build.spiffs_start=0xBB000 1807 | coredev.menu.FlashSize.1M256.build.spiffs_end=0xFB000 1808 | coredev.menu.FlashSize.1M256.build.spiffs_blocksize=4096 1809 | coredev.menu.FlashSize.1M256.upload.maximum_size=761840 1810 | 1811 | coredev.menu.FlashSize.1M192=1M (192K SPIFFS) 1812 | coredev.menu.FlashSize.1M192.build.flash_size=1M 1813 | coredev.menu.FlashSize.1M192.build.flash_ld=eagle.flash.1m192.ld 1814 | coredev.menu.FlashSize.1M192.build.spiffs_start=0xCB000 1815 | coredev.menu.FlashSize.1M192.build.spiffs_end=0xFB000 1816 | coredev.menu.FlashSize.1M192.build.spiffs_blocksize=4096 1817 | coredev.menu.FlashSize.1M192.upload.maximum_size=827376 1818 | 1819 | coredev.menu.FlashSize.1M160=1M (160K SPIFFS) 1820 | coredev.menu.FlashSize.1M160.build.flash_size=1M 1821 | coredev.menu.FlashSize.1M160.build.flash_ld=eagle.flash.1m160.ld 1822 | coredev.menu.FlashSize.1M160.build.spiffs_start=0xD3000 1823 | coredev.menu.FlashSize.1M160.build.spiffs_end=0xFB000 1824 | coredev.menu.FlashSize.1M160.build.spiffs_blocksize=4096 1825 | coredev.menu.FlashSize.1M160.upload.maximum_size=860144 1826 | 1827 | coredev.menu.FlashSize.1M144=1M (144K SPIFFS) 1828 | coredev.menu.FlashSize.1M144.build.flash_size=1M 1829 | coredev.menu.FlashSize.1M144.build.flash_ld=eagle.flash.1m144.ld 1830 | coredev.menu.FlashSize.1M144.build.spiffs_start=0xD7000 1831 | coredev.menu.FlashSize.1M144.build.spiffs_end=0xFB000 1832 | coredev.menu.FlashSize.1M144.build.spiffs_blocksize=4096 1833 | coredev.menu.FlashSize.1M144.upload.maximum_size=876528 1834 | 1835 | coredev.menu.FlashSize.1M128=1M (128K SPIFFS) 1836 | coredev.menu.FlashSize.1M128.build.flash_size=1M 1837 | coredev.menu.FlashSize.1M128.build.flash_ld=eagle.flash.1m128.ld 1838 | coredev.menu.FlashSize.1M128.build.spiffs_start=0xDB000 1839 | coredev.menu.FlashSize.1M128.build.spiffs_end=0xFB000 1840 | coredev.menu.FlashSize.1M128.build.spiffs_blocksize=4096 1841 | coredev.menu.FlashSize.1M128.upload.maximum_size=892912 1842 | 1843 | coredev.menu.FlashSize.1M64=1M (64K SPIFFS) 1844 | coredev.menu.FlashSize.1M64.build.flash_size=1M 1845 | coredev.menu.FlashSize.1M64.build.flash_ld=eagle.flash.1m64.ld 1846 | coredev.menu.FlashSize.1M64.build.spiffs_start=0xEB000 1847 | coredev.menu.FlashSize.1M64.build.spiffs_end=0xFB000 1848 | coredev.menu.FlashSize.1M64.build.spiffs_blocksize=4096 1849 | coredev.menu.FlashSize.1M64.upload.maximum_size=958448 1850 | 1851 | coredev.menu.FlashSize.2M=2M (1M SPIFFS) 1852 | coredev.menu.FlashSize.2M.build.flash_size=2M 1853 | coredev.menu.FlashSize.2M.build.flash_ld=eagle.flash.2m.ld 1854 | coredev.menu.FlashSize.2M.build.spiffs_start=0x100000 1855 | coredev.menu.FlashSize.2M.build.spiffs_end=0x1FB000 1856 | coredev.menu.FlashSize.2M.build.spiffs_blocksize=8192 1857 | coredev.menu.FlashSize.2M.upload.maximum_size=1044464 1858 | 1859 | coredev.menu.FlashSize.4M1M=4M (1M SPIFFS) 1860 | coredev.menu.FlashSize.4M1M.build.flash_size=4M 1861 | coredev.menu.FlashSize.4M1M.build.flash_ld=eagle.flash.4m1m.ld 1862 | coredev.menu.FlashSize.4M1M.build.spiffs_start=0x300000 1863 | coredev.menu.FlashSize.4M1M.build.spiffs_end=0x3FB000 1864 | coredev.menu.FlashSize.4M1M.build.spiffs_blocksize=8192 1865 | coredev.menu.FlashSize.4M1M.build.spiffs_pagesize=256 1866 | coredev.menu.FlashSize.4M1M.upload.maximum_size=1044464 1867 | 1868 | coredev.menu.FlashSize.4M3M=4M (3M SPIFFS) 1869 | coredev.menu.FlashSize.4M3M.build.flash_size=4M 1870 | coredev.menu.FlashSize.4M3M.build.flash_ld=eagle.flash.4m.ld 1871 | coredev.menu.FlashSize.4M3M.build.spiffs_start=0x100000 1872 | coredev.menu.FlashSize.4M3M.build.spiffs_end=0x3FB000 1873 | coredev.menu.FlashSize.4M3M.build.spiffs_blocksize=8192 1874 | coredev.menu.FlashSize.4M3M.upload.maximum_size=1044464 1875 | 1876 | coredev.menu.ResetMethod.ck=ck 1877 | coredev.menu.ResetMethod.ck.upload.resetmethod=ck 1878 | coredev.menu.ResetMethod.nodemcu=nodemcu 1879 | coredev.menu.ResetMethod.nodemcu.upload.resetmethod=nodemcu 1880 | 1881 | coredev.menu.Debug.Disabled=Disabled 1882 | coredev.menu.Debug.Disabled.build.debug_port= 1883 | coredev.menu.Debug.Serial=Serial 1884 | coredev.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial 1885 | coredev.menu.Debug.Serial1=Serial1 1886 | coredev.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 1887 | 1888 | coredev.menu.DebugLevel.None____=None 1889 | coredev.menu.DebugLevel.None____.build.debug_level= 1890 | coredev.menu.DebugLevel.Core____=Core 1891 | coredev.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE 1892 | coredev.menu.DebugLevel.SSL_____=Core + SSL 1893 | coredev.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL 1894 | coredev.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem 1895 | coredev.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM 1896 | coredev.menu.DebugLevel.WiFic___=Core + WiFi 1897 | coredev.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI 1898 | coredev.menu.DebugLevel.WiFi____=WiFi 1899 | coredev.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI 1900 | coredev.menu.DebugLevel.HTTPClient=HTTPClient 1901 | coredev.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT 1902 | coredev.menu.DebugLevel.HTTPClient2=HTTPClient + SSL 1903 | coredev.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL 1904 | coredev.menu.DebugLevel.HTTPUpdate=HTTPUpdate 1905 | coredev.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE 1906 | coredev.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate 1907 | coredev.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE 1908 | coredev.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater 1909 | coredev.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER 1910 | coredev.menu.DebugLevel.HTTPServer=HTTPServer 1911 | coredev.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER 1912 | coredev.menu.DebugLevel.UPDATER=Updater 1913 | coredev.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER 1914 | coredev.menu.DebugLevel.OTA_____=OTA 1915 | coredev.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA 1916 | coredev.menu.DebugLevel.OTA2____=OTA + Updater 1917 | coredev.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER 1918 | coredev.menu.DebugLevel.all_____=All 1919 | coredev.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM 1920 | -------------------------------------------------------------------------------- /Arduino/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/ld/eagle.flash.1m0.0x01000.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 999KB */ 3 | 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xf9ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x402FB000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0 ); 17 | PROVIDE ( _SPIFFS_block = 0 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /Arduino/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/ld/eagle.flash.1m0.0x81000.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 999KB */ 3 | /* eeprom 20KB */ 4 | 5 | MEMORY 6 | { 7 | dport0_0_seg : org = 0x3FF00000, len = 0x10 8 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 9 | iram1_0_seg : org = 0x40100000, len = 0x8000 10 | irom0_0_seg : org = 0x40281010, len = 0xf9ff0 11 | } 12 | 13 | PROVIDE ( _SPIFFS_start = 0x402FB000 ); 14 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 15 | PROVIDE ( _SPIFFS_page = 0 ); 16 | PROVIDE ( _SPIFFS_block = 0 ); 17 | 18 | INCLUDE "../ld/eagle.app.v6.common.ld" 19 | -------------------------------------------------------------------------------- /Arduino/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/ld/eagle.flash.1m0.ld: -------------------------------------------------------------------------------- 1 | /* Flash Split for 1M chips */ 2 | /* sketch 999KB */ 3 | 4 | /* eeprom 20KB */ 5 | 6 | MEMORY 7 | { 8 | dport0_0_seg : org = 0x3FF00000, len = 0x10 9 | dram0_0_seg : org = 0x3FFE8000, len = 0x14000 10 | iram1_0_seg : org = 0x40100000, len = 0x8000 11 | irom0_0_seg : org = 0x40201010, len = 0xf9ff0 12 | } 13 | 14 | PROVIDE ( _SPIFFS_start = 0x402FB000 ); 15 | PROVIDE ( _SPIFFS_end = 0x402FB000 ); 16 | PROVIDE ( _SPIFFS_page = 0 ); 17 | PROVIDE ( _SPIFFS_block = 0 ); 18 | 19 | INCLUDE "../ld/eagle.app.v6.common.ld" 20 | -------------------------------------------------------------------------------- /Espressif2Arduino/Espressif2Arduino.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | extern "C" uint8_t system_upgrade_userbin_check(); 5 | extern "C" void system_upgrade_flag_set(uint8 flag); 6 | extern "C" void system_upgrade_reboot (void); 7 | 8 | #define MAGIC_V1 0xE9 9 | #define MAGIC_V2 0xEA 10 | #define UPGRADE_FLAG_START 0x01 11 | #define UPGRADE_FLAG_FINISH 0x02 12 | #define SECTOR_SIZE 4096 13 | #define BUFFER_SIZE 1024 14 | #define TIMEOUT 5000 15 | 16 | byte buffer[BUFFER_SIZE] __attribute__((aligned(4))) = {0}; 17 | byte bootrom[SECTOR_SIZE] __attribute__((aligned(4))) = {0}; 18 | byte _blink = 0; 19 | 20 | enum FlashMode 21 | { 22 | MODE_UNKNOWN, 23 | MODE_FLASH_ROM1, 24 | MODE_FLASH_ROM2 25 | }; 26 | 27 | 28 | //USER EDITABLE VARABLES HERE 29 | #define DELAY 100 //ms to blink/delay for 30 | #define STATUS_GPIO 13 //gpio to toggle as status indicator 31 | #define RETRY 3 //number of times to retry 32 | 33 | #define URL_QIO_ROM_2 "http://cputoasters.com/ameyer/sonoff/e2a-1024-2.bin" 34 | #define URL_QIO_ROM_3 "http://sonoff.maddox.co.uk/tasmota/sonoff-minimal.bin" 35 | 36 | #define URL_DIO_ROM_2 "http://cputoasters.com/ameyer/sonoff/e2a-1024-2.bin" 37 | #define URL_DIO_ROM_3 "http://sonoff.maddox.co.uk/tasmota/sonoff-minimal.bin" 38 | 39 | //Uncomment to provide fixed credentials - otherwise will try to use credentials saved by sonoff device 40 | //#define WIFI_SSID "TEST" 41 | //#define WIFI_PASSWORD "PASSWORD" 42 | 43 | 44 | 45 | void setup() 46 | { 47 | Serial.begin(115200); 48 | Serial.print("\nInitalizing..."); 49 | if(STATUS_GPIO) 50 | { 51 | pinMode(STATUS_GPIO, OUTPUT); 52 | } 53 | 54 | //blink our status LED while we wait for serial to come up 55 | for(int i=0;i<100;i++) 56 | { 57 | blink(); 58 | delay(DELAY); 59 | } 60 | digitalWrite(STATUS_GPIO, HIGH); 61 | Serial.println("Done"); 62 | 63 | uint8_t upgrade = determineUpgradeMode(); 64 | if(upgrade == MODE_FLASH_ROM1 || MODE_FLASH_ROM2) 65 | { 66 | connectToWiFiBlocking(); 67 | digitalWrite(STATUS_GPIO, LOW); 68 | } 69 | 70 | Serial.printf("Flash Mode: "); 71 | FlashMode_t mode = ESP.getFlashChipMode(); 72 | Serial.printf("%d\n", mode); 73 | 74 | if (upgrade == MODE_FLASH_ROM1) 75 | flashRom1(mode); 76 | else if(upgrade == MODE_FLASH_ROM2) 77 | flashRom2(mode); 78 | else 79 | Serial.println("Flash Mode not recognized"); 80 | } 81 | 82 | 83 | 84 | uint8_t determineUpgradeMode() 85 | { 86 | Serial.printf("Current rom: "); 87 | uint8_t rom = system_upgrade_userbin_check() + 1; 88 | Serial.printf("%d\n", rom); 89 | 90 | Serial.printf("Rom 1 magic byte: "); 91 | uint32_t rom_1_start_address = 0x001000; 92 | byte magic = 0; 93 | ESP.flashRead(rom_1_start_address, (uint32_t*)&magic, 1); 94 | Serial.printf("0x%02X\n", magic); 95 | 96 | uint8_t mode = MODE_UNKNOWN; 97 | if (rom == 1 && magic == MAGIC_V2) 98 | mode = MODE_FLASH_ROM2; 99 | else if (rom == 2 && magic == MAGIC_V2) 100 | mode = MODE_FLASH_ROM1; 101 | 102 | Serial.printf("Reflashing rom: %d\n", mode); 103 | return mode; 104 | } 105 | 106 | void connectToWiFiBlocking() 107 | { 108 | char ssid[32] = {0}; 109 | char pass[64] = {0}; 110 | 111 | Serial.print("Attemping to read Sonoff Wifi credentials... "); 112 | ESP.flashRead(0x79000, (uint32_t *) &ssid[0], sizeof(ssid)); 113 | ESP.flashRead(0x79020, (uint32_t *) &pass[0], sizeof(pass)); 114 | Serial.print("Done\n"); 115 | Serial.printf("\tSSID: %s\n", ssid); 116 | Serial.printf("\tPassword: %s\n", pass); 117 | 118 | 119 | Serial.printf("Connecting to Wifi...",ssid,pass); 120 | WiFi.persistent(false); 121 | WiFi.mode(WIFI_OFF); 122 | WiFi.mode(WIFI_STA); 123 | 124 | #ifdef WIFI_SSID 125 | WiFi.begin(WIFI_SSID, WIFI_PASSWORD); 126 | #endif 127 | #ifndef WIFI_SSID 128 | WiFi.begin(ssid,pass); 129 | #endif 130 | 131 | while (WiFi.status() != WL_CONNECTED) 132 | { 133 | blink(); 134 | delay(DELAY*2); 135 | } 136 | Serial.print("Done\n"); 137 | IPAddress ip = WiFi.localIP(); 138 | Serial.printf("\t%d.%d.%d.%d\n", ip[0], ip[1], ip[2], ip[3]); 139 | } 140 | 141 | 142 | 143 | void flashRom1(FlashMode_t mode) 144 | { 145 | bool result = downloadRomToFlash( 146 | 1, //Rom 1 147 | true, //Bootloader is being updated 148 | 0xE9, //Standard Arduino Magic 149 | 0x00000, //Write to 0x0 since we are replacing the bootloader 150 | 0x80000, //Stop before 0x80000 151 | 0, //Erase Sector from 0 to 152 | 128, //Sector 128 (not inclusive) 153 | (mode == FM_DIO) ? URL_DIO_ROM_3 : URL_QIO_ROM_3, 154 | RETRY //Retry Count 155 | ); 156 | 157 | ESP.restart(); //restart regardless of success 158 | } 159 | 160 | //Download special rom. 161 | void flashRom2(FlashMode_t mode) 162 | { 163 | system_upgrade_flag_set(UPGRADE_FLAG_START); 164 | bool result = downloadRomToFlash( 165 | 2, //Rom 2 166 | false, //Bootloader is not being updated 167 | 0xEA, //V2 Espressif Magic 168 | 0x081000, //Not replacing bootloader 169 | 0x100000, //Stop before end of ram 170 | 128, //From middle of flash 171 | 256, //End of flash 172 | (mode == FM_DIO) ? URL_DIO_ROM_2 : URL_QIO_ROM_2, 173 | RETRY //Retry Count 174 | ); 175 | 176 | if(result) 177 | { 178 | system_upgrade_flag_set(UPGRADE_FLAG_FINISH); 179 | system_upgrade_reboot(); 180 | } 181 | else 182 | { 183 | ESP.restart(); 184 | } 185 | } 186 | 187 | //Assumes bootloader must be in first SECTOR_SIZE bytes. 188 | bool downloadRomToFlash(byte rom, byte bootloader, byte magic, uint32_t start_address, uint32_t end_address, uint16_t erase_sectior_start, uint16_t erase_sector_end, const char * url, uint8_t retry_limit) 189 | { 190 | uint8_t retry_counter = 0; 191 | while(retry_counter < retry_limit) 192 | { 193 | uint16_t erase_start = erase_sectior_start; 194 | uint32_t write_address = start_address; 195 | uint8_t header[4] = { 0 }; 196 | bootrom[SECTOR_SIZE] = { 0 }; 197 | buffer[BUFFER_SIZE] = { 0 }; 198 | 199 | Serial.printf("Flashing rom %d (retry:%d): %s\n", rom, retry_counter, url); 200 | HTTPClient http; 201 | http.begin(url); 202 | http.useHTTP10(true); 203 | http.setTimeout(TIMEOUT); 204 | 205 | //Response Code Check 206 | uint16_t httpCode = http.GET(); 207 | Serial.printf("HTTP response Code: %d\n", httpCode); 208 | if(httpCode != HTTP_CODE_OK) 209 | { 210 | Serial.println("Invalid response Code - retry"); 211 | retry_counter++; 212 | continue; 213 | } 214 | 215 | //Length Check (at least one sector) 216 | uint32_t len = http.getSize(); 217 | Serial.printf("HTTP response length: %d\n", len); 218 | if(len < SECTOR_SIZE) 219 | { 220 | Serial.println("Length too short - retry"); 221 | retry_counter++; 222 | continue; 223 | } 224 | 225 | if(len > (end_address-start_address)) 226 | { 227 | Serial.println("Length exceeds flash size - retry"); 228 | retry_counter++; 229 | continue; 230 | } 231 | 232 | //Confirm magic byte 233 | WiFiClient* stream = http.getStreamPtr(); 234 | stream->peekBytes(&header[0],4); 235 | Serial.printf("Magic byte from stream: 0x%02X\n", header[0]); 236 | if(header[0] != magic) 237 | { 238 | Serial.println("Invalid magic byte - retry"); 239 | retry_counter++; 240 | continue; 241 | } 242 | 243 | if(bootloader) 244 | { 245 | Serial.printf("Downloading %d byte bootloader", sizeof(bootrom)); 246 | size_t size = stream->available(); 247 | while(size < sizeof(bootrom)) 248 | { 249 | blink(); 250 | size = stream->available(); 251 | } 252 | int c = stream->readBytes(bootrom, sizeof(bootrom)); 253 | 254 | //Skip the bootloader section for the moment.. 255 | erase_start++; 256 | write_address += SECTOR_SIZE; 257 | len -= SECTOR_SIZE; 258 | Serial.printf(".Done\n"); 259 | } 260 | 261 | Serial.printf("Erasing flash sectors %d-%d", erase_start, erase_sector_end); 262 | for (uint16_t i = erase_start; i < erase_sector_end; i++) 263 | { 264 | ESP.flashEraseSector(i); 265 | blink(); 266 | } 267 | Serial.printf("Done\n"); 268 | 269 | Serial.printf("Downloading rom to 0x%06X-0x%06X in %d byte blocks", write_address, write_address+len, sizeof(buffer)); 270 | //Serial.println(); 271 | while(len > 0) 272 | { 273 | size_t size = stream->available(); 274 | if(size >= sizeof(buffer) || size == len) 275 | { 276 | int c = stream->readBytes(buffer, ((size > sizeof(buffer)) ? sizeof(buffer) : size)); 277 | //Serial.printf("address=0x%06X, bytes=%d, len=%d\n", write_address, c, len); 278 | ESP.flashWrite(write_address, (uint32_t*)&buffer[0], c); 279 | write_address +=c; //increment next write address 280 | len -= c; //decremeant remaining bytes 281 | } 282 | blink(); 283 | //delay(100); 284 | } 285 | http.end(); 286 | Serial.println("Done"); 287 | 288 | if(bootloader) 289 | { 290 | Serial.printf("Erasing bootloader sector 0"); 291 | ESP.flashEraseSector(0); 292 | Serial.printf("..Done\n"); 293 | 294 | Serial.printf("Writing bootloader to 0x%06X-0x%06X", 0, SECTOR_SIZE); 295 | ESP.flashWrite(0, (uint32_t*)&bootrom[0], SECTOR_SIZE); 296 | Serial.printf("..Done\n"); 297 | } 298 | 299 | return true; 300 | } 301 | Serial.println("Retry counter exceeded - giving up"); 302 | return false; 303 | } 304 | 305 | 306 | void blink() 307 | { 308 | if(STATUS_GPIO) 309 | { 310 | if(_blink) 311 | digitalWrite(STATUS_GPIO, LOW); 312 | else 313 | digitalWrite(STATUS_GPIO, HIGH); 314 | 315 | _blink ^= 0xFF; 316 | } 317 | Serial.print("."); 318 | yield(); // reset watchdog 319 | } 320 | 321 | void loop() 322 | { 323 | //delay(100); 324 | } 325 | 326 | 327 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Espressif2Arduino 2 | Used for bootstrapping the replacement of the default Espressif ESP8266 bootloader, replacing it with the Arduino bootloader and a custom rom. 3 | 4 | This was designed specifically to replace the stock sonoff itead firmware by intercepting firmware update requests and serving these binary images. More info on how to intercept and stream this firmware to a device is [here](http://blog.nanl.de/2017/05/sonota-flashing-itead-sonoff-devices-via-original-ota-mechanism/) and [here](https://github.com/mirko/SonOTA) 5 | 6 | The process works like this: 7 | 8 | 1. If Rom 1 is requested by the OTA update process Rom 1 is streamed back to the Espressif SDK which will flash to 0x1000 and reboot into this image. This image only has one job which is to simply request the Rom 2 image, save it into flash at 0x81000 and reboot into it. 9 | 2. If Rom 2 is requested by the OTA update process Rom 2 is streamed back to the Espressif SDK and will be saved into flash at 0x81000 and will then reboot. 10 | 3. Now both irrespective of route taken we will now be running Rom 2 at 0x81000. This allows us to replace all contents at 0x0->0x7FFF which includes the bootloader and the booted arduino image. Rom 2 simply requests the final image, saves it to 0x0 and then restarts. 11 | 12 | 13 | Current Limitations: 14 | 15 | - Currently only supports the ESP8266 with 1MB of flash and QIO Flash mode. 16 | - To download the subsequent images WIFI is needed - currently this process tries to find the wifi credentials that the itead firmware has stored - alternatively hard-code your SSID and password. 17 | - Could do with smarter logic before blowing away the bootloader on slot 1. Ideally it would only do this at the end of the process assuming everything flashed correctly (and checksums match). Currently it blows these away as soon as a valid HTTP response code and magic byte is received. 18 | 19 | This is very much alpha quality at the moment, don't use this process on any devices you don't/can't manually flash if they don't boot. 20 | 21 | 22 | # Prereqs 23 | 1. Arduino IDE with Arduino SDK 2.3.0 24 | 2. Python 2.7 / 3.4 25 | 3. ESP Tool (pip install esptool) 26 | 27 | 28 | # Building 29 | 1. From the Arduino Folder replace boards.txt and the additional ld scripts into the appropriate place for your instance of Arduino. 30 | 2. Update OTA URLs: 31 | 1. Espressif OTA Rom 1: Not needed 32 | 2. URL\_QIO\_ROM_2*: Espressif2Arduino OTA Rom 2 (http://x.x.x.x/Espressif2Arduino.ino-0x81000.bin) 33 | 3. URL\_QIO\_ROM_3*: Your new Arduino Build (http://x.x.x.x/sonoff.bin) 34 | 2. In Arduino IDE first select the Flash Size "1M (Espressif OTA Rom 1)" and build. 35 | 3. From your build directory run the following command and save the resulting output 36 | 37 | esptool.py elf2image --version 2 Espressif2Arduino.ino.elf 38 | 39 | 4. Repeat for Flash Size "1M (Espressif OTA Rom 2)" 40 | 41 | You should now have three files ready for serving over HTTP: 42 | 43 | - Rom 1 (Espressif2Arduino.ino-0x01000.bin) 44 | - Rom 2 (Espressif2Arduino.ino-0x81000.bin) 45 | - Arduino Build 46 | 47 | *Note there are also DIO URLs for the ESP8285, these can be left blank if only flashing ESP8266 devices* 48 | 49 | # Flashing / Running 50 | Although it is intended you would flash these images OTA you can simulate the process by directly flashing Espressif2Arduino onto the currently active Espressif rom slot. 51 | 52 | 1. First take a backup image of your flash by running 53 | 54 | esptool.py -p COM5 read_flash 0x0 0x100000 backup-0x00000.bin (note this is slow ~2 mins) 55 | 56 | 2. If rom 1 is active 57 | 58 | esptool.py -p COM5 -b 921600 write_flash 0x01000 Espressif2Arduino.ino-0x01000.bin 59 | 60 | 3. If rom 2 is active 61 | 62 | esptool.py -p COM5 -b 921600 write_flash 0x01000 Espressif2Arduino.ino-0x81000.bin 63 | 64 | 4. To restore your backup 65 | 66 | esptool.py -p COM5 -b 921600 write_flash 0x0 backup-0x00000.bin 67 | 68 | Note - there is a bug with the ESP8266 that it will stay in flash mode the first reboot after flashing by serial. Best thing to do is to flash, then immediately pull power when finished and reboot it - with this code as standard you have 5 seconds before it will try update so you can pull power in this window without an issue. 69 | 70 | # Troubleshooting 71 | GPIO 13 is used by default as a status indicator 72 | 73 | - Slow flashing indicates waiting for 5 seconds at startup before completing actions (so you can connect a terminal) 74 | - Slower Flashing indicates attempting to connecting to wifi 75 | - Fast Flashing = Erasing/Flashing image 76 | 77 | If you connect the serial port you should also see output like this: 78 | 79 | Current rom: 2 80 | Rom 1 magic byte: 0xEA 81 | Reflashing rom: 1 82 | Attemping to read Sonoff Wifi credentials... Done 83 | SSID: xxx 84 | Password: xxx 85 | Connecting to Wifi..................Done 86 | 192.168.1.19 87 | Flash Mode: 3 88 | Flashing rom 1 (retry:0): http://sunlocker.khc.net.nz/static/8266/sonoff-1024.bin 89 | HTTP response Code: 200 90 | HTTP response length: 483088 91 | Magic byte from stream: 0xE9 92 | Downloading 4096 byte bootloader..Done 93 | Erasing flash sectors 1-128................................................Done 94 | Downloading rom to 0x001000-0x075F10 in 1024 byte blocks...................Done 95 | Erasing bootloader sector 0..Done 96 | Writing bootloader to 0x000000-0x001000..Done --------------------------------------------------------------------------------