Migration from 2.x to 3.0 - (original) (raw)

Arduino ESP32

Introduction

This is a guide to highlight breaking changes in the API and build system to help the migration of projects from versions 2.X (based on ESP-IDF 4.4) to version 3.0 (based on ESP-IDF 5.1) of the Arduino ESP32 core.

All the examples on the version 3.0.0 were updated to be compatible to the new API. The old examples from the versions below 3.0.0 will be not compatible with the version 3.0.0 or newer releases.

For more information about all changes and new features, check project RELEASE NOTES.

Build System

Compilation Flags

Functional changes

APIs

ADC

Removed APIs

BLE

Changes in APIs

Hall Sensor

Hall sensor is no longer supported.

I2S

The I2S driver has been completely redesigned and refactored to use the new ESP-IDF driver. For more information about the new API, check I2S.

LEDC

The LEDC API has been changed in order to support the Peripheral Manager and make it easier to use, as LEDC channels are now automatically assigned to pins. For more information about the new API, check LED Control (LEDC).

Removed APIs

New APIs

Changes in APIs

RMT

For more information about the new API, check RMT.

Removed APIs

New APIs

Changes in APIs

SigmaDelta

SigmaDelta has been refactored to use the new ESP-IDF driver. For more information about the new API, check SigmaDelta.

Removed APIs

New APIs

Changes in APIs

Timer

Timer has been refactored to use the new ESP-IDF driver and its API got simplified. For more information about the new API check Timer.

Removed APIs

New APIs

Changes in APIs

UART (HardwareSerial)

Changes in APIs

Functional changes

Wi-Fi

Functional changes