The ESP32 Arduino Core Library is a software framework that simplifies programming ESP32 microcontrollers using the Arduino IDE. It leverages the ESP32’s features like Wi-Fi, Bluetooth, Sensor Data Acquisition, and various peripherals while maintaining Arduino’s ease of use.
The library is open-source, and encourages community contributions, making it ideal for IoT development by both hobbyists and professionals.
Official ESP32 Arduino Core GigHub
ESP32 Arduino Core Library Components
The ESP32 Arduino Core Library’s APIs are structured into several distinct sections, each focusing on specific aspects of the ESP32’s capabilities.
Below is an index of these API sections, providing a roadmap to the various functionalities offered by the ESP32 Arduino Core Library:
Note: We’re working hard to complete the content on this page. Currently, we’re focusing on the Networking section of the ESP32 Arduino Library. Be sure to check back regularly for more updates and documentation. Thank you!
Networking
- WiFi Library
Connect to Wi-Fi networks, functioning as either a station or an access point, and provides essential networking capabilities. - WiFiClient Library
The ESP32 WiFiClient Library enables communication between an ESP32 device and remote servers over TCP/IP networks, allowing it to send and receive data as a client. - HTTPClient Library
Make HTTP and HTTPS requests, enabling secure communication with web servers over an established network connection. - WiFiClientSecure Library
Secure Wi-Fi client with SSL/TLS support. - WebServer
Creates a web server to handle HTTP requests. - AsyncUDP
Asynchronous UDP client and server. - DNSServer
Implements a DNS server for name resolution. - ESPmDNS
Multicast DNS for service discovery on local networks. - NetBIOS
Provides NetBIOS name service for network identification.
Bluetooth Connectivity
- BLE:
Bluetooth Low Energy support for ESP32. - BluetoothSerial:
Serial communication over Bluetooth Classic. - SimpleBLE:
Simplified interface for BLE operations.
Core Functions
- ESP32:
Core functions and utilities specific to ESP32 hardware.
Hardware Interfaces
- I2S:
Inter-IC Sound interface for audio applications. - SPI:
Serial Peripheral Interface for communication with peripherals. - Wire:
I2C communication protocol for connecting devices. - ESP-NOW:
Low-power, and mesh-like wireless communication between ESP32 devices without a Wi-Fi network.
Time and Scheduling Libraries
- Ticker
- Timer
Built-In Sensor
- TOUCH
- Pulse Counter
File Systems
- FFat:
FAT filesystem support for flash memory. - LittleFS:
Lightweight filesystem for SPI flash. - SD:
Interface for SD card storage. - SD_MMC:
SD card interface using MMC protocol. - SPIFFS:
SPI Flash File System for lightweight storage. - Preferences
USB
- USB API
- USB CDC
- USB MSC
LED Control
- LED Control (LEDC)
Power Management
- Deep Sleep
Updates
- ArduinoOTA:
Over-the-Air firmware updates for ESP32. - HTTPUpdate:
Enables firmware updates over HTTP. - Update:
General firmware update library.
IoT Platforms
- RainMaker:
Espressif’s cloud platform for IoT devices.
Other
- ESP Insights
- Reset Reason
- RMT
- SigmaDelta