The Arduino ESP32 pre-release version 3.0.0-aplha 3 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.
ESP32-C2 support was added, for usage you need to build the libraries using ESP32 Arduino Lib builder.
Major changes
- Add ESP32-C2 support by @Jason2866 in #8881
- [I2S][SR] Add new I2S library and Sound Recognition support by @me-no-dev in #8714
- Zigbee protocol support by @P-R-O-C-H-Y in #8844
- Fixes Rainmaker to be a Managed Component by @SuGlider in #8842
- IDF release/v5.1 by @me-no-dev in #8865
- IDF release/v5.1 by @me-no-dev in #8943
Peripherals updates
UART
- UART: Change default Serial1/2 pins and move definition to header by @lucasssvaz in #8800
- Fixes uart attach/detach by @SuGlider in #8820
- Serial as a #define by @SuGlider in #8798
- HardwareSerial::end(bool) review + Baud Rate detection review and example by @SuGlider in #8762
I2S
- Makes MP3 header files public for I2S code by @SuGlider in #8868
- Add support for I2S Slot Mask by @me-no-dev in #8936
- I2S fix missing perimanSetBusDeinit() by @P-R-O-C-H-Y in #8782
I2C
- Fully guard I2C Slave in preparation for C2 support by @me-no-dev in #8882
- Add lock in Wire.cpp to protect concurrent i2c transactions performed by different tasks by @mircopz in #8127
ADC
- Fix ADC detach bus calibration handle error when not existing. by @P-R-O-C-H-Y in #8932
RMT
- Update RMT initialization code by @diplfranzhoepfinger in #8927
- RMT: Fix RMT TX interrupt level by @lucasssvaz in #8813
Other peripherals changes
- Neopixel fix by @SuGlider in #8845
- fix S3 cannot reset to bootrom with USB OTG due to new gpio deinit() by @hathach in #8880
Libraries updates
WiFi related
- WiFiSTA - allow using DHCP again after disconnecting static IP by @JAndrassy in #8848
- WiFiSTA - new status constant WL_STOPPED by @JAndrassy in #8849
- WiFi.BSSID and scan result BSSID with parameter as in WiFi libraries by Arduino by @JAndrassy in #8853
- WiFiSTA - method setDNS as in WiFi libraries by Arduino by @JAndrassy in #8854
- WiFiServer - deprecate available(), use accept() everywhere by @JAndrassy in #8860
- Added WiFi Bandwidth Setting Methods for AP and STA modes. by @gonzabrusco in #7619
- Add missing function getSocketOption by @rtpmsys in #7807
Bluetooth & BLE related
- Bluetooth-classic: release BLE memory when BT classic only is requested by @ferbar in #8051
- Added methods to remove service UUID from BLEAdvertising by @dpnebert in #8747
- Kernel panic when delete BLEClient object with descriptor characteristic by @chesterkwan in #8010
- Fixes BLEScanResults to be used by reference by @SuGlider in #8759
- BluetoothSerial: Fix SPP service mode by @lucasssvaz in #8806
- Fix linker failure when using BluetoothSerial on latest release with Arduino as Component. by @blackhack in #8784
- Increase BT SPP task priority by @SuGlider in #8859
USB
- Added KEY_SPACE to USBHIDKeyboard.h by @lbernstone in #8920
- Absolute mouse support (was #6331) by @tobozo in #8831
- Make USBHIDKeyboard work at boot by @RefactorFactory in #6964
- Add USB MIDI support to libraries/USB by @EleotleCram in #8166
Other libraries changes
- Fix linker failure when using SPIFFS or LittleFS with Arduino as component by @blackhack in #8768
- provide LittleFS feature
grow_on_mount
by @Jason2866 in #8769 - Supporting ETag http headers on static files by @mathertel in #7687
- feat: adding possibility to manually set MD5 checksum and authorization for HTTP update by @vlastahajek in #7629
- UpdateClass::setMD5 store expected md5 in lowercase by @P-R-O-C-H-Y in #8959
Other general changes
- Add platform specific flash speed to magicFlashChipSpeed by @TD-er in #8864
- Add 120Mhz cpu frequency option to setCpuFrequencyMhz() by @P-R-O-C-H-Y in #8956
- Remove unsupported DOUT and QOUT options by @lucasssvaz in #8805
- Fix compilation when NO_GLOBAL_SERIAL is defined. by @everslick in #8933
- Support relative paths in UNIX search PATH by @me-no-dev in #8938
- Fix Wire.setClock() causing assert by @me-no-dev in #8777
- Fix "fatal error: esp_partition.h: No such file or directory" by @Msq001 in #8787
Peripheral Manager improvements
- Extend bus types and structure for Peripheral Manager by @P-R-O-C-H-Y in #8888
- PeriMan: Improve log messages by @lucasssvaz in #8812
- fix: pin_remap: make periman APIs private and non-remapped by @pillo79 in #8940
Boards additions and updates
- Add new uPesy boards as variant by @uPesy in #8778
- Add the DFRobot Beetle ESP32C6 and the DFRobot FireBeetle2 ESP32C6 as two development boards by @wxzed in #8793
- Added entry for octal flash S3 by @lbernstone in #8660
- Add new UM TinyC6 board and re-ordered UM boards in boards.txt file. by @UnexpectedMaker in #8814
- Set M5Stack Core2 Flash Mode to QIO by @me-no-dev in #8937
- Update Adafruit boards by @hathach in #8897
- correct adafruit metro esp32s3 pins for rev B by @hathach in #8903
- Add support for ESP32-S3 PowerFeather by @powerfeatherdev in #8889
- Adds support for missing Olimex boards by @Stanimir-Petev in #8896
- add tinyuf2 partitions csv by @hathach in #8894
- Added arduino uno backward compatibility pins by @alexceltare2 in #8833
- Add senseBox MCU-S2 with ESP32S2 by @mariopesch in #8891
- Fix Heltec boards build.board to be uppercase by @P-R-O-C-H-Y in #8958
- Add support for the Arduino Nano ESP32 on 3.x branch by @pillo79 in #8909
Tools improvements
- [REDO] Update espota.py by @me-no-dev in #8797
Documentation & Examples
- [Docs] Add Migration guide + some API updates by @P-R-O-C-H-Y in #8716
- Removed YML file and changed the YAML file structure by @pedrominatel in #8785
- [Docs] Fixed the RTD theme and core version by @pedrominatel in #8794
- [Docs] Add ESP32C6 + ESP32H2 by @P-R-O-C-H-Y in #8799
- Fix of Readme by @VojtechBartoska in #8852
- Update/upgrade OTAWebUpdater.ino example by @lbernstone in #8839
- Update boards.rst by @VojtechBartoska in #8851
- Update warning note about PlatformIO related issues by @VojtechBartoska in #8866
- Added troubleshooting doc for USB-CDC by @lbernstone in #8840
- Added the Google Analytics ID in the configuration file by @pedrominatel in #8915
- Add documentation on threading issues with WiFi.onEvent() to examples by @egnor in #8081
- Added example 'get mac address' by @dpnebert in #8618
- Adding a note to allow access to PR secrets into PR template by @VojtechBartoska in #8948
- Add Arduino as Component examples by @P-R-O-C-H-Y in #8878
CI
- CI: Add UART test by @lucasssvaz in #8801
- [CI] Add to Boards Test check if build.board is uppercase by @P-R-O-C-H-Y in #8950
Full Changelog: 3.0.0-alpha2...3.0.0-alpha3
New Contributors
- @blackhack made their first contribution in #8768
- @Msq001 made their first contribution in #8787
- @TD-er made their first contribution in #8864
- @powerfeatherdev made their first contribution in #8889
- @mariopesch made their first contribution in #8891
- @mircopz made their first contribution in #8127
- @diplfranzhoepfinger made their first contribution in #8927
- @dpnebert made their first contribution in #8618
- @chesterkwan made their first contribution in #8010
- @EleotleCram made their first contribution in #8166
Thanks for your contribution! 🎉