neulab/tldr huggingface dataset:
[env:myenv] platform = espressif32 board = ... board_build.embed_txtfiles = src/private.pem.key src/certificate.pem.crt src/aws-root-ca.pem
The file contents will be added to the .rodata section in flash, and are available via symbol names as follows:
extern const uint8_t aws_root_ca_pem_start[] asm("_binary_src_aws_root_ca_pem_start"); extern const uint8_t aws_root_ca_pem_end[] asm("_binary_src_aws_root_ca_pem_end"); extern const uint8_t certificate_pem_crt_start[] asm("_binary_src_certificate_pem_crt_start"); extern const uint8_t certificate_pem_crt_end[] asm("_binary_src_certificate_pem_crt_end"); extern const uint8_t private_pem_key_start[] asm("_binary_src_private_pem_key_start"); extern const uint8_t private_pem_key_end[] asm("_binary_src_private_pem_key_end");
The names are generated from the full name of the file. Characters /, ., etc. are replaced with underscores. The _binary + _nested_folder prefix in the symbol name is added by "objcopy" and is the same for both text and binary files.
NOTE: With the ESP-IDF framework symbol names should not contain path to the files, for example _binary_private_pem_key_start instead of _binary_src_private_pem_key_start.
See full example with embedding Amazon AWS certificates:
• https://github.com/platformio/platform-espressif32/tree/develop/examples/espidf-aws-iot
Uploading files to file system SPIFFS 1. Create new project using pioide or initialize project using piocore and cmd_project_init (if you have not initialized it yet)
2. Create data folder (it should be on the same level as src folder) and put files here. Also, you can specify own location for projectconf_pio_data_dir
3. Run "Upload File System image" task in pioide or use piocore and platformio run --target command with uploadfs target.
To upload SPIFFS image using OTA update please specify upload_port / --upload-port as IP address or mDNS host name (ending with the *.local).
• SPIFFS for Arduino
• SPIFFS for ESP-IDF
Over-the-Air (OTA) update Using JFrog Bintray (free and secure Cloud solution) • Video and presentation - swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices with PlatformIO and JFrog Bintray
• Demo source code: https://github.com/platformio/bintray-secure-ota
Using built-in Local solution Demo code for:
• Arduino
• ESP-IDF
There are 2 options:
• Directly specify platformio run --upload-port in command line
platformio run --target upload --upload-port IP_ADDRESS_HERE or mDNS_NAME.local
• Specify upload_port option in projectconf
You also need to set projectconf_upload_protocol to espota.
[env:myenv] upload_protocol = espota upload_port = IP_ADDRESS_HERE or mDNS_NAME.local
• platformio run -t upload --upload-port 192.168.0.255
• platformio run -t upload --upload-port myesp8266.local
Authentication and upload options You can pass additional options/flags to OTA uploader using upload_flags option in projectconf
[env:myenv] upload_protocol = espota ; each flag in a new line upload_flags = --port=3232
Available flags
• --port=ESP_PORT ESP32 OTA Port. Default 8266
• --auth=AUTH Set authentication password
• --spiffs Use this option to transmit a SPIFFS image and do not flash the module
For the full list with available options please run
~/.platformio/packages/framework-arduinoespressif32/tools/espota.py --help
Usage: espota.py [options]
Transmit image over the air to the esp32 module with OTA support.
Options: -h, --help            show this help message and exit
Destination: -i ESP_IP, --ip=ESP_IP ESP32 IP Address. -I HOST_IP, --host_ip=HOST_IP Host IP Address. -p ESP_PORT, --port=ESP_PORT ESP32 ota Port. Default 3232 -P HOST_PORT, --host_port=HOST_PORT Host server ota Port. Default random 10000-60000
Authentication: -a AUTH, --auth=AUTH Set authentication password.
Image: -f FILE, --file=FILE Image file. -s, --spiffs        Use this option to transmit a SPIFFS image and do not flash the module.
Output: -d, --debug         Show debug output. And override loglevel with debug. -r, --progress      Show progress output. Does not work for ArduinoIDE -t TIMEOUT, --timeout=TIMEOUT Timeout to wait for the ESP32 to accept invitation
WARNING: For windows users. To manage OTA check the ESP wifi network profile isn't checked on public be sure it's on private mode``
Using Arduino Framework with Staging version PlatformIO will install the latest Arduino Core for ESP32 from https://github.com/espressif/arduino-esp32. The Git should be installed in a system. To update Arduino Core to the latest revision, please open pioide and navigate to PIO Home > Platforms > Updates.
1. Please install pioide
2. Initialize a new project, open projectconf and specify the link to the framework repository in projectconf_env_platform_packages section. For example,
[env:esp32dev] platform = espressif32 board = esp32dev framework = arduino platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git
3. Try to build the project
4. If you see build errors, then try to build this project using the same stage with Arduino IDE
5. If it works with Arduino IDE but doesn't work with PlatformIO, then please file a new issue with attached information:
• test project/files
• detailed log of build process from Arduino IDE (please copy it from console to https://hastebin.com)
• detailed log of build process from PlatformIO Build System (please copy it from console to https://hastebin.com)
Arduino Core Wiki Tips, tricks and common problems: http://desire.giesecke.tk/index.php/2018/01/30/esp32-wiki-entries/
Examples Examples are listed from Espressif 32 development platform repository:
• espidf-storage-sdcard
• espidf-blink
• espidf-coap-server
• espidf-exceptions
• espidf-ble-eddystone
• espidf-ulp-adc
• espidf-ulp-pulse
• espidf-arduino-wifiscan
• espidf-http-request
• espidf-arduino-blink
• pumbaa-blink
• espidf-hello-world
• espidf-aws-iot
• espidf-peripherals-uart
• arduino-wifiscan
• Pinout Diagram
Pinout Diagram JTAG Wiring Connections
┌──────────┬───────────────┐ │Board Pin │ JTAG Tool Pin │ ├──────────┼───────────────┤ │IO13      │ TCK           │ ├──────────┼───────────────┤ │IO12      │ TDI           │ ├──────────┼───────────────┤ │IO15      │ TDO           │ ├──────────┼───────────────┤ │IO14      │ TMS           │ ├──────────┼───────────────┤ │EN        │ RST           │ ├──────────┼───────────────┤ │GND       │ GND           │ └──────────┴───────────────┘ [image]
┌─────────────────────────────────┬───────┬───────────┬───────┬───────┐ │Name                             │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp-wrover-kit │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────────────┴───────┴───────────┴───────┴───────┘
┌──────────────────────────────────────────────────┬───────┬───────────┬────────┬────────┐
│Name                                              │ MCU   │ Frequency │ Flash  │ RAM    │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_esp32cam                        │ ESP32 │ 240MHz    │ 4MB    │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_alksesp32                       │ ESP32 │ 240MHz    │ 4MB    │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_az-delivery-devkit-v4           │ ESP32 │ 240MHz    │ 16MB   │ 520KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_featheresp32                    │ ESP32 │ 240MHz    │ 4MB    │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_briki_abc_esp32                 │ ESP32 │ 240MHz    │ 3.25MB │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_briki_mbc-wb_esp32              │ ESP32 │ 240MHz    │ 3.25MB │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_d-duino-32                      │ ESP32 │ 240MHz    │ 4MB    │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_esp32doit-devkit-v1             │ ESP32 │ 240MHz    │ 4MB    │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_pocket_32                       │ ESP32 │ 240MHz    │ 4MB    │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_fm-devkit                       │ ESP32 │ 240MHz    │ 4MB    │ 320KB  │
├──────────────────────────────────────────────────┼───────┼───────────┼────────┼────────┤
│board_espressif32_esp32vn-iot-uno                 │ ESP32 │ 240MHz    │ 4MB    │ 320KB  │
└──────────────────────────────────────────────────┴───────┴───────────┴────────┴────────┘
Stable and upstream versions You can switch between stable releases of Espressif 32 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.
Stable ; Latest stable version [env:latest_stable] platform = espressif32 board = ...
; Custom stable version [env:custom_stable] platform = espressif32@x.y.z board = ...
Upstream [env:upstream_develop] platform = https://github.com/platformio/platform-espressif32.git board = ...
Packages ┌─────────────────────────────┬─────────────────────────────┐ │Name                         │ Description                 │ ├─────────────────────────────┼─────────────────────────────┤ │framework-arduino-mbcwb      │ Fork of Arduino framework   │ │                             │ for briki MBC-WB boards     │ ├─────────────────────────────┼─────────────────────────────┤ │framework-arduinoespressif32 │ Arduino Wiring-based        │ │                             │ Framework (ESP32 Core)      │ ├─────────────────────────────┼─────────────────────────────┤ │framework-espidf             │ Espressif IoT Development   │ │                             │ Framework                   │ ├─────────────────────────────┼─────────────────────────────┤ │framework-pumbaa             │ Pumbaa Framework            │ └─────────────────────────────┴─────────────────────────────┘
│framework-simba              │ Simba Framework             │ ├─────────────────────────────┼─────────────────────────────┤ │tool-cmake                   │ CMake is an open-source,    │ │                             │ cross-platform family of    │ │                             │ tools designed to build,    │ │                             │ test and package software.  │ ├─────────────────────────────┼─────────────────────────────┤ │tool-esptoolpy               │ ESP8266 and ESP32 serial    │ │                             │ bootloader utility          │ ├─────────────────────────────┼─────────────────────────────┤ │tool-idf                     │ Python idf.py binary        │ ├─────────────────────────────┼─────────────────────────────┤ │tool-mbctool                 │ MBC-WB Uploader Application │ ├─────────────────────────────┼─────────────────────────────┤ │tool-mconf                   │ Kconfig frontends and       │ │                             │ parser                      │ ├─────────────────────────────┼─────────────────────────────┤ │tool-mkspiffs                │ Tool to build and unpack    │ │                             │ SPIFFS images               │ ├─────────────────────────────┼─────────────────────────────┤ │tool-ninja                   │ Ninja is a small build      │ │                             │ system with a focus on      │ │                             │ speed.                      │ ├─────────────────────────────┼─────────────────────────────┤ │tool-openocd-esp32           │ OpenOCD for Espressif 32    │ ├─────────────────────────────┼─────────────────────────────┤ │toolchain-esp32ulp           │ Binutils fork with support  │ │                             │ for the ESP32 ULP           │ │                             │ co-processor                │ ├─────────────────────────────┼─────────────────────────────┤ │toolchain-xtensa32           │ xtensa32-gcc                │ └─────────────────────────────┴─────────────────────────────┘
Frameworks ┌──────────────────┬─────────────────────────────┐ │Name              │ Description                 │ ├──────────────────┼─────────────────────────────┤ │framework_arduino │ Arduino Wiring-based        │ │                  │ Framework allows writing    │ │                  │ cross-platform software to  │ │                  │ control devices attached to │ │                  │ a wide range of Arduino     │ │                  │ boards to create all kinds  │ │                  │ of creative coding,         │ │                  │ interactive objects, spaces │ │                  │ or physical experiences.    │ ├──────────────────┼─────────────────────────────┤ │framework_espidf  │ Espressif IoT Development   │ │                  │ Framework. Official         │ │                  │ development framework for   │ │                  │ ESP32.                      │ ├──────────────────┼─────────────────────────────┤ │framework_pumbaa  │ Pumbaa is Python on top of  │ │                  │ Simba. The implementation   │ │                  │ is a port of MicroPython,   │ │                  │ designed for embedded       │ │                  │ devices with limited amount │ │                  │ of RAM and code memory.     │ ├──────────────────┼─────────────────────────────┤ │framework_simba   │ Simba is an RTOS and build  │ │                  │ framework. It aims to make  │ │                  │ embedded programming easy   │ │                  │ and portable.               │ └──────────────────┴─────────────────────────────┘
AI Thinker ┌───────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                       │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32cam │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
AZ-Delivery
┌────────────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐
│Name                                    │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │
├────────────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤
│board_espressif32_az-delivery-devkit-v4 │ External │ ESP32 │ 240MHz    │ 16MB  │ 520KB │
└────────────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Adafruit ┌───────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                           │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_featheresp32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Aiyarafun ┌──────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                      │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ └──────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
│board_espressif32_node32s │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └──────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
April Brother ┌──────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                      │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_espea32 │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └──────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
BPI Tech ┌──────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                      │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_bpi-bit │ No    │ ESP32 │ 160MHz    │ 4MB   │ 320KB │ └──────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
DFRobot ┌───────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                           │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_firebeetle32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
DOIT ┌──────────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                                  │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32doit-devkit-v1 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └──────────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
DSTIKE ┌─────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                         │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_d-duino-32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Dongsen Technology ┌────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                        │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_pocket_32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
DycodeX ┌─────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                         │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_espectro32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
ESP32vn ┌──────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                              │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32vn-iot-uno │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └──────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Electronic SweetPeas ┌─────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                     │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp320 │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
Espressif ┌─────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                             │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_pico32         │ No       │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├─────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp-wrover-kit │ On-board │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├─────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32dev       │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Fred ┌────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                        │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_frogboard │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Hardkernel ┌───────────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                           │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_odroid_esp32 │ No    │ ESP32 │ 240MHz    │ 16MB  │ 320KB │ └───────────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
Heltec Automation
┌─────────────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐
│Name                                     │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │
├─────────────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤
│board_espressif32_heltec_wifi_kit_32     │ No       │ ESP32 │ 240MHz    │ 4MB   │ 320KB │
├─────────────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤
│board_espressif32_heltec_wifi_lora_32    │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │
├─────────────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤
│board_espressif32_heltec_wifi_lora_32_V2 │ External │ ESP32 │ 240MHz    │ 8MB   │ 320KB │
├─────────────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤
│board_espressif32_heltec_wireless_stick  │ External │ ESP32 │ 240MHz    │ 8MB   │ 320KB │
└─────────────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Hornbill ┌───────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                               │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_hornbill32dev    │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
│board_espressif32_hornbill32minima │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
IntoRobot ┌────────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                        │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_intorobot │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
IoTaaP ┌──────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                              │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_iotaap_magnolia │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └──────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
M5Stack ┌─────────────────────────────────────┬───────┬───────┬───────────┬───────┬────────┐ │Name                                 │ Debug │ MCU   │ Frequency │ Flash │ RAM    │ ├─────────────────────────────────────┼───────┼───────┼───────────┼───────┼────────┤ │board_espressif32_m5stack-core-esp32 │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB  │ ├─────────────────────────────────────┼───────┼───────┼───────────┼───────┼────────┤ │board_espressif32_m5stack-fire       │ No    │ ESP32 │ 240MHz    │ 16MB  │ 6.25MB │ ├─────────────────────────────────────┼───────┼───────┼───────────┼───────┼────────┤ │board_espressif32_m5stack-grey       │ No    │ ESP32 │ 240MHz    │ 16MB  │ 520KB  │ ├─────────────────────────────────────┼───────┼───────┼───────────┼───────┼────────┤ │board_espressif32_m5stick-c          │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB  │ └─────────────────────────────────────┴───────┴───────┴───────────┴───────┴────────┘
MH-ET Live ┌───────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                               │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_mhetesp32devkit  │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_mhetesp32minikit │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Magicblocks.io ┌───────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                       │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_magicbit │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
MakerAsia ┌─────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                     │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_nano32 │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
Microduino ┌────────────────────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                                    │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_microduino-core-esp32 │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
NodeMCU ┌──────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                          │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_nodemcu-32s │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └──────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Noduino ┌──────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                      │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_quantum │ No    │ ESP32 │ 240MHz    │ 16MB  │ 320KB │ └──────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
OLIMEX ┌───────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                               │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32-devkitlipo │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32-evb        │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32-gateway    │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32-pro        │ No       │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32-poe        │ No       │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├───────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32-poe-iso    │ No       │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
OROCA ┌───────────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                           │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_oroca_edubot │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
Onehorse ┌────────────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                            │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_onehorse32dev │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
Pycom Ltd. ┌────────────────────────────┬──────────┬───────┬───────────┬───────┬────────┐ │Name                        │ Debug    │ MCU   │ Frequency │ Flash │ RAM    │ ├────────────────────────────┼──────────┼───────┼───────────┼───────┼────────┤ │board_espressif32_pycom_gpy │ No       │ ESP32 │ 240MHz    │ 4MB   │ 320KB  │ └────────────────────────────┴──────────┴───────┴───────────┴───────┴────────┘
│board_espressif32_lopy      │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB  │ ├────────────────────────────┼──────────┼───────┼───────────┼───────┼────────┤ │board_espressif32_lopy4     │ External │ ESP32 │ 240MHz    │ 4MB   │ 1.25MB │ └────────────────────────────┴──────────┴───────┴───────────┴───────┴────────┘
Qmobot LLP ┌────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                    │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_qchip │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
RoboticsBrno ┌────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                        │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_alksesp32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
SG-O ┌──────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                          │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_sg-o_airMon │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └──────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Silicognition ┌─────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                     │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_wesp32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
SparkFun
┌──────────────────────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐
│Name                                              │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │
├──────────────────────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤
│board_espressif32_sparkfun_lora_gateway_1-channel │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │
└──────────────────────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
SparkFun Electronics ┌─────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                         │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_esp32thing │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
TTGO ┌─────────────────────────────────┬──────────┬───────┬───────────┬───────┬────────┐ │Name                             │ Debug    │ MCU   │ Frequency │ Flash │ RAM    │ ├─────────────────────────────────┼──────────┼───────┼───────────┼───────┼────────┤ │board_espressif32_ttgo-lora32-v1 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB  │ ├─────────────────────────────────┼──────────┼───────┼───────────┼───────┼────────┤ │board_espressif32_ttgo-lora32-v2 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB  │ ├─────────────────────────────────┼──────────┼───────┼───────────┼───────┼────────┤ │board_espressif32_ttgo-t-beam    │ External │ ESP32 │ 240MHz    │ 4MB   │ 1.25MB │ ├─────────────────────────────────┼──────────┼───────┼───────────┼───────┼────────┤ │board_espressif32_ttgo-t-watch   │ No       │ ESP32 │ 240MHz    │ 16MB  │ 320KB  │ ├─────────────────────────────────┼──────────┼───────┼───────────┼───────┼────────┤ │board_espressif32_ttgo-t1        │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB  │ └─────────────────────────────────┴──────────┴───────┴───────────┴───────┴────────┘
ThaiEasyElec ┌───────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                       │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_espino32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
TinyPICO ┌───────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                       │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_tinypico │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
Turta ┌─────────────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                             │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_turta_iot_node │ No    │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
Unknown ┌────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                        │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_fm-devkit │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
VintLabs ┌─────────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                                 │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_vintlabs-devkit-v1 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └─────────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
WEMOS ┌──────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                              │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├──────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_lolin_d32       │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├──────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_lolin_d32_pro   │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├──────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_lolin32         │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├──────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_wemos_d1_mini32 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├──────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_wemosbat        │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └──────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
Widora ┌─────────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                         │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├─────────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_widora-air │ No    │ ESP32 │ 240MHz    │ 16MB  │ 320KB │ └─────────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
XinaBox ┌───────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                           │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_xinabox_cw02 │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └───────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
meteca ┌─────────────────────────────────────┬──────────┬───────┬───────────┬────────┬───────┐ │Name                                 │ Debug    │ MCU   │ Frequency │ Flash  │ RAM   │ ├─────────────────────────────────────┼──────────┼───────┼───────────┼────────┼───────┤ │board_espressif32_briki_abc_esp32    │ External │ ESP32 │ 240MHz    │ 3.25MB │ 320KB │ ├─────────────────────────────────────┼──────────┼───────┼───────────┼────────┼───────┤ │board_espressif32_briki_mbc-wb_esp32 │ External │ ESP32 │ 240MHz    │ 3.25MB │ 320KB │ └─────────────────────────────────────┴──────────┴───────┴───────────┴────────┴───────┘
oddWires ┌────────────────────────────────┬──────────┬───────┬───────────┬───────┬───────┐ │Name                            │ Debug    │ MCU   │ Frequency │ Flash │ RAM   │ ├────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_iotbusio      │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ ├────────────────────────────────┼──────────┼───────┼───────────┼───────┼───────┤ │board_espressif32_iotbusproteus │ External │ ESP32 │ 240MHz    │ 4MB   │ 320KB │ └────────────────────────────────┴──────────┴───────┴───────────┴───────┴───────┘
u-blox ┌───────────────────────────┬───────┬───────┬───────────┬───────┬───────┐ │Name                       │ Debug │ MCU   │ Frequency │ Flash │ RAM   │ ├───────────────────────────┼───────┼───────┼───────────┼───────┼───────┤ │board_espressif32_nina_w10 │ No    │ ESP32 │ 240MHz    │ 2MB   │ 320KB │ └───────────────────────────┴───────┴───────┴───────────┴───────┴───────┘
Espressif 8266 Configuration projectconf_env_platform = espressif8266
• Reset Method
• Flash Size
• lwIP Variant
• SDK Version
• SSL Support
• Serial Debug
• VTables
• Exceptions
• 20000000L
• 26000000L
Reset Method You can set custom reset method using projectconf_upload_resetmethod option from projectconf.
The possible values are:
• ck - RTS controls RESET or CH_PD, DTR controls GPIO0
• wifio - TXD controls GPIO0 via PNP transistor and DTR controls RESET via a capacitor
• nodemcu - GPIO0 and RESET controlled using two NPN transistors as in NodeMCU devkit.
See default reset methods per board.
[env:myenv] upload_resetmethod = ck
Flash Size WARNING: Please make sure to read ESP8266 Flash layout information first.
Available LD-scripts: https://github.com/esp8266/Arduino/tree/master/tools/sdk/ld
Please open eagle.flash.***.ld file to check how flash is split.
To override default LD script please use projectconf_board_build.ldscript option from projectconf.
[env:myenv] board_build.ldscript = eagle.flash.4m.ld
Upload Speed You can set custom upload speed using projectconf_upload_speed option from projectconf
lwIP Variant Available variants (macros):
• -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY v2 Lower Memory (default)
• -D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH v2 Higher Bandwidth
• -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH v2 Lower Memory (no features)
• -D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH v2 Higher Bandwidth (no features)
• -D PIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_LOW_MEMORY v2 IPv6 Lower Memory
• -D PIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_HIGHER_BANDWIDTH v2 IPv6 Higher Bandwidth
• -D PIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH v1.4 Higher Bandwidth
You can change lwIP Variant by passing a custom macro using project projectconf_build_flags.
For example, to switch to lwIP v1.4
[env:myenv] ... build_flags = -D PIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
SDK Version Available versions (macros):
• -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3 NonOS SDK-pre-3.0 as of Jun 26, 2018
• -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221 NonOS SDK v2.2.1 (legacy) as of Jun 8, 2018
• -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313 NonOS SDK v2.2.x branch as of Mar 13, 2019
• -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703 NonOS SDK v2.2.x branch as of Jul 03, 2019 (default)
• -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024 NonOS SDK v2.2.x branch as of Oct 24, 2019
• -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105 NonOS SDK v2.2.x branch as of to Nov 05, 2019
• -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122 NonOS SDK v2.2.x branch as of to Nov 22, 2019
You can change SDK version by passing a custom macro using project projectconf_build_flags.
For example, to switch to SDK-pre-3.0:
[env:myenv] ... build_flags = -D PIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
SSL Support By default, all SSL ciphers (most compatible) are supported.
You can control SSL support passing a custom macro using project projectconf_build_flags.
For example, use basic SSL ciphers (lower ROM use):
[env:myenv] ... build_flags = -D BEARSSL_SSL_BASIC
Serial Debug Please use the next projectconf_build_flags to enable Serial debug:
[env:myenv] ... build_flags = -DDEBUG_ESP_PORT=Serial
; or for Serial1 build_flags = -DDEBUG_ESP_PORT=Serial1
Also, please note that you will need to extend projectconf_build_flags with Serial Debug macro. For example, build_flags = -DDEBUG_ESP_PORT=Serial -DDEBUG_ESP_SSL ....
Actual information is available in Arduino for ESP8266 Board Manifest. Please scroll to generic.menu.lvl section.
; SSL build_flags = -DDEBUG_ESP_SSL
; TLS_MEM build_flags = -DDEBUG_ESP_TLS_MEM
; HTTP_CLIENT build_flags = -DDEBUG_ESP_HTTP_CLIENT
; HTTP_SERVER build_flags = -DDEBUG_ESP_HTTP_SERVER
; SSL+TLS_MEM build_flags = -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM
; SSL+HTTP_CLIENT build_flags = -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT
; SSL+HTTP_SERVER build_flags = -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_SERVER
; TLS_MEM+HTTP_CLIENT build_flags = -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT
; TLS_MEM+HTTP_SERVER build_flags = -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER
; HTTP_CLIENT+HTTP_SERVER build_flags = -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER
; SSL+TLS_MEM+HTTP_CLIENT build_flags = -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT
; SSL+TLS_MEM+HTTP_SERVER build_flags = -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER
; SSL+HTTP_CLIENT+HTTP_SERVER build_flags = -DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER
; TLS_MEM+HTTP_CLIENT+HTTP_SERVER build_flags = -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER
; SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER build_flags = -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER
; CORE build_flags = -DDEBUG_ESP_CORE
; WIFI build_flags = -DDEBUG_ESP_WIFI
; HTTP_UPDATE build_flags = -DDEBUG_ESP_HTTP_UPDATE
; UPDATER build_flags = -DDEBUG_ESP_UPDATER
; OTA build_flags = -DDEBUG_ESP_OTA
; OOM build_flags = -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h"
; CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM build_flags = -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h"
; SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM build_flags = -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h"
; NoAssert-NDEBUG build_flags = -DNDEBUG
VTables Please use one of the next projectconf_build_flags:
[env:myenv] ...
; Flash (default) build_flags = -DVTABLES_IN_FLASH
; Heap build_flags = -DVTABLES_IN_DRAM
; IRAM build_flags = -DVTABLES_IN_IRAM
Exceptions Exceptions are disabled by default. To enable exceptions, use the following projectconf_build_flags and projectconf_build_unflags:
; Remove default exceptions disabled flag build_unflags = -fno-exceptions
; Enable exceptions build_flags = -fexceptions
Uploading files to file system SPIFFS WARNING: Please make sure to read ESP8266 Flash layout information first.
1. Create new project using pioide or initialize project using piocore and cmd_project_init (if you have not initialized it yet)
To upload SPIFFS image using OTA update please specify upload_port / --upload-port as IP address or mDNS host name (ending with the *.local). For the details please follow to Over-the-Air (OTA) update.
By default, will be used default LD Script for the board where is specified SPIFFS offsets (start, end, page, block). You can override it using Flash Size.
Active discussion is located in issue #382.
Over-the-Air (OTA) update Firstly, please read What is OTA? How to use it?
[env:myenv] upload_protocol = espota ; each flag in a new line upload_flags = --port=8266
• --port=ESP_PORT ESP8266 OTA Port. Default 8266
~/.platformio/packages/framework-arduinoespressif8266/tools/espota.py --help
Transmit image over the air to the esp8266 module with OTA support.
Destination: -i ESP_IP, --ip=ESP_IP ESP8266 IP Address. -I HOST_IP, --host_ip=HOST_IP Host IP Address. -p ESP_PORT, --port=ESP_PORT ESP8266 ota Port. Default 8266 -P HOST_PORT, --host_port=HOST_PORT Host server ota Port. Default random 10000-60000
Output: -d, --debug         Show debug output. And override loglevel with debug. -r, --progress      Show progress output. Does not work for ArduinoIDE
Demo .SS Using Arduino Framework with Staging version
PlatformIO will install the latest Arduino Core for ESP8266 from https://github.com/esp8266/Arduino. The Git should be installed in a system. To update Arduino Core to the latest revision, please open pioide and navigate to PIO Home > Platforms > Updates.
[env:nodemcuv2] platform = espressif8266 board = nodemcuv2 framework = arduino platform_packages = framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
Examples Examples are listed from Espressif 8266 development platform repository:
• arduino-webserver
• arduino-asyncudp
• esp8266-rtos-sdk-blink
• esp8266-nonos-sdk-blink
Stable and upstream versions You can switch between stable releases of Espressif 8266 development platform and the latest upstream version using projectconf_env_platform option in projectconf as described below.
Stable ; Latest stable version [env:latest_stable] platform = espressif8266 board = ...
; Custom stable version [env:custom_stable] platform = espressif8266@x.y.z board = ...
Upstream [env:upstream_develop] platform = https://github.com/platformio/platform-espressif8266.git board = ...
Packages ┌───────────────────────────────┬──────────────────────────┐ │Name                           │ Description              │ ├───────────────────────────────┼──────────────────────────┤ │framework-arduinoespressif8266 │ Arduino Wiring-based     │ │                               │ Framework (ESP8266 Core) │ ├───────────────────────────────┼──────────────────────────┤ │framework-esp8266-nonos-sdk    │ ESP8266 Non-OS SDK       │ ├───────────────────────────────┼──────────────────────────┤ │framework-esp8266-rtos-sdk     │ ESP8266 SDK based on     │ │                               │ FreeRTOS                 │ ├───────────────────────────────┼──────────────────────────┤ │framework-simba                │ Simba Framework          │ ├───────────────────────────────┼──────────────────────────┤ │tool-esptool                   │ esptool-ck               │ ├───────────────────────────────┼──────────────────────────┤ │tool-esptoolpy                 │ ESP8266 and ESP32 serial │ │                               │ bootloader utility       │ ├───────────────────────────────┼──────────────────────────┤ │tool-mkspiffs                  │ Tool to build and unpack │ │                               │ SPIFFS images            │ ├───────────────────────────────┼──────────────────────────┤ │toolchain-xtensa               │ xtensa-gcc               │ └───────────────────────────────┴──────────────────────────┘