Espressif IoT Development Framework
- Configuration:
framework =
espidf
Espressif IoT Development Framework. Official development framework for ESP32 chip
Tutorials
Get started with ESP-IDF and ESP32-DevKitC: debugging, unit testing, project analysis
Book: Developing IoT Projects with ESP32: Automate your home or business with inexpensive Wi-Fi devices (using the PlatformIO with ESP-IDF)
Note
Each release of the Espressif 32 platform uses a specific version of ESP-IDF. The latest version of the platform only supports the latest stable version of the framework.
Configuration
The general project configuration (default optimization level, bootloader configuration
partition tables, etc) is set in a single file called sdkconfig
in the root folder
of the project. This configuration file can be modified via a special target called
menuconfig
(PlatformIO v4.3.0 greater is required):
pio run -t menuconfig
Warning
ESP-IDF requires some extra tools to be installed in your system in order to build
firmware for supported chips. Most of these tools are available in PlatformIO
ecosystem as standalone packages, but in order to use configuration tool called
menuconfig
several additional packages need to be installed on Linux-based
systems:
libncurses5-dev flex bison
More details about required packages can be found in the official ESP-IDF documentation - Standard Setup of Toolchain for Linux.
Hint
If menuconfig is not showed properly in the integrated VS Code terminal try changing
the default terminal shell by clicking the dropdown menu on the top-right of the
terminal panel and selectiing the Select Default Shell
option.
Hint
In case the UP
and DOWN
arrows don’t work in menuconfig try using the J
key to move the cursor down and K
to move the cursor up. Another option is to use
-
and +
keys on the numeric keypad.
Project Structure
The ESP-IDF framework requires an unusual project structure because most of the framework
configuration is performed by the native for the ESP-IDF build system called CMake
.
A typical PlatformIO project for the ESP-IDF framework must have the following structure:
project_dir
├── include
├── src
│ ├── CMakeLists.txt
│ └── main.c
├── CMakeLists.txt
└── platformio.ini
Tip
It’s also possible to use the default ESP-IDF project structure with main
folder.
To specify main
as the folder with source files use src_dir
option, for example:
[platformio]
src_dir = main
[env:esp32dev]
platform = platformio/espressif32
framework = espidf
board = esp32dev
Besides the files related to PlatformIO project, there are several additional
ESP-IDF-specific files: the main CMakeLists.txt
, project-specific CMakeLists.txt
in src_dir and optional default configuration file sdkconfig.defaults
.
CMakeLists.txt
files enable features supported by the ESP-IDF’s build system, e.g.
ULP configuration, adding extra components, etc. A typical CMakeLists.txt
file in
the root folder has the following content:
# The following lines of boilerplate have to be in your project's CMakeLists
# in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16.0)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(project-name)
The second CMakeLists.txt
in src_dir is responsible for
controlling the build process of the component and its integration into the overall
project. The minimal component CMakeLists.txt
file simply registers the component to
the build system using idf_component_register
:
idf_component_register(SRCS "foo.c" "bar.c")
The files specified using idf_component_register
are used ONLY for generating
build configurations, but it’s highly recommended to specify all application source
files in order to keep the project compatible with the usual ESP-IDF workflow.
Warning
By default PlatformIO expects source files to be located in the src
folder. At
the same time, the default location for source files within the ESP-IDF build system
is a special folder with the name main
. Renaming the main component may require
users to manually specify additional dependencies:
idf_component_register(SRCS "main.c" REQUIRES idf::mbedtls)
More details in the official ESP-IDF documentation - Renaming main component.
Due to the current limitations of CMake file-based API, there is no way of generating
build configuration for source files written in various programming languages if they
are not specified in idf_component_register
command. If your project contains
libraries written in languages that differ from the language used for the main
application you need to create an empty file with the desired extension (e.g. *.cpp
for C++
) in order to force CMake generate build configuration for this language.
Note
Build configuration generated for source files specified in idf_component_register
is also used as the base build environment for project sources (including libraries).
ESP-IDF components
ESP-IDF modules as modular pieces of standalone code might be useful for structuring reusable code or including third party components that aren’t part of ESP-IDF.
These components contain either a single CMakeLists.txt
file which controls the
build process of the component and its integration into the overall project. An
optional Kconfig
file defines the component configuration options that can be set
via menuconfig
. Some components may also include Kconfig.projbuild
and
project_include.cmake
files, which are special files for overriding parts of the
project. All valid components will be compiled as static libraries and linked to the
final firmware. There are two possible ways of adding extra components to PlatformIO
project:
By adding a new component to an optional folder called
components
in the root of your project. This folder will be automatically scanned for valid components.Using
EXTRA_COMPONENT_DIRS
option in the rootCMakeLists.txt
file. This option represents a list of extra directories to search for components.
An example of specifying esp-aws-iot
as an extra component:
# The following lines of boilerplate have to be in your project's CMakeLists
# in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
list(APPEND EXTRA_COMPONENT_DIRS esp-aws-iot)
project(subscribe_publish)
Warning
Since src_dir is also passed to CMake as an extra component,
you should only append to EXTRA_COMPONENT_DIRS
variable in order not to override
the default package.
Since the build may not work correctly if the full path to sources is greater than 250
characters (see CMAKE_OBJECT_PATH_MAX
) it might be a good idea to keep modules close
to the project files.
ULP coprocessor programming
If you want to take measurements using ADC, internal temperature sensor or external I2C sensors, while the main processors are in deep sleep mode you need to use ULP coprocessor. At the moment ULP can be used only with the Espressif IoT Development Framework.
All ULP code, usually written in assembly in files with .S
extension,
must be placed into a separate directory with the name ulp
in the root folder
of your project. So your project structure should look like this:
project_dir
├── include
├── src
│ ├── CMakeLists.txt
│ └── main.c
├── ulp
│ └── ulp_code.S
├── CMakeLists.txt
└── platformio.ini
Since PlatformIO uses the code model generated by CMake it’s mandatory to specify ULP
source files in CMakeLists.txt
as well. An example of typical CMakeLists.txt
for ULP:
idf_component_register(SRCS "ulp_adc_example_main.c")
#
# ULP support additions to component CMakeLists.txt.
#
# 1. The ULP app name must be "ulp_main"
set(ulp_app_name ulp_main)
#
# 2. Specify all assembly source files.
# Paths are relative because ULP files are placed into a special directory "ulp"
# in the root of the project
set(ulp_s_sources "../ulp/adc.S")
#
# 3. List all the component source files which include automatically
# generated ULP export file, ${ulp_app_name}.h:
set(ulp_exp_dep_srcs "ulp_adc_example_main.c")
#
# 4. Call function to build ULP binary and embed in project using the argument
# values above.
ulp_embed_binary(${ulp_app_name} ${ulp_s_sources} ${ulp_exp_dep_srcs})
See full examples with ULP coprocessor programming:
https://github.com/platformio/platform-espressif32/tree/develop/examples/espidf-ulp-adc
https://github.com/platformio/platform-espressif32/tree/develop/examples/espidf-ulp-pulse
More details are located in the official ESP-IDF documentation - ULP coprocessor programming.
Limitations
At the moment several limitations are present:
No whitespace characters allowed in project paths. This limitation is imposed by the native ESP-IDF build system. This affects users that have a whitespace in their username or added a whitespace to the project name. As a workaround, it’s recommended to move core_dir to a folder without spaces. For example:
[platformio] core_dir = C:/.platformio [env:esp32dev] platform = platformio/espressif32 framework = espidf board = esp32dev
The
src_filter
option cannot be used. It’s done to preserve compatibility with existing ESP-IDF projects. List of source files is specified in the projectCMakeLists.txt
file.
Platforms
Name |
Description |
---|---|
ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and Bluetooth. ESP32 integrates an antenna switch, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules. |
Examples
Debugging
Debugging - “1-click” solution for debugging with a zero configuration.
Tools & Debug Probes
Supported debugging tools are listed in “Debug” column. For more detailed information, please scroll table by horizontal. You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).
Warning
You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.
On-Board Debug Tools
Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.
Name |
Platform |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
External Debug Tools
Boards listed below are compatible with Debugging but DEPEND ON external debug probe. They ARE NOT READY for debugging. Please click on board name for the further details.
Name |
Platform |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
520KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
8MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
8MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
8MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32C6 |
160MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
16MB |
520KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
1.25MB |
||
ESP32 |
240MHz |
4MB |
1.25MB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
16MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
1.25MB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
1.25MB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
16MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
8MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32S3 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32C3 |
160MHz |
384KB |
400KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
16MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S2 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32 |
240MHz |
4MB |
320KB |
||
ESP32S3 |
240MHz |
7.94MB |
2.31MB |
||
ESP32S3 |
240MHz |
7.94MB |
8.31MB |
Boards
Note
You can list pre-configured boards by pio boards command
For more detailed
board
information please scroll the tables below by horizontally.
4D Systems
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
16MB |
320KB |
AI Thinker
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
AZ-Delivery
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
520KB |
Adafruit
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
8MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
8MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
External |
ESP32 |
240MHz |
8MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
Ai-Thinker
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
AirM2M
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32C3 |
160MHz |
4MB |
320KB |
Aiyarafun
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Anderson & friends
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
16MB |
320KB |
April Brother
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Arduino
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
16MB |
320KB |
ArtronShop
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
Aventen
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
16MB |
320KB |
BPI Tech
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
160MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
Blinker
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
CNRS
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Connaxio
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Cytron Technologies
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
8MB |
320KB |
DFRobot
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
External |
ESP32 |
240MHz |
16MB |
520KB |
DOIT
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
DSTIKE
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Denky
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
8MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
Deparment of Alchemy
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S2 |
240MHz |
4MB |
320KB |
Dongsen Technology
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
DycodeX
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
ESP32vn
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
ETBoard
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Electronic SweetPeas
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
EspinalLab
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S2 |
240MHz |
16MB |
320KB |
Espressif
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
On-board |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
No |
ESP32C6 |
160MHz |
8MB |
320KB |
||
External |
ESP32C6 |
160MHz |
4MB |
320KB |
||
On-board |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
On-board |
ESP32S3 |
240MHz |
8MB |
320KB |
||
On-board |
ESP32S3 |
240MHz |
8MB |
320KB |
||
On-board |
ESP32S3 |
240MHz |
8MB |
320KB |
Espressif Systems
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
8MB |
320KB |
Fishino
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Franzininho
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
Fred
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
HONEYLemon
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Hardkernel
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
16MB |
320KB |
Heltec
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
Heltec Automation
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
8MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
8MB |
320KB |
||
External |
ESP32 |
240MHz |
8MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
Hornbill
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
INEX
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Imbrios
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
IntoRobot
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
KITS
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Kinetic Dynamics
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
4MB |
320KB |
LOGISENSES
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Labplus
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
LilyGo
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
Lion:Bit
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
On-board |
ESP32S3 |
240MHz |
4MB |
320KB |
M5Stack
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
16MB |
520KB |
||
No |
ESP32 |
240MHz |
16MB |
4.31MB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
No |
ESP32 |
240MHz |
16MB |
4.31MB |
||
No |
ESP32 |
240MHz |
16MB |
520KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
No |
ESP32 |
240MHz |
16MB |
4.31MB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
MECT SRL
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
MGBOT
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
MH-ET Live
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
Magicblocks.io
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
MakerAsia
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
Microduino
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
MotorGo
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
4MB |
320KB |
Munich Labs
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
8MB |
320KB |
NodeMCU
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Noduino
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
16MB |
320KB |
OLIMEX
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
OROCA
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Onehorse
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
PowerFeather
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
8MB |
320KB |
ProtoCentral
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Pycom Ltd.
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
1.25MB |
||
External |
ESP32 |
240MHz |
4MB |
1.25MB |
Qmobot LLP
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
RoboHeart
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
S.ODI
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
SG-O
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
SQFMI
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Seeed Studio
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
Silicognition
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Smart Bee
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
SparkFun
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
16MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
SparkFun Electronics
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
16MB |
320KB |
T3 Foundation
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
TAMC
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
8MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
TTGO
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
1.25MB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
16MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
1.25MB |
||
External |
ESP32 |
240MHz |
4MB |
1.25MB |
ThaiEasyElec
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Trueverit
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
Turta
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
4MB |
320KB |
Unexpected Maker
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S2 |
240MHz |
16MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
No |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
8MB |
320KB |
University of Sheffield
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
7.94MB |
2.31MB |
||
External |
ESP32S3 |
240MHz |
7.94MB |
8.31MB |
Unknown
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
Valetron Systems
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
VintLabs
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
WEMOS
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32C3 |
160MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S2 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
External |
ESP32S3 |
240MHz |
4MB |
320KB |
||
External |
ESP32S3 |
240MHz |
16MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
WeAct Studio
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32C3 |
160MHz |
384KB |
400KB |
Widora
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
16MB |
320KB |
Wireless-Tag
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
XinaBox
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
YeaCreate
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
16MB |
320KB |
microS2
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S2 |
240MHz |
16MB |
320KB |
oddWires
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |
senseBox
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32S2 |
240MHz |
4MB |
320KB |
u-blox
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
No |
ESP32 |
240MHz |
2MB |
320KB |
uPesy
Name |
Platform |
Debug |
MCU |
Frequency |
Flash |
RAM |
---|---|---|---|---|---|---|
External |
ESP32 |
240MHz |
4MB |
320KB |
||
External |
ESP32 |
240MHz |
4MB |
320KB |