Arduino Alpha Release v3.0.0 based on ESP-IDF v5.1
Pre-release
Pre-release
·
1736 commits
to master
since this release
The Arduino ESP32 pre-release version 3.0.0-aplha is based on the ESP-IDF v5.1 (release notes) and is major release supporting new version of ESP-IDF 5.1. This release introduce breaking changes and support for new SoCs, ESP32-H2 and ESP32-C6.
Known issues of this release
- If you are a Linux or MacOS user, it is mandatory to use Arduino IDE v2 or
arduino-clifor the package installation. Arduino IDE v1 currently fails due to limitations related to archive compression.
Breaking changes of 3.0.0 Release
This version introduce breaking changes in this particular APIs:
- ADC
- BLE
- Hall Sensor (not supported)
- I2S
- LEDC
- RMT
- SigmaDelta
- Timer
- UART (HardwareSerial)
For more details please refer to Migration Guide from version 2.x to 3.0.
Major changes
- ESP-IDF v5.1 by @me-no-dev in #7733
- Initial support for ESP32-H2
- Initial support for ESP32-C6 by @me-no-dev in #8337
- API drivers refactoring to support ESP-IDF v5.1 APIs
- Implementations of Peripheral Manager
APIs changes & updates
- ADC refactoring by @P-R-O-C-H-Y in #7827
- TIMER refactoring by @P-R-O-C-H-Y in #7904
- [Arduino Core 3.0.0] RMT IDF5.1 Refactoring #7994 by @SuGlider in #7994
- [Arduino Core 3.0.0] Fixes UART to work with any APB Freq by @SuGlider in #8097
- LEDC Refactoring - Peripheral manager implemented by @P-R-O-C-H-Y in #8126
- TIMER - add timer_started flag, fix timerEnd() + timer HW test by @P-R-O-C-H-Y in #8135
- DAC - Added missing deinit of previous bus by @P-R-O-C-H-Y in #8180
- Update esp32-hal-rmt.c by @SuGlider in #8216
- LEDC - Memory fix by @P-R-O-C-H-Y in #8264
- LEDC Fade implementation by @P-R-O-C-H-Y in #8338
- ESP32-C6 Fixes Settings for RMT and UART source clock by @SuGlider in #8340
- Fixes RMT filter & idle timing and setup by @SuGlider in #8359
- SPI fix for C6 branch by @P-R-O-C-H-Y in #8367
- Removed duplicate TX1 define for ESP32H2 by @PilnyTomas in #8402
- Fixing UART1 pins for esp-idf-v5.1-libs by @petergjoel in #8477
- [ETH] Implement SPI support, multiple interfaces and more by @me-no-dev in #8575
- Analog Continuous mode API by @P-R-O-C-H-Y in #8715
- BLE upgrades by @me-no-dev in #8724
Peripheral Manager implementations
Description of Peripheral Manager is available here.
- TOUCH - Peripheral manager implementation by @P-R-O-C-H-Y in #8129
- GPIO - Peripheral manager implementation by @P-R-O-C-H-Y in #8179
- I2C - Peripheral manager implementation by @P-R-O-C-H-Y in #8220
- SPI - Peripheral manager implementation by @P-R-O-C-H-Y in #8255
- SPI - Peripheral manager fix by @P-R-O-C-H-Y in #8279
- SDMMC - Peripheral manager implementation by @P-R-O-C-H-Y in #8289
- ETHERNET - Peripheral manager implementation by @P-R-O-C-H-Y in #8297
- Adds USB to Peripheral Manager - Arduino Core 3.0.0 by @SuGlider in #8335
- Adds HardwareSerial to Peripheral Manager - Arduino 3.0.0 by @SuGlider in #8328
- Enforces more consistency into Peripheral Manager by @SuGlider in #8188
- 3.0.0 - UART Peripheral Manager + Detach UART pins on begin()/setPins() by @SuGlider in #8719
Other changes
- Makes F_CPU generic for all SoC by @SuGlider in #8007
- Fixes APLL/PLL with RTC Frequency by @SuGlider in #8025
- Add workflow to build executables from python scripts by @me-no-dev in #8290
- Add checks for SOC defines by @P-R-O-C-H-Y in #8351
- Updated FreeRTOS names by @PilnyTomas in #8418
- MD5 memory leak fix by @SuGlider in #8486
- Add support for custom panic handler by @me-no-dev in #8574
- HTTPClient - Fix case sensitiveness for header keys by @lucasssvaz in #8630
- Fix memory leak and undefined behavour in Updater.cpp (UpdaterClass) by @MathewHDYT in #8671
- Serial reorganization code for RS-485 Mode, Flow Control Mode and Serial Mode by @SuGlider in #8718
- Add support for custom panic handler by @me-no-dev in #8711
- Add printf method with FlashStringHelper argument by @lucasssvaz in #8677
- WebServer: use MD5Builder instead of mbedtls by @Staars in #8667
- BT serial: SSP improvements, added missing events by @me-no-dev in #8723
- fix flash mode read out for C6 by @Jason2866 in #8517
- Update PlatformIO scripts for the upcoming 3.0 core by @valeros in #8183
- WiFiGeneric CrashFix 5.1-libs by @mrengineer7777 in #8044
- include ctime by @Jason2866 in #8722
Boards additions and updates
- Master5.1 s3 gpio48 and platform txt review by @SuGlider in #8726
- Fix pin attachInterrupt(digitalPinToInterrupt(48)) on all S3 based SOCs by @SuGlider in #8600
- added namino bianco board + other fix on menus by @a-sapuppo in #8730
Examples
- Adds missing pinMode by @SuGlider in #8312
- fixes preprocessor test by @SuGlider in #8485
- [All Arduino Cores] Adds HardwareSerial Example by @SuGlider in #8095
- SD_MMC update by @PilnyTomas in #8298
- Add TFLite Micro examples by @me-no-dev in #8717
Documentation and CI
- [Docs] ADC and Timer API Update (+some docs fixes) by @P-R-O-C-H-Y in #7906
- HW Testing - Pytest update by @P-R-O-C-H-Y in #8389
- HW Testing - ESP32-C6 + ESP32-H2 fixes by @P-R-O-C-H-Y in #8404
- Update README.md to add new SoCs by @SuGlider in #8727
- Add Arduino lib to arduino as IDF component by @me-no-dev in #8721
- Update of documentation link on readme.md for WifiClientSecure by @benlye in #8441
- Add Arduino lib to arduino as IDF component by @me-no-dev in #8721
- Update release script for 3.0.0 by @me-no-dev in #8728
- Print full chip report when log level is sufficient by @me-no-dev in #8282
- Backport some fixes from esp-idf-v5.1 by @me-no-dev in #7762
Note:
Due to merging development branch into master branch, the changelog does not include all the changes.
Full Changelog: 2.0.14...3.0.0-alpha1
New Contributors
- @MathewHDYT made their first contribution in #8671
- @benlye made their first contribution in #8441
- @Staars made their first contribution in #8667
Thanks for your contribution! π