Arduino Release v3.1.0 based on ESP-IDF v5.3.2
·
67 commits
to release/v3.1.x
since this release
The Arduino ESP32 version 3.1.0 is stable release of new major release based on the ESP-IDF v5.3.2 (release notes).
For version migration, please check Migration Guide from v2.X to 3.X
Known Issues
- I2C Slave is currently not working in ESP32-P4. Ongoing investigation.
- RainMaker sketches are crashing in the current version. Pending fixes from RainMaker team.
What's Changed
System PR
- IDF release/v5.3 by @me-no-dev in #10258
- DF release/v5.3 by @me-no-dev in #10272
- IDF release/v5.3 by @me-no-dev in #10403
- IDF release/v5.3 by @me-no-dev in #10416
- IDF release/v5.3 by @me-no-dev in #10444
- IDF release/v5.3 by @me-no-dev in #10465
- IDF release/v5.3 by @me-no-dev in #10473
- IDF release/v5.3 by @me-no-dev in #10480
- IDF release/v5.3 by @me-no-dev in #10498
- IDF release/v5.3 by @me-no-dev in #10503
- IDF release/v5.3 by @me-no-dev in #10522
- IDF release/v5.3 by @me-no-dev in #10599
- IDF release/v5.3 by @me-no-dev in #10711
- IDF release/v5.3 by @me-no-dev in #10719
Chip Support
feat(esp32p4): Add initial ESP32-P4 support by @lucasssvaz in #10358fix(esp32p4): Fix compilation errors by @lucasssvaz in #10371fix(esp32): ESP32-U4WDH chip detection by ESP.getChipModel() by @mstegen in #10696feat(chip): Add definition for BOOT_PIN for all chips by @me-no-dev in #10700
Peripherals
GPIO
I2S
fix(i2s): Use separate variables when reading and writing by @me-no-dev in #10509
LEDC
fix(example): print correct fade direction by @P-R-O-C-H-Y in #10450
PSRAM
fix(psram): Init PSRAM before app_main to fix mmu_map by @me-no-dev in #10390fix(psram): Do not abort if PSRAM is not found by @me-no-dev in #10395fix(spiram): Fix OPI PSRAM init by @me-no-dev in #10406test(psram): Add PSRAM test by @lucasssvaz in #10409
Touch
feat(touch): Support NG touch driver for P4 by @P-R-O-C-H-Y in #10448
UART
fix(uart): sleep retention by @SuGlider in #10248feat(uart): 3.1.x Core: fixes serialEventRun() to avoid calling available() if serialEvent() is not declared by @SuGlider in #10428fix(uart): Add missing HP UARTs for ESP32-P4 by @lucasssvaz in #10447- ESP32-P4 UART Pin Definitions by @SuGlider in #10521
feat(uart): uart break example improvement by @SuGlider in #10525feat(uart): adds Serial4 as a keyword - used by ESP32-P4 by @SuGlider in #10619feat(uart): [IDF 5.3] fixes HardwareSerial::updateBaudRate() using a baud rate higher 230400 - checks UART Clock Source by @SuGlider in #10643refactor(uart): Refactor UART test to work with any number of UARTs by @lucasssvaz in #10593
USB
feat(usb_hid_keyboard): Adds Keyboard Layout and Sends reports just for Modifier Keys by @SuGlider in #10591fix(hid): Fix OUTPUT report not received by @me-no-dev in #10398
Libraries
Bluetooth & BLE
fix(ble): Fixed typos (or copy/paste issues) in comments for AD types in BLEAdvertising by @thomasw-mitutoyo-ctl in #10512- BLECharacteristic optimization by @sylque in #10665
fix(example):Update comment in BLE5_periodic_advertising.ino by @ASDosjani in #10538
Ethernet
- Add RMII Ethernet support for ESP32-P4 by @me-no-dev in #10479
fix(eth): Set default clock in pin value to zero by @me-no-dev in #10513- Guard ethernet parts to make it possible to use without by @Jason2866 in #10609
FS
Matter
- Update Matter Light README.md by @lboue in #10357
feat(matter): initial commit with arduino matter lib by @SuGlider in #10467feat(Matter): New Matter Endpoint - Dimmable Light by @SuGlider in #10543- Matter example patch by @SuGlider in #10618
feat(matter): New Matter Endpoint by @SuGlider in #10628- Adds a Minimum Code Matter Example by @SuGlider in #10639
feat(Matter): add new MatterColorLight endpoint by @SuGlider in #10654feat(matter): New example => Wifi Prov within Matter as alternative for wireless network provisioning by @SuGlider in #10658feat(matter): Adds Matter Enhanced Color Light Endpoint (CW/WW/RGB) by @SuGlider in #10657feat(matter): Adds a new Matter Endpoint: Generic Switch (smart button) by @SuGlider in #10662feat(Matter): Creates New Matter Fan Controller Endpoint by @SuGlider in #10691feat(matter): adds new Temperature Sensor Matter Endpoint by @SuGlider in #10698feat(Matter): Adds New Matter Humidity Sensor Endpoint by @SuGlider in #10703feat(matter_examples): apply boot button change to all examples by @SuGlider in #10702feat(matter): adds a Pressure Sensor Matter Endpoint by @SuGlider in #10710feat(matter): creates a Matter Contact Sensor Endpoint by @SuGlider in #10712feat(matter): adds new Matter Occupancy Sensor endpoint by @SuGlider in #10717feat(matter): adds a new endpoint to Matter - On/Off Plugin (Power Relay) by @SuGlider in #10722feat(matter): General Review - remove while(!serial) ipv6(enable) and fixes some commentaries in the code by @SuGlider in #10732feat(matter): Adds Identification callback to all matter endpoints by @SuGlider in #10734
Network
fix(asyncudp): Fixes and implements tcpip thread locking by @HamzaHajeir in #10415fix(NetworkEvents lib): remove checks for duplicated event handlers by @vortigont in #10376fix(sntp): Lock / Unlock LWIP if CONFIG_LWIP_TCPIP_CORE_LOCKING is set by @mathieucarbou in #10529fix(net): Allow to compile without IPv6 enabled by @me-no-dev in #10582fix(network): Avoid returning zero if connection is not dropped by @lucasssvaz in #10640- Guard WPA Enterprise support by @Jason2866 in #10616
fix(sntp): Lock / Unlock LWIP if CONFIG_LWIP_TCPIP_CORE_LOCKING is set by @mathieucarbou in #10725- [NetworkClient] Init members of NetworkClient by @TD-er in #10737
fix(WPS): Example config initialization by @me-no-dev in #10399fix(IPaddress): IPv6 restore zone id by @s-hadinger in #10546
OTA
OpenThread
SDMMC
feat(sdmmc): Add SDMMC support for P4 + remove BUILTIN LED by @P-R-O-C-H-Y in #10460fix(SDMMC): Remove need for BOARD_HAS_SDMMC for esp32 by @P-R-O-C-H-Y in #10713
Update
- Guard crypto parts in "Update" to save resources by @Jason2866 in #10630
- Update lib - User can choose if calc MD5 from encrypted or decrypted file by @zinkett in #10510
WebServer
- Cap size of last chunk in raw read in WebServer by @socram8888 in #10724
WiFi
fix(DNSServer Lib)- improper startup code in WiFi mode by @vortigont in #10366- Add support for WiFi to ESP32-P4 by @me-no-dev in #10463
fix(wifi): Fix requirements and guards for hosted Wi-Fi by @lucasssvaz in #10579fix(wifi): fixes WiFi.isconnected() to return true when it is connected and it has an IP Addr by @SuGlider in #10595- fix: Split provisioning into two parts for better synchronization by @kvp1703 in #10677
Wire
- Wire library: Add conditional compilation for second I2C interface based on SOC_I2C_NUM by @sivar2311 in #10408
- Replace outdated wrong SOC_I2C_NUM and use SOC_HP_I2C_NUM by @Jason2866 in #10452
Zigbee
feat(zigbee): Add Zigbee library by @P-R-O-C-H-Y in #10265fix(zigbee): Enable the internal pull-up resistor for BUTTON_PIN by @lboue in #10491feat(Zigbee): Support for sleepy device + Power Source and battery level + Humidity sensor cluster by @P-R-O-C-H-Y in #10551fix(Zigbee): Fix typo in Zigbee_Temp_Hum_Sensor_Sleepy.ino by @lboue in #10581fix(Zigbee): Add missing direction to report commands by @P-R-O-C-H-Y in #10623feat(zigbee): Add setLight APIs to manually operate lights by @P-R-O-C-H-Y in #10626fix(zigbee): Add connected(), minor fixes, example update by @P-R-O-C-H-Y in #10636fix(zigbee): Increase timeout, commision again on failure + setScanDuration by @P-R-O-C-H-Y in #10651feat(Zigbee): Recall bounded devices after reboot + IEEE address option for commands by @P-R-O-C-H-Y in #10676fix(zigbee): Fix rejoin issue for battery powered devices by @P-R-O-C-H-Y in #10704feat(zigbee): Add pressure, flow, ccupancy and carbon dioxide sensor by @P-R-O-C-H-Y in #10720- Zigbee: Add dimmable light endpoint class by @FaBjE in #10727
Boards Additions & Updates
- Added Sparkfun ESP32-S3 Thing Plus board by @Vigeant in #10382
fix(boards): Remove partition scheme overwrite from FlashSize menu by @P-R-O-C-H-Y in #10400- Added variant for Waveshare ESP32-S3-Touch-AMOLED-1.8 by @Y1hsiaochunnn in #10433
addition(3rd_party_board): Add Waveshare-S3-touch-lcd by @H-sw123 in #10434- Add IOXESP32-C6 and ATD3.5-S3 board by @maxpromer in #10471
- Add our new board "cezerio dev ESP32C6" by @DogushC in #10462
- Add the Waveshare ESP32-S3-Touch-LCD-1.85 board by @Sail-211010 in #10477
- Add multiple boards of the Waveshare ESP32-S3-Touch-LCD-1.46 type by @Sail-211010 in #10482
feat(boards): add Waveshare ESP32-S3-Touch-AMOLED boards by @wurongmin in #10549fix(M5Stack Fire): Fixed TF reader SS pin value. by @CelliesProjects in #10610- Feat: Feather V2 and Qt PY larger SPIFFS PartitionScheme by @mikeysklar in #10604
- Fixed incorrect Flash size for UM FeatherS3 Neo build flash size by @UnexpectedMaker in #10614
- Add our new development board "cezerio mini dev ESP32C6" by @DogushC in #10648
feat(Variants): Added custom boards variants GLYPH C3, GLYPHC6 & GLYPHH2 by @pcbcupid in #10671feat(board): Add custom boards YB-ESP32-S3-AMP-V2 & YB-ESP32-S3-AMP-V3 by @yellobyte in #10699feat(Variants): Add Arduino libraries for Lora 4G Module and Node Wifi o⦠by @Bharat-Pi in #10402
CI & testing
ci(json): Add configuration requirements to ci.json files by @lucasssvaz in #10385ci(tests): Add linpack FPU tests by @lucasssvaz in #10389ci(compilation): Use default partition and add append to FQBN option by @lucasssvaz in #10392ci(json): Add requires_any field and use QIO by default to match IDE by @lucasssvaz in #10472fix(ci): Boards test - get correct file for the diff by @P-R-O-C-H-Y in #10507fix(tests): Add missing files to compilation tests by @lucasssvaz in #10501fix(ci): Boards test set fail-fast to false by @P-R-O-C-H-Y in #10508fix(ci): Change approach in listing the changed boards by @P-R-O-C-H-Y in #10495fix(formatting): Fix formatting and disable JSON hook by @lucasssvaz in #10492fix(testing): Checkout proper branch for Wokwi tests and small QoL improvements by @lucasssvaz in #104ci(workflows): General improvements and fixes by @lucasssvaz in #10544fix(wokwi): Delete generated diagram to avoid issues running locally by @lucasssvaz in #10567fix(esptool): Bump esptool version to 4.9.dev1 on 3.1.x by @lucasssvaz in #10570ci(json): Improve requirement checking by @lucasssvaz in #10554fix(tests): Fix wrong selection of tests and add debug flag for testing by @lucasssvaz in #10583ci(pre-commit): Bump hooks versions and fix leftover files by @lucasssvaz in #10680ci(pre-commit): Add bash script formatter and linter by @lucasssvaz in #10681ci(tests): Remove 3rd party tools tests by @lucasssvaz in #10708
Documentation
fix(arduino): adds ESP32-P4 to the package description by @SuGlider in #10426docs(lib-builder): Improve UI and Docker image sections by @lucasssvaz in #10535fix(typo): Fix typo in CDC DFU flash tutorial by @jurstu in #10584- Remove 3rd party references in code and documentation by @SuGlider in #10666
FreeRTOS
feature(rtos): Add Tasks status print function by @me-no-dev in #10515- Update FreeRTOS Symbols in OThreadCLI by @SuGlider in #10412
Tooling
fix(build): Fix sdkconfig copy for board manager by @lucasssvaz in #10484fix(arduino): Move extra_flags to flags by @me-no-dev in #10493feat(esptool): Update esptool to v4.8.1 by @lucasssvaz in #10524fix(bm): Board Manager install will fail on Windows by @me-no-dev in #10533fix(get.py):Check if win32 tools also exist when running on win64 by @lucasssvaz in #10565change(esptool): Bump esptool version and fix deprecation warning by @lucasssvaz in #10718fix(build): Allow Arduino to compile in IDF without components by @me-no-dev in #10597
Others
- Fix compile of P4 caused from missing ")" in debug macro by @Jason2866 in #10638
fix(clk_src): Fix error as APLL is not yet supported for P4 by @lucasssvaz in #10735feat(arduino): remove all while(not serial) in examples by @SuGlider in #10715- Use INPUT_PULLUP instead of INPUT by @leochen4891 in #10730
- Fix weird formatting, no code change by @Jason2866 in #10617
- AsyncUdp license and keyword update by @SuGlider in #10637
- Update esp-insights version by @Asc91 in #10456
- DigitalPinToInterrupt: fix double pin remapping by @pillo79 in #10373
New Contributors
- @Bharat-Pi made their first contribution in #10402
- @HamzaHajeir made their first contribution in #10415
- @H-sw123 made their first contribution in #10434
- @Sail-211010 made their first contribution in #10477
- @clashman made their first contribution in #10496
- @thomasw-mitutoyo-ctl made their first contribution in #10512
- @zinkett made their first contribution in #10510
- @ASDosjani made their first contribution in #10538
- @jurstu made their first contribution in #10584
- @mikeysklar made their first contribution in #10604
- @pcbcupid made their first contribution in #10671
- @mstegen made their first contribution in #10696
- @yellobyte made their first contribution in #10699
- @kvp1703 made their first contribution in #10677
- @socram8888 made their first contribution in #10724
- @FaBjE made their first contribution in #10727
- @leochen4891 made their first contribution in #10730
Full Changelog: 3.0.5...3.1.0