Arduino-ESP32 is an Arduino core that enables programming of the ESP32 family of microcontrollers using the Arduino framework and IDE.
The project bridges the gap between Arduino's accessible programming model and the capabilities of ESP32 system-on-chip devices. It provides a hardware abstraction layer that maps Arduino APIs to the underlying ESP-IDF (Espressif IoT Development Framework), allowing developers familiar with Arduino to write sketches for ESP32 boards without needing to work directly with lower-level SDK calls. The core supports a wide range of ESP32 variants, each with different capabilities and form factors, and includes libraries for wireless connectivity, peripheral control, and other common embedded tasks.
Developers should choose this core if they want to leverage Arduino's familiar programming model while working with ESP32 hardware. It suits projects ranging from simple IoT prototypes to more complex embedded applications that benefit from ESP32's dual-core processor, built-in WiFi and Bluetooth, and rich peripheral set. The README documents API compatibility with both the ESP8266 Arduino core and the standard Arduino.cc core, helping developers understand how their existing code might port. For those migrating between major versions, a migration guide is provided. The project maintains comprehensive online documentation covering installation, libraries, and troubleshooting, and offers a public roadmap for planned development.
The project sustains a substantial user base, with nearly all open issues originating from outside users rather than the core team. Maintainers respond to new issues and pull requests within hours. Work in the issue tracker centers on triage, feature requests, and user questions, reflecting an active community engagement model where the team prioritizes understanding and addressing user needs.