On this page
Overview
Arduino-ESP32 is Espressif's official Arduino core for the ESP32 family. It brings the Arduino programming model to ESP32, C3, C5, C6, H2, P4, S2, and S3 targets and integrates libraries and tooling for Wi-Fi, BLE, GPIO, serial, filesystems, networking, OTA, and other device capabilities.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Target multiple ESP32-family SoCs through the Arduino workflow
The 3.3.12 README lists ESP32, C3, C5, C6, H2, P4, S2, and S3 as stable targets, selected through board definitions and FQBNs.
Sources: [1]
Use Arduino APIs on top of an integrated ESP-IDF toolchain
Version 3.3.12 is based on ESP-IDF v5.5.5 and integrates Espressif compilers, libraries, partitions, bootloader generation, and related build steps into Arduino recipes.
Best fit
Before adoption
Review the 2.x-to-3.x migration guide before upgrading existing firmware
The README explicitly links a 2.x-to-3.x migration guide because APIs and the underlying ESP-IDF changed. Existing firmware needs runtime validation in addition to a successful compile.
Sources: [1]
Validate the selected board and peripherals on actual hardware
USB mode, flash partitions, clocks, BLE/Wi-Fi behavior, and peripheral pin mappings vary by board. A generic ESP32 compile does not prove compatibility with the target device.
3.3.12 includes security and reliability fixes across network-facing features
The release includes WebServer hardening, BLE bounds fixes, OTA checksum improvements, HTTP client/socket fixes, and other changes, so connected firmware should keep pace with stable patch releases.
Sources: [4]
Official sources
- [1]Arduino-ESP32 3.3.12 README(2026-10-04)
- [2]Arduino-ESP32 3.3.12 package metadata(2026-10-04)
- [3]Arduino-ESP32 3.3.12 platform configuration(2026-10-04)
- [4]Arduino-ESP32 3.3.12 release(2026-10-04)
- [5]Arduino-ESP32 LGPL license(2026-10-04)
Supplemental curator note
Version 3.3.12 is based on ESP-IDF v5.5.5. The 2.x-to-3.x transition includes API compatibility changes, so review the migration guide and test the actual board/FQBN, partitions, USB, BLE/Wi-Fi, peripherals, and power conditions. A successful core install and compile does not validate device behavior.
Try it in 3 steps
- 1
Install ESP32 core 3.3.12 with Arduino CLI
Install stable 3.3.12 from the official Board Manager index. The toolchain download is large, so check disk and network capacity first.
arduino-cli core update-index --additional-urls https://espressif.github.io/arduino-esp32/package_esp32_index.json && arduino-cli core install esp32:esp32@3.3.12 --additional-urls https://espressif.github.io/arduino-esp32/package_esp32_index.json - 2
Create a minimal hardware-independent sketch
Use a minimal Arduino sketch that does not access GPIO or networking.
mkdir -p Esp32Demo && printf 'void setup() {}\nvoid loop() {}\n' > Esp32Demo/Esp32Demo.ino - 3
Compile for the generic ESP32 FQBN
Compile with the 3.3.12 toolchain without flashing a device. Replace the generic FQBN with the exact board for real hardware.
arduino-cli compile --fqbn esp32:esp32:esp32 Esp32Demo
Growth
Growth trends · Last 30 days
17,463 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 36
- Open PRs
- 25
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- arduino
- esp-idf
- esp32
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- ESP-IDF19,146 Stars
3 shared tag(s) · 1 shared category(s)
develop Espressif SoC firmware with an official framework integrating FreeRTOS, drivers, networking, security, and build tooling
C - Arduino AVR Boards Core1,507 Stars
3 shared tag(s) · 1 shared category(s)
provide Arduino APIs, board definitions, and compile/upload recipes for AVR boards such as Uno and Mega
C - Eclipse Paho MQTT C2,373 Stars
2 shared tag(s) · 1 shared category(s)
connect C applications to MQTT 5.0/3.1.1 brokers through synchronous or asynchronous APIs over TCP, TLS, WebSockets, and Unix sockets
C - Eclipse Paho MQTT Embedded C1,544 Stars
2 shared tag(s) · 1 shared category(s)
use compact MQTT packet serialization plus pluggable-network C and C++ clients on embedded and constrained platforms
C - Contiki-NG1,532 Stars
2 shared tag(s) · 1 shared category(s)
combine firmware and low-power IoT networking through an OS with IPv6/6LoWPAN, RPL, TSCH, CoAP, and cross-platform device support
C - Eclipse Mosquitto11,245 Stars
2 shared tag(s)
run an MQTT 5.0/3.1.1/3.1 broker with pub/sub CLI tools and C/C++ client libraries for lightweight messaging
C
Report incorrect information
Tell us if any listing information is incorrect or outdated.