Releases: espressif/arduino-esp32
ESP32 Arduino 2.0.6 based on ESP-IDF 4.4.3
Arduino ESP32 Version 2.0.6
The Arduino ESP32 version 2.0.6 based on the ESP-IDF v4.4.3 introduces bug fixes, improvements and new boards support.
Changes
Here is a summary of the major changes.
- ESP-IDF upgrade to v4.4.3
- Support JTAG debugging in Arduino IDE 2.0
- Esp Insights library support
Improvements
- Update ESP-IDF libs for 2.0.6
- TWAI: Add receive example
- Update github actions to fix deprecation message
- LEDC - AnalogWrite new API + ledcAttachPin duty fix
- Added example scanning maximum ledc frequencies
- Update PlatformIO integration scripts
- Improves UART reading performance
Bugfixes
- FreeRTOS.ino: fix usage of vTaskDelay
- Fixes UART pin detach on Serial.end()
- Fixed #7406 crash on WiFi STA_DISCONNECTED event with reason 0
- Fixes to Rainmaker OTA Issues
New Boards & updates
- Add New Board: Cytron Maker Feather AIoT S3
- Add BPI-Leaf-S3 board
- Add new board: RedPill ESP32S3
Documentation
- Update of supported SoCs
- Add touch sleep wakeup API
See all bug fixes in the complete changelog below.
What's Changed
See the complete changelog down below:
- Pass tag to the Github action uncomponent upload action by @kumekay in #7271
- Doc update: added note about global arduino component by @PilnyTomas in #7277
- Add v2.0.5 into Issue Template by @VojtechBartoska in #7315
- Fix missing 't' in the name 'Department' for the MiniMain ESP32-S2 in boards.txt by @cubeinhabitant in #7383
- fixed AirM2M_CORE_ESP32C3 upload.tool.serial & write_flash error by @mjysci in #7375
- Add New Board: Cytron Maker Feather AIoT S3. by @waiweng83 in #7348
- Update of supported SoCs by @VojtechBartoska in #7385
- TBeam adds a revision option to facilitate the differentiation of boaโฆ by @lewisxhe in #7332
- Fix incorrect flash_type in unphone9 board definition by @hamishcunningham in #7330
- [Termod S3] fix rebooting while reading charge state by @TAMCTec in #7307
- [NORA-W10] add missing menu option caused by PR #7129 by @mazgch in #7282
- Add BPI-Leaf-S3 board. by @Wind-stormger in #7345
- Added Docs for Rainmaker by @sanketwadekar in #7260
- FreeRTOS.ino: fix usage of vTaskDelay by @WereCatf in #7418
- Fixes UART pin detach on Serial.end() by @SuGlider in #7402
- Fixed #7406 crash on WiFi STA_DISCONNECTED event with reason 0 by @Kuenlun in #7414
- Update github actions to fix deprecation message by @Rotzbua in #7374
- [SimpleWiFiServer] Remove unused variable by @ytkg in #7403
- Fixes to Rainmaker OTA Issues by @sanketwadekar in #7324
- [BLE Client] Fix deadlock if connection loss while readValue by @Rotzbua in #7319
- Correct Spelling of addTemperatureParam in ESP Rainmaker by @JohnMacrae in #7288
- Added TOUCH test sketch + test script by @P-R-O-C-H-Y in #7413
- Add the Partition Scheme Menu to HELTEC LoRa32 V1 by @Hacker-3000 in #7362
- [DOCS] Add ESP32S3 to libraries support list by @P-R-O-C-H-Y in #7415
- [DOCS] Add TOUCH peripheral API by @P-R-O-C-H-Y in #7421
- remove obsolete partition.csv for adafruit feather esp32s3 by @hathach in #7438
- updated Deneyap boards pin_arduino.h files by @zeynepdicle in #7338
- WiFi Should Reconnect For Most Reasons by @mrengineer7777 in #7344
- Add touch sleep wakeup API by @P-R-O-C-H-Y in #7439
- ESP-IDF v4.4.3 by @me-no-dev in #7450
- LEDC - AnalogWrite new API + ledcAttachPin duty fix by @P-R-O-C-H-Y in #7346
- Add enableScenes API in Rainmaker by @sanketwadekar in #7436
- Update Arduino as ESP-IDF documentation: How to use USBHID classes with ESP32-S2 and ESP32-S3 by @RefactorFactory in #7214
- Add I2C and SPI pin definitions to wt32-eth01 pins configuration by @sebastianbergner in #7237
- Changed Rainmaker WiFi/Factory reset time. by @sanketwadekar in #7514
- Add new board: RedPill ESP32S3. by @razvan-mocanu in #7523
- TWAI: Add receive example (Copy of #7430) by @Dazza0 in #7550
- Implements seekDir and getNextFileName on FS Lib to improve performance by @Lucasczm in #7229
- Fix unnecessary DNS query in hostByName and deadlock in ssl_client by @cziter15 in #7351
- fix set/getSocketOption inheritance by @bertmelis in #7480
- AnalogWrite - frequency and resolution log errors + returns by @P-R-O-C-H-Y in #7471
- Update camera example for support LED Intensity by @P-R-O-C-H-Y in #7533
- do not use 'colon' sign in the iSerialNumber field of USB descriptor by @lyusupov in #7225
- Added example scanning maximum ledc frequencies by @PilnyTomas in #7460
- Avoid collision with tinyusb hid.h enums by @PeterHindes in #7463
- Support JTAG debugging in Arduino IDE 2.0 by @me-no-dev in #7295
- Update ESP-IDF libs for 2.0.6 by @me-no-dev in #7570
- Fix conflict with ESP-IDF's esp_crt_bundle by @me-no-dev in #7560
- Update PlatformIO integration scripts by @valeros in #7579
- log_printf: Restructured log_printf for wrapping by @sanketwadekar in #7567
- WiFiGeneric: remove deprecated tcpip_adapter calls by @vortigont in #7577
- fixes UART at lower than 80MHz | S3 C3 by @SuGlider in #7496
- fix issue with invalid macro name if used as a component by @supcik in #7500
- Improves UART reading performance by @SuGlider in #7525
- fixes non existent esp32_adc2gpio by @SuGlider in #7526
- Create CODE_OF_CONDUCT.md by @VojtechBartoska in #7528
- Add note about Code_of_conduct to Readme.md by @VojtechBartoska in #7529
- apply the same USB descriptor's iSerialNumber logic for ESP32-S2 as tโฆ by @lyusupov in #7563
- Add protocol-explicit
upload.tool
properties required for pluggable discovery compatibility by @per1234 in #7517 - Workaround for when USB CDC is unplugged by @SuGlider in #7583
- [Docs] Fixed the countUp description by @pedrominatel in #7590
- Fix wrong environment variable in libraries/LittleFS/examples/LITTLEFS_PlatformIO/littlefsbuilder.py. by @goddade in #7537
- DNSServer fix custom code replies by @vortigont in #7475
- Added onDisconnect with gatt parameters to BLEServerCallbacks, equivalent to the existing onConnect by @RM-Alltrons in #7559
- Added missing API references by @pedrominatel in #7553
- Add ESP-C3-M1-I-Kit board by @wmjohnanderson in #6938
- Release version update to 2.0.6 in the Docs by @pedrominatel in #7592
- Rainmaker Example Changes by @sanketwadekar in #7591
- fixes variant wrong folder by @SuGlider in #7594
- FS: Performance improvements in vfs_api by @BlueAndi in #7541
- Fix Ethernet library link status and missing functionality with recent IDF versions by @ppescher in #7593
- Fix BluetoothSerial thinking it's disconnected by @aridet in #7372
- [Chore] Add error name to EEPROMClass ...
ESP32 Arduino 2.0.5 based on ESP-IDF 4.4.2
Arduino ESP32 Version 2.0.5
The Arduino ESP32 version 2.0.5 based on the ESP-IDF v4.4.2 introduces bug fixes, improvements and new boards support.
Changes
Here is a summary of the major changes.
- ESP-IDF upgrade to v4.4.2
Improvements
- Update esptool to version 4.2.1
- Update get.py to support python 3.10+
- ESP-IDF v4.4.2 and build time elf2bin for the bootloaders
- Changes UART ISR to only trigger on RX FIFO Full and timeout
- Adds noInterrupt() and interrupt() functionality
- Update PlatformIO build scripts
- Get real Flash Chip Size via API call
- Add default SPI pin definitions if not defined in pins_arduino.h
- Add new ULP example for ESP32
- Adds an error message to HardwareSerial::setPins()
- Improve RGB driver
- Adds Wire::setBufferSize function
- Adds default Wire1 pins auto-setup
- Add erase flash option to Arduino IDE menu
- Improves time for setting touch interrupt
Bugfixes
- Fixed instances where qspi has been renamed to qio in boards.txt
- CameraWebServer example fix
- Fixes Arduino Wire::begin overload
- Fixes LwIP INADDR_NONE conflict with softAPConfig()
- Fixes HardwareSerial::availableForWrite + setTxBufferSize
- LEDC 1-bit mode duty fix
- Fix partition names in board.txt
- FIX: Added erase flash menu to all boards
- Fixed CHANNEL in ESPNow example
- Fixes Cookie Case Sensitivity
New Boards & updates
- Add the new MiniMain ESP32-S2 board
- Add SparkFun IoT RedBoard
- Add lolin s3 board def
- Added Smart Bee Design Boards
- Add support for new unphone boards
- Add boards WiFiduinoV2&WiFiduino32S3
- Add newly board (Deneyap Kart G)
- [NINA-W1] more build menu options
- [NORA-W1] Fix SPI pin assignments to match Arduino pinout
- Add new variant ESP32 Thing Plus C. Update boards file
- Update Adafruit boards
- Create M5Station pins_arduino.h and M5Station Board
- Itsy bitsy esp32 board working
- TTGO T-OI-Plus: pins LED_BUILTIN & BAT_ADC_PIN
Documentation
- Docs: add FAQ entry about modifying sdkconfig options
- Doc addition: How to compile libs with different debug level
See all bug fixes in the complete changelog below.
What's Changed
See the complete changelog down below:
- Add 2.0.4 version to Issue report template by @P-R-O-C-H-Y in #6985
- Added dont_mount option to LittleFS conf initialization by @econeale in #6953
- tests: Add options. by @Ouss4 in #6916
- CameraWebServer example fix by @PilnyTomas in #6993
- Improve RGB driver in pull #6808; solves #6968 by @santaimpersonator in #6979
- Fixed instances where qspi has been renamed to qio in boards.txt by @lbernstone in #6962
- Allow access to the PWM channel assigned to the Pin. Opportunity to change PWM configurations by @VasilyRakche in #6992
- Added keywords.txt with RGB_BUILTIN into libraries/ESP32 by @PilnyTomas in #7015
- Added #include into BLEAdvertisedDevice.h by @PilnyTomas in #6990
- docs: add FAQ entry about modifying sdkconfig options by @igrr in #7036
- Fixes Arduino Wire::begin overload by @SuGlider in #7000
- Add the new MiniMain ESP32-S2 board created by Department of Alchemy. by @cubeinhabitant in #6963
- Add TXD2 and RXD2 pin definitions by @Tinyu-Zhao in #6989
- [NINA-W1] more build menu options by @mazgch in #7008
- Add new variant ESP32 Thing Plus C. Update boards file. by @SFE-Brudnerd in #7038
- Adds an error message to HardwareSerial::setPins() by @SuGlider in #7040
- [WIFI] ifdef check should match log_x function call by @mazgch in #7004
- added http code param to WebServer.streamFile (#6899) by @r-downing in #6995
- ./.github/scripts: Restore the build directory by @Ouss4 in #7037
- update Adafruit boards by @hathach in #7025
- Update WiFiGeneric.cpp by @zhangyanjiaoesp in #7044
- Adds Wire::setBufferSize function by @SuGlider in #7016
- WiFiClientSecure: Fix warning about missing PSK-based ciphersuites by @kohlschuetter in #7020
- Adds default Wire1 pins auto-setup by @SuGlider in #7034
- Fixes LwIP INADDR_NONE conflict with softAPConfig() by @SuGlider in #7059
- IDF release/v4.4 by @me-no-dev in #6994
- Fixes HardwareSerial::availableForWrite + setTxBufferSize by @SuGlider in #6998
- Add SparkFun IoT RedBoard by @sfe-SparkFro in #7085
- Changed Neopixel related static constants to #defines by @ChuckVanzant in #7080
- add lolin s3 board def by @wemos in #7094
- LEDC 1-bit mode duty fix. by @P-R-O-C-H-Y in #7079
- Added Smart Bee Design Boards by @strid3r21 in #7093
- Add full setsocketoption to WifiClient and WifiClientSecure by @20162026 in #7030
- Add erase flash option to Arduino IDE menu by @PilnyTomas in #7043
- Add support for new unphone boards by @garethhcoleman in #7058
- UpdateClass - speedup flash erase/writes by @vortigont in #7002
- Add support for new unphone boards by @garethhcoleman in #7109
- Improves time for setting touch interrupt by @SuGlider in #7099
- WebServer: rename & expose internal 'contentLength' variable for POSTโฆ by @WebDust21 in #7012
- Added NVS test sketch + test script by @P-R-O-C-H-Y in #6885
- Create M5Station pins_arduino.h and M5Station Board by @Tinyu-Zhao in #7101
- Fix partition names in board.txt by @P-R-O-C-H-Y in #7120
- FIX: Added erase flash menu to all boards by @P-R-O-C-H-Y in #7129
- Fixed CHANNEL in ESPNow example by @PilnyTomas in #7104
- Fixes Cookie Case Sensitivity by @SuGlider in #7112
- Enable configuring target variants by @kohlschuetter in #7019
- Update .gitignore by @kohlschuetter in #7021
- Update esptool to version 4.2.1 by @me-no-dev in #7127
- Update get.py to support python 3.10+ by @me-no-dev in #7166
- fixed names on the VID and PID for my boards in boards.txt by @strid3r21 in #7144
- Compile error if CONFIG_FREERTOS_HZ != 1000 by @egnor in #6955
- Adding u-blox NORA-W10 series (ESP32-S3) by @mazgch in #7191
- Fixed switch rename issue in examples espressif/esp-rainmaker#152 by @sanketwadekar in #7171
- Update PlatformIO build scripts by @valeros in #7200
- itsy bitsy esp32 board working :) by @ladyada in #7199
- add TAMC Termod S3 board variant by @TAMCTec in #7217
- [NORA-W1] Fix SPI pin assignments to match Arduino pinout. by @mazgch in #7208
- Get real Flash Chip Size via API call by @Jason2866 in #7159
- TTGO T-OI-Plus: pins LED_BUILTIN & BAT_ADC_PIN by @FedericoBusero in #7241
- Fixed the ability to change CHANNEL by @PilnyTomas in #7154
- Add default SPI pin definitions if not defined in pins_arduino.h by @P-R-O-C-H-Y in #7161
- USBHIDKeyboard: Fix 200ms delay for every key by @RefactorFactory in #7218
- Updated warning message displayed when building as IDF component by @PilnyTomas in #7220
- Add new ULP example for ESP32 by @SuGlider in #7221
- add flash frequency to patched firmware by @Jason2866 in #7230
- Get correct (real) Flash mode via API by @Jason2866 in #7239
- Fixed issue of device crashing in R...
ESP32 Arduino 2.0.4 based on ESP-IDF 4.4.1
Arduino ESP32 Version 2.0.4
The Arduino ESP32 version 2.0.4 based on the ESP-IDF v4.4.1 introduces new boards support, improvements, and bug fixes.
Changes
Here is a summary of the major changes.
- ESP-IDF upgrade to v4.4.1
Improvements
- Added documentation about the minimum security for connection
- Implemented a simple RGB driver via digitalWrite
- WireMaster example
- Refactor PlatformIO build scripts
- Added USB DFU and CDC tools guide in the documentation
- ADC fixes and improvements
- Added an option to skip image verification after OTA
- Improved String to print 64-bit integers
- Added DHCP Range Setup to APMode
- Update Kconfig to autoselect the proper running core
- Changed pinMode() default interrupt type DISABLED
Bugfixes
- Fixed failure paths not setting the socket to -1 consistently
- Fixed wrong #define for BUTTON
- Fixed BLE-related issues
- Fixed timerAttachInterrupt() and timerDetachInterrupt()
- Fixed TIMER timer_dev definition
- Fixed DNS Server Memory Leak when deleted
New Boards
- Added Wemos D1 Uno
- Added two more dfrobot boards
- Added add two more Feather S3s Adafruit boards
- Added Connaxio's Espoir board
Known Issues (from ESP-IDF)
Some ESP-IDF known issues may affect the Arduino ESP32 core. For a list of known issues on ESP-IDF, see the Known Issues in v4.4 in the ESP-IDF release notes.
See all bug fixes in the complete changelog below.
What's Changed
See the complete changelog down below:
- Upload component to the registry on any tag by @kumekay in #6688
- Fixes DNS Server Memory Leak when deleted by @SuGlider in #6707
- Fix TIMER timer_dev definition by @P-R-O-C-H-Y in #6716
- hil.yml: Run the Event-file job only when the PR is labeled or the by @Ouss4 in #6717
- Changed pinMode() default interrupt type DISABLED to previously set by @P-R-O-C-H-Y in #6695
- Added compiler.warning_flags to platform.txt; fixing #6118 by @PilnyTomas in #6596
- fixing beginTransaction() thread safety by @smarq8 in #6425
- fix: compiler warnings about printf-format for pointers in
esp32-hal-cpu.c
by @ankostis in #6705 - Adds Arduino standard macro-functions by @SuGlider in #6726
- Add support for NINA-W106 with bigger flash sizes by @mazgch in #6722
- Added overload on send to cleanly handle char arrays in WebServer by @lbernstone in #6721
- Bugfix WiFiGeneric - SoftAP DHCPServer Corrupt Log Entry by @mrengineer7777 in #6719
- Add new board XIAO_WIFI by @0hotpotman0 in #6702
- Update Kconfig to autoselect the proper running core by @me-no-dev in #6718
- Change SPI::transfer signature to match official Arduino API by @me-no-dev in #6734
- Adjustable Serial Event Task Stack Size And Priority by @gonzabrusco in #6685
- workflows/hil.yml: Don't run the scheduled HIL workflow on forks. by @Ouss4 in #6753
- Adds DHCP Range Setup to APMode by @SuGlider in #6731
- Extends String to print 64-bit integers by @SuGlider in #6768
- HW TEST - Timer by @P-R-O-C-H-Y in #6754
- Add option to skip image verification after OTA by @me-no-dev in #6779
- Update bootloaders with dont-append-digest by @me-no-dev in #6800
- adds verbose message for WPA3 by @SuGlider in #6812
- ADC fixes and improvements by @P-R-O-C-H-Y in #6799
- Doc: WiFi library description: remove specific mention of wifi encryption. by @Rotzbua in #6671
- BluetoothSerial : Re-set _isRemoteAddressSet to false if connect() fails by @h-actsafe in #6728
- SD library: reduce stack size requirement by 4k by moving work buffer to heap by @mazgch in #6745
- Fix timerAttachInterrupt() and timerDetachInterrupt() in esp32-hal-timer.c by @sweetlilmre in #6763
- workflows/upload-idf-component.yml: Fix the wildcard. by @Ouss4 in #6771
- Update littlefsbuilder.py by @sonictl in #6774
- Remove GCC -Wextra warnings from build process by @earlephilhower in #6782
- Remove nonexisting folder from include path by @maxgerhardt in #6798
- Fix linking to make initVariant() work by @maxgerhardt in #6809
- [UART/SERIAL] CTS / RTS pins were swapped in this API by @mazgch in #6816
- Add support for Connaxio's Espoir devboard by @ma-lalonde in #6822
- update adafruit boards tinyuf2 and partition scheme by @hathach in #6770
- [DOCS] Added partition table tutorial by @pedrominatel in #6758
- Fix fail to set single byte that contains the slave address by @me-no-dev in #6840
- Hide get.py download percent when not interactive by @earlephilhower in #6852
- wifi: fix esp32 dual antenna issue by @MaxwellAlan in #6841
- changed the board name Seeed XIAO wifi to XIAO esp32c3 by @0hotpotman0 in #6826
- [WiFiSTA] Remove duplicate setting of SSID and password. by @Rotzbua in #6825
- Feature/aw2eth by @patricklaf in #6829
- fixes BLE HID Battery Level Indicator by @SuGlider in #6864
- [DOCS] Added USB DFU and CDC tools guide by @pedrominatel in #6756
- [WiFi] Clarify arduino wifi debug output by @Rotzbua in #6907
- Fixes reading BLE Remote Descriptor by @SuGlider in #6903
- Fixing Tone; solving #6877 by @PilnyTomas in #6898
- fixes BLE and WiFi Debug log messages by @SuGlider in #6902
- Refactor PlatformIO build scripts by @valeros in #6887
- Doc: update wifi encryption description by @Rotzbua in #6880
- WireMaster example clarity by @Luuccc in #6844
- Implement simple RGB driver via digitalWrite; solving #6783 by @PilnyTomas in #6808
- Added maxOpenFiles to SDMMC by @lbernstone in #6912
- Doc: Update deprecation of
setAutoConnect
, etc.. by @Rotzbua in #6908 - add two more feather S3s by @ladyada in #6881
- Fixes BLE Server descriptor update by @SuGlider in #6919
- Doc: Add doc about minimum security for connection to AP by @Rotzbua in #6909
- Add two more dfrobot microcontroller board definitions by @wxzed in #6890
- Fixes wrong #define for BUTTON by @SuGlider in #6941
- Add Wemos D1 Uno R32 by @jerry-jho in #6944
- IDF release/v4.4 by @me-no-dev in #6910
- Fixed failure paths not setting socket to -1 consistently, changed close to lwip_close to resolve assert by @Anx2k in #6942
- WIP; Reworked HiFreq_ADC example; Closing #6832 by @PilnyTomas in #6917
- Rainmaker library extension by @sivar2311 in #6813
New Contributors
A special thank you to all new contributors!
- @kumekay made their first contribution in #6688
- @smarq8 made their first contribution in #6425
- @0hotpotman0 made their first contribution in #6702
- @h-actsafe made their first contribution in #6728
- @sweetlilmre made their first contribution in #6763
- @sonictl made their first contribution in #6774
- @ma-lalonde made their...
ESP32 Arduino 2.0.3 based on ESP-IDF 4.4.1
Arduino ESP32 Version 2.0.3
The Arduino ESP32 version 2.0.3 based on the ESP-IDF v4.4 introduces the support for the ESP32-S3, new boards support, new APIs and refactoring improvements, and bug fixes.
About the ESP32-S3
Announced by Espressif in 2020, the ESP32-S3 is a dual-core XTensa LX7 MCU, capable of running at 240 MHz, 512 KB of internal SRAM, integrated 2.4 GHz, 802.11 b/g/n Wi-Fi and Bluetooth 5 (LE) connectivity, 45 programmable GPIOs and supports a rich set of peripherals.
To know more about the ESP32-S3, see the product page here.
Changes
Here is a summary of the major changes.
New Peripherals Support and Refactoring (ESP-IDF APIs based)
- ESP32-S3 support added
- Added ESP-SR support
- GPIO
- Touch
Improvements
- ESP-IDF release/v4.4
- Toolchain updated to gcc8_4_0-esp-2021r2-patch3
- New boards support was added
- New documentation chapters added
- Added support for the Dual-Antenna and ESP32-WROOM-DA
- RainMaker support for ESP32-S2, ESP32-S3, and ESP32-C3
- Update IDF libs and mbedtls options
- CI improvements
- KSZ8041 support
- Add cookie support on HttpClient
- New documentation chapters and tutorial
Bugfixes
- Fix bootloop issue and enable DSP optimization
- Fixes on UART
- Fix Ethernet clock runtime setting
- Fixes on LEDC
- Fix SD mount issue
- Fixed String(float) issue
- Fixed UART MODBUS and Loopback issue
- Fixed interrupts in LEDC
- Fixed SD mount issue and check status
- Fixes on USB CDC
Known Issues (from ESP-IDF)
Some ESP-IDF known issues may affect the Arduino ESP32 core. For a list of known issues on ESP-IDF, see the Known Issues in v4.4 in the ESP-IDF release notes.
See all bug fixes in the complete changelog below.
What's Changed
See the complete changelog down below:
- Fixes String(float) issue with Stack Smashing by @SuGlider in #6138
- Allows user to bypass PSRAM test and boot faster with WROVER by @SuGlider in #6135
- Fixes UART MODBUS and Loopback issue by @SuGlider in #6133
- Adds UART RX IRQ Callback with onReceive() by @SuGlider in #6134
- NTP Examples: revert obsolete comment and updated Time example by @vortigont in #6073
- Add variantInit setups for adafruit boards by @ladyada in #6076
- Print.flush() - Arduino API conformance by @JAndrassy in #6084
- Add KSZ8041 support by @Darek7D in #6087
- BUGFIX - Sd check status by @P-R-O-C-H-Y in #6103
- Versions and feature Request Template updates by @VojtechBartoska in #6096
- Fix I2C Slave Compile by @mrengineer7777 in #6108
- Consistently change device index to singed integer in BluetoothSerial lib by @iltis42 in #6109
- WIFI STA AutoReconnect fix for assocfail reason, Proposed fix for #2501 by @tablatronix in #6113
- Add Core Debug Level option to Tools menu for all boards in boards.txt by @gcweeks in #6110
- ci: Miscellaneous improvements by @Ouss4 in #6132
- IDF release/v4.4 by @me-no-dev in #6075
- Implement Ticker::active() by @everslick in #6148
- Add LionBit Dev Board. by @niwantha33 in #6151
- Add certificate bundle capability to WiFiClientSecure by @esp32wrangler in #6106
- Rename file pins_Arduino.h to pins_arduino.h by @P-R-O-C-H-Y in #6153
- Fix variant definition for w32-eth01 by @me-no-dev in #6159
- Fixing interrupts in LEDC by @P-R-O-C-H-Y in #6160
- Add Watchy board by @sqfmi in #6158
- .github/scripts: Fix indentation and trailing spaces. by @Ouss4 in #6157
- Fixes UART1 and UART2 default pins for ESP32-S3 by @SuGlider in #6202
- Fix - SD mount issue by @P-R-O-C-H-Y in #6162
- [SSL] fix: restoring handshake timeout by @vlastahajek in #6166
- Use 8.4.0+2021r2-patch2 toolchains for CI by @Jason2866 in #6184
- Fixes onReceive deadlock by @SuGlider in #6201
- added explanatory comments to WebServer.h by @h-enes-simsek in #6204
- Add conditional include to WiFiProv.h by @mrengineer7777 in #6192
- Resolve WString TODO by @mrengineer7777 in #6190
- Allow HTTPCLIENT_1_1_COMPATIBLE to be disabled by @everslick in #6200
- Update RequestHandlersImpl.h to enable serveStatic on folders with LittleFS. by @mathertel in #6179
- Refactor the CI scripts by @Ouss4 in #6191
- Fix random CaptivePortal.ino crashes by @im-pro-at in #6206
- Docs cleanup and version updated to 2.0.2 by @pedrominatel in #6213
- Unnecessary operation removed from map() in WMath.cpp by @IanSC in #6218
- Update of CameraWebServer example by @renebohne in #6219
- Touch Sensor IDF Refactoring by @SuGlider in #6194
- Fix String.replace() broken by #6190 by @s-hadinger in #6224
- Add Github action for uploading arduino-esp32 component. by @magicarm22 in #6203
- add feather esp32 v2 and qtpy c3 board def by @ladyada in #6223
- Added dual antenna for WiFi (based on the ESP32-WROOM-DA module) by @pedrominatel in #6226
- Remove pinMode in ledc for ESP32C3 by @P-R-O-C-H-Y in #6229
- Fixes Touch Sensor for ESP32-S3 and any future SoC by @SuGlider in #6234
- HttpClient: Add cookie support (cookie jar) by @mattsches1 in #6216
- Support the updated MbedTLS in ESP-IDF v4.4 by @me-no-dev in #6243
- Fix compile with Arduino lib builder by @Jason2866 in #6244
- Fix CDC+JTAG is disabled when WiFi is used on ESP32-C3 by @me-no-dev in #6287
- Fix Check for _cookieJar in HTTPClient (#6266) by @bbsan2k in #6280
- Installing.rst_update by @VojtechBartoska in #6292
- Fixes softAPConfig() return by @SuGlider in #6294
- Adds BLE examples to ESP32-C3 CI cycle by @SuGlider in #6285
- Add Ethernet to CMakeLists by @copercini in #6261
- GPIO refactoring by @P-R-O-C-H-Y in #6259
- Added documentation for the Arduino IDE tools menu by @pedrominatel in #6284
- ADC esp32s2 attenuation fix for DAC pins by @P-R-O-C-H-Y in #6282
- Fixes UART pin setting + adds CTS/RTS HW Flow Control by @SuGlider in #6272
- fixed http.end taking too long by @yigitabi5444 in #6277
- add lolin c3 mini board def by @wemos in #6306
- (boards.txt) Add partition scheme menu for AI Thinker ESP-CAM boards by @Hacker-3000 in #6310
- The M5Core2 and M5Tough have 40 pins by @pgrawehr in #6315
- add lolin s2 mini board def by @wemos in #6320
- Make USBHIDKeyboard::sendReport() public by @tobozo in #6322
- Update doc: Arduino as IDF component; fixes #5833 by @PilnyTomas in #6299
- Added ADC API doc + simple example by @P-R-O-C-H-Y in #6301
- [Docs] Added more details about embedded FLASH and PSRAM on ESP32-S3. by @pedrominatel in #6321
- LEDC & SigmaDelta documentation by @P-R-O-C-H-Y in #6330
- [Docs] Timer API documentation by @P-R-O-C-H-Y in #6335
- [Docs] DAC API documentation by @P-R-O-C-H-Y in ht...
ESP32 Arduino 2.0.3-RC1 based on ESP-IDF 4.4 c29343eb94
Arduino ESP32 Version 2.0.3-RC1
The Arduino ESP32 version 2.0.3 based on the ESP-IDF v4.4 introduces the support for the ESP32-S3, new boards support, new APIs and refactoring, improvements, and bug fixes.
About the ESP32-S3
Announced by Espressif in 2020, the ESP32-S3 is a dual-core XTensa LX7 MCU, capable of running at 240 MHz, 512 KB of internal SRAM, integrated 2.4 GHz, 802.11 b/g/n Wi-Fi and Bluetooth 5 (LE) connectivity, 45 programmable GPIOs and supports a rich set of peripherals.
To know more about the ESP32-S3, see the product page here.
Changes
Here is a summary of the major changes.
New Peripherals Support and Refactoring (ESP-IDF APIs based)
- ESP32-S3 support added
- Added ESP-SR support
- GPIO
- Touch
Improvements
- ESP-IDF release/v4.4
- Toolchain updated to gcc8_4_0-esp-2021r2-patch3
- New boards support was added
- New documentation chapters added
- Added support for the Dual-Antenna and ESP32-WROOM-DA
- RainMaker support for ESP32-S2, ESP32-S3, and ESP32-C3
- Update IDF libs and mbedtls options
- CI improvements
- KSZ8041 support
- Add cookie support on HttpClient
- New documentation chapters and tutorial
Bugfixes
- Fix bootloop issue and enable DSP optimization
- Fixes on UART
- Fix Ethernet clock runtime setting
- Fixes on LEDC
- Fix SD mount issue
- Fixed String(float) issue
- Fixed UART MODBUS and Loopback issue
- Fixed interrupts in LEDC
- Fixed SD mount issue
Known Issues (from ESP-IDF)
Some ESP-IDF known issues may affect the Arduino ESP32 core. For a list of known issues on ESP-IDF, see the Known Issues in v4.4 in the ESP-IDF release notes.
See all bug fixes in the complete changelog below.
What's Changed
See the complete changelog down below:
- Fixes String(float) issue with Stack Smashing by @SuGlider in #6138
- Allows user to bypass PSRAM test and boot faster with WROVER by @SuGlider in #6135
- Fixes UART MODBUS and Loopback issue by @SuGlider in #6133
- Adds UART RX IRQ Callback with onReceive() by @SuGlider in #6134
- NTP Examples: revert obsolete comment and updated Time example by @vortigont in #6073
- Add variantInit setups for adafruit boards by @ladyada in #6076
- Print.flush() - Arduino API conformance by @JAndrassy in #6084
- Add KSZ8041 support by @Darek7D in #6087
- BUGFIX - Sd check status by @P-R-O-C-H-Y in #6103
- Versions and feature Request Template updates by @VojtechBartoska in #6096
- Fix I2C Slave Compile by @mrengineer7777 in #6108
- Consistently change device index to singed integer in BluetoothSerial lib by @iltis42 in #6109
- WIFI STA AutoReconnect fix for assocfail reason, Proposed fix for #2501 by @tablatronix in #6113
- Add Core Debug Level option to Tools menu for all boards in boards.txt by @gcweeks in #6110
- ci: Miscellaneous improvements by @Ouss4 in #6132
- IDF release/v4.4 by @me-no-dev in #6075
- Implement Ticker::active() by @everslick in #6148
- Add LionBit Dev Board. by @niwantha33 in #6151
- Add certificate bundle capability to WiFiClientSecure by @esp32wrangler in #6106
- Rename file pins_Arduino.h to pins_arduino.h by @P-R-O-C-H-Y in #6153
- Fix variant definition for w32-eth01 by @me-no-dev in #6159
- Fixing interrupts in LEDC by @P-R-O-C-H-Y in #6160
- Add Watchy board by @sqfmi in #6158
- .github/scripts: Fix indentation and trailing spaces. by @Ouss4 in #6157
- Fixes UART1 and UART2 default pins for ESP32-S3 by @SuGlider in #6202
- Fix - SD mount issue by @P-R-O-C-H-Y in #6162
- [SSL] fix: restoring handshake timeout by @vlastahajek in #6166
- Use 8.4.0+2021r2-patch2 toolchains for CI by @Jason2866 in #6184
- Fixes onReceive deadlock by @SuGlider in #6201
- added explanatory comments to WebServer.h by @h-enes-simsek in #6204
- Add conditional include to WiFiProv.h by @mrengineer7777 in #6192
- Resolve WString TODO by @mrengineer7777 in #6190
- Allow HTTPCLIENT_1_1_COMPATIBLE to be disabled by @everslick in #6200
- Update RequestHandlersImpl.h to enable serveStatic on folders with LittleFS. by @mathertel in #6179
- Refactor the CI scripts by @Ouss4 in #6191
- Fix random CaptivePortal.ino crashes by @im-pro-at in #6206
- Docs cleanup and version updated to 2.0.2 by @pedrominatel in #6213
- Unnecessary operation removed from map() in WMath.cpp by @IanSC in #6218
- Update of CameraWebServer example by @renebohne in #6219
- Touch Sensor IDF Refactoring by @SuGlider in #6194
- Fix String.replace() broken by #6190 by @s-hadinger in #6224
- Add Github action for uploading arduino-esp32 component. by @magicarm22 in #6203
- add feather esp32 v2 and qtpy c3 board def by @ladyada in #6223
- Added dual antenna for WiFi (based on the ESP32-WROOM-DA module) by @pedrominatel in #6226
- Remove pinMode in ledc for ESP32C3 by @P-R-O-C-H-Y in #6229
- Fixes Touch Sensor for ESP32-S3 and any future SoC by @SuGlider in #6234
- HttpClient: Add cookie support (cookie jar) by @mattsches1 in #6216
- Support the updated MbedTLS in ESP-IDF v4.4 by @me-no-dev in #6243
- Fix compile with Arduino lib builder by @Jason2866 in #6244
- Fix CDC+JTAG is disabled when WiFi is used on ESP32-C3 by @me-no-dev in #6287
- Fix Check for _cookieJar in HTTPClient (#6266) by @bbsan2k in #6280
- Installing.rst_update by @VojtechBartoska in #6292
- Fixes softAPConfig() return by @SuGlider in #6294
- Adds BLE examples to ESP32-C3 CI cycle by @SuGlider in #6285
- Add Ethernet to CMakeLists by @copercini in #6261
- GPIO refactoring by @P-R-O-C-H-Y in #6259
- Added documentation for the Arduino IDE tools menu by @pedrominatel in #6284
- ADC esp32s2 attenuation fix for DAC pins by @P-R-O-C-H-Y in #6282
- Fixes UART pin setting + adds CTS/RTS HW Flow Control by @SuGlider in #6272
- fixed http.end taking too long by @yigitabi5444 in #6277
- add lolin c3 mini board def by @wemos in #6306
- (boards.txt) Add partition scheme menu for AI Thinker ESP-CAM boards by @Hacker-3000 in #6310
- The M5Core2 and M5Tough have 40 pins by @pgrawehr in #6315
- add lolin s2 mini board def by @wemos in #6320
- Make USBHIDKeyboard::sendReport() public by @tobozo in #6322
- Update doc: Arduino as IDF component; fixes #5833 by @PilnyTomas in #6299
- Added ADC API doc + simple example by @P-R-O-C-H-Y in #6301
- [Docs] Added more details about embedded FLASH and PSRAM on ESP32-S3. by @pedrominatel in #6321
- LEDC & SigmaDelta documentation by @P-R-O-C-H-Y in #6330
- [Docs] Timer API documentation by @P-R-O-C-H-Y in #6335
- [Docs] DAC API documentation by @P-R-O-C-H-Y in https://github.com/espressif/ardui...
ESP32 Arduino 2.0.2 based on ESP-IDF 4.4-beta1
The Arduino ESP32 version 2.0.2 based on the ESP-IDF v4.4-beta1 includes mainly peripheral APIs refactoring, improvements and bug fixes.
Here is a summary of the major changes.
Peripherals refactored to use ESP-IDF APIs:
- Timer
- LedC
- DAC
- RMT
- SigmaDelta
Improvements:
- Boards added and some updated (TTGO-LoRa32, Adafruit boards, DPU ESP32...)
- Added Sonoff DUALR3 support with RainMaker example
- GPIO defines for C3 added
- Github CLI workflow updates
- Added support to change LoopTask Stack size
- New Documentation added (USB, GPIO, Arduino as component)
Bugfixes:
- I2C Clock stretching
- SD card status check
- Baudrate with CPU Freq < 80MHz
- SetCpuFrequencyMhz() changes Serial bauds if frequency<80Mhz
- Lib Builder compiling errors
- WiFiSecureClient memory leaks when SSL/TLS connection fails
- Change default WiFi STA encryption to WIFI_AUTH_WPA2_PSK
- Forces UART Flush() to wait until all bits are sent
See all bug fixes in the complete changelog below.
What's Changed
See the complete changelog down below:
- Fix compiler.libraries.ldflags Option by @tanakamasayuki in #5866
- [Docs] Add link to supported soc list on README and ESP32-S3 datasheet by @pedrominatel in #5891
- Fix compilation error of Deneyap Mini Board by @zeynepdicle in #5903
- cbuf: allow inheritance by @FrankBoesing in #5883
- Fix I2C clock stretching issue with ESP32 by @me-no-dev in #5910
- IDF release/v4.4 by @me-no-dev in #5911
- [DOCS] Editing usage of Arduino as a component in ESP-IDF by @P-R-O-C-H-Y in #5896
- [Docs] Update on the Windows install procedures by @pedrominatel in #6018
- Update boards.txt for Adafruit Feather ESP32-S2 by @hathach in #6006
- SD Card status check fix by @P-R-O-C-H-Y in #5988
- Delete .travis.yml file. by @Ouss4 in #5987
- Correct the execute bit of some files. by @Ouss4 in #5986
- .github/workflows: Update checkout and setup-python actions to their V2 version. by @Ouss4 in #5985
- Update Boards.txt by @woodif in #5984
- Prevent self hosted jobs to run on forks. by @Ouss4 in #5983
- [Feature] Added Sonoff DUALR3 support with RainMaker example by @pedrominatel in #5980
- Merged all TTGO-LoRa32 Board profiles (see #5933) by @tobozo in #5961
- Use WIFI_FAST_SCAN if a specific channel was used by @obaterspok in #5975
- Don't clear custom HTTP headers on redirect in HTTPClient by @wojtekka in #5973
- add board variant for WT32-ETH01 (wt32-eth01) from Wireless-Tag by @mondbaron in #5946
- [DOCS] Writing a new Arduino documentation about GPIO by @halyssonJr in #5894
- Implement Timer based on ESP-IDF API by @P-R-O-C-H-Y in #5931
- MD5Builder update for esp_rom API usage by @atanisoft in #5941
- Add DPU ESP32 variant by @TAMCTec in #5884
- Fix for BluetoothSerial build when using nimBLE instead of Bluedroid by @JakubRybakowski in #5920
- Fix WiFiSecureClient memory leaks when SSL/TLS connection fails by @ppescher in #5945
- Adding Issue and Feature template by @VojtechBartoska in #5999
- using ksz8081 only from ESP-IDF 4.4 onwards by @vitorrussi in #5918
- Refactoring TwoWire::requestFrom() headers in Wire.cpp by @Maelstrom96 in #5935
- IDF release/v4.4 by @me-no-dev in #5996
- Add some more adafruit boards and fix some board typos by @ladyada in #6014
- Change default WiFi STA encryption to WIFI_AUTH_WPA2_PSK by @me-no-dev in #6022
- Implement DAC based on ESP-IDF API by @P-R-O-C-H-Y in #5959
- Forces UART Flush() to wait until all bits are sent by @SuGlider in #6026
- Adds support to change LoopTask Stack size by @SuGlider in #6025
- [Fix] Added the Win32 not supported notice/warning by @pedrominatel in #6031
- fix variant wt32-eth01 (initializer not constant) by @mondbaron in #6040
- HID_BRAILLE_DISPLAY by @discapacidad5 in #6043
- Implement LEDC based on ESP-IDF API by @P-R-O-C-H-Y in #6045
- Fixes baudrate with CPU Freq < 80MHz by @SuGlider in #6037
- [Docs] Added USB documentation by @pedrominatel in #6036
- [Examples] README revision to include missing and remove old entries by @pedrominatel in #6049
- RMT refactoring based on IDF by @SuGlider in #6024
- IDF release/v4.4 by @me-no-dev in #6048
- Update pinout for two adafruit boards by @ladyada in #6050
- add GPIO defines for C3 by @NiklasVoigt in #6005
- Fixes Lib Builder compiling errors by @SuGlider in #6052
- Implement SigmaDelta based on ESP-IDF API by @P-R-O-C-H-Y in #6053
New Contributors
A special thank you to all new contributors!
- @Ouss4 made their first contribution in #5987
- @obaterspok made their first contribution in #5975
- @wojtekka made their first contribution in #5973
- @mondbaron made their first contribution in #5946
- @halyssonJr made their first contribution in #5894
- @TAMCTec made their first contribution in #5884
- @JakubRybakowski made their first contribution in #5920
- @vitorrussi made their first contribution in #5918
- @Maelstrom96 made their first contribution in #5935
- @discapacidad5 made their first contribution in #6043
- @NiklasVoigt made their first contribution in #6005
Full Changelog: 2.0.1...2.0.2
To see how to contribute to the Arduino ESP32 project, see this reference: Contributing
ESP32 Arduino 2.0.1 based on ESP-IDF 4.4
The Arduino ESP32 version 2.0.1, based on the master ESP-IDF development branch, is out. This new version adds new functionalities, improvements, and bug fixes.
Here is a summary of the major changes and new features added.
On peripherals:
- Serial now uses ESP-IDF API
- Wire now uses ESP-IDF API and works on all supported chips
- Wire-Slave is now implemented
- analogWrite basic support based on LEDC
Improvements:
- Smaller memory footprint (smaller than even v1.0.6)
- Improved USB-CDC support for both ESP32-S2 and ESP32-C3
- Added more information on the docs, including the blink tutorial
- Added the I2C library documentation
- Minor improvements on SPI, SD/MMC, SSL, etc
- Added ALPN support
Bugfixes:
- Several boards definitions are fixed (boards.txt).
- Fix on build error with verbose log
- Fixed error messages on Static IP using Ethernet
See all bug fixes in the complete changelog below.
What's Changed
See the complete changelog down below:
- Supported devices table updated due the 2.0.0 release by @pedrominatel in #5616
- Add dummy test for self hosted GitHub runners by @tomassebestik in #5521
- [USB CDC] Fix data might not be transmitted until more is written by @me-no-dev in #5652
- [HWCDC] Improve HW CDC Implementation by @me-no-dev in #5643
- Update README.MD - "Type: For reference" labels link by @VojtechBartoska in #5619
- Docs integration with Wokwi - Blink Tutorial by @pedrominatel in #5685
- TTGO T-OI PLUS RISC-V ESP32-C3 Development Board Added by @thambirm in #5576
- Update ESP.getChipModel() to support ESP32-S2 by @kintel in #5598
- only use ksz8081 for idf versions later than 4.3 (this fixes compile as component for idf 4.3) by @liebman in #5599
- Fixes boards.txt entries for the atmegazero_esp32s2, and also the plaโฆ by @eddieespinal in #5673
- SD_MMC max_freq_khz is set to HIGHSPEED by default by @dizcza in #5631
- Append '/' to an URL with empty path in HTTPClient::begin by @long-long-float in #5634
- Fix compilation of HardwareSerial.cpp by @everslick in #5677
- Enable progress bar on ArduinoOTA upload (platform.txt) by @tbertels in #5657
- Return size_t instead of uint8_t from BLECharacteristic::getLength().โฆ by @felixcollins in #5687
- SDMMC frequency selection based on board type by @dukess in #5688
- fix off-by-one error in cores/esp32/libb64/cdecode.c by @kokke in #5648
- Fix analogWidth for ESP32S2 in esp32-hal-adc.c by @caternuson in #5711
- update Adafruit ESP32-S2 boards variants (feather, funhouse, magtag, metro) by @hathach in #5718
- include pin_arduino.h for variant USB defines by @hathach in #5719
- SD.open() new feature for creating all folders in path by @P-R-O-C-H-Y in #5721
- Added comment for user clarity in SDWebserver example by @akym in #5724
- Implement Thread-Safe I2C based on ESP-IDF API by @me-no-dev in #5683
- IDF master by @me-no-dev in #5479
- Remove git submodule update by @Michal-Szczepaniak in #5696
- Fix: SD_MMC deinit by @P-R-O-C-H-Y in #5732
- Fix build error when compiling with verbose logging by @urish in #5747
- Add support M5Stack Unit CAM by @otakuto in #5748
- feat: Add the ability to get the peer certificate of an SSL connection by @dirkx in #5744
- [Docs] Added Python is missing on the troubleshooting section by @pedrominatel in #5753
- IDF master by @me-no-dev in #5761
- I2C Slave Implementation by @me-no-dev in #5746
- IDF master by @me-no-dev in #5792
- libraries/SPI/src/SPI.h: SPIClass: add method to get SS pin number by @michlv in #5788
- Allows spiram malloc with wifi dynamic buffers - better free heap by @SuGlider in #5791
- removes deprecated esp_eth_set_default_handlers() by @SuGlider in #5795
- log statement missing parameter #5778 by @SuGlider in #5796
- analogRead() return value according to value set in analogReadResolution() by @P-R-O-C-H-Y in #5776
- IDF release/v4.4 by @me-no-dev in #5801
- Correct CDC on boot custom menu for Deneyap Mini by @stonehippo in #5767
- Remove
_user_defined_size
fromEEPROMClass
andEEPROM::length()
just returns_size
by @hideakitai in #5775 - Add ALPN support to WiFiClientSecure by @torntrousers in #5633
- yay for esp32-s2 mini module with PSRAM :) by @ladyada in #5811
- IDF release/v4.4 by @me-no-dev in #5814
- fix double promotions in rmtSetTick() by @FrankBoesing in #5847
- Fix double promotion in Stream::parseFloat() by @FrankBoesing in #5846
- Support additional authorization schemes by @Scott8440 in #5845
- Allow use of log_x() in if by @FrankBoesing in #5844
- [Docs] Added supported peripherals list on libraries section by @pedrominatel in #5829
- [Docs] Added useStaticBuffers function description by @pedrominatel in #5820
- [Docs] Added I2C driver docs by @pedrominatel in #5770
- [Examples] WiFi and Ethernet examples organization by @pedrominatel in #5830
- Solving "wifi:channel=0 is invalid" when using FTM example code by adjusting default channel in WiFiGeneric.h by @bestaar in #5809
- [FEATURE] add -D ARDUINO_PARTITION_xxx build flag to platform.txt by @tobozo in #5804
- Add precompiled by @tanakamasayuki in #5854
- [Docs] Peripheral list updated to include all supported SoCs by @pedrominatel in #5851
- Add another Wire requestFrom function signature by @torntrousers in #5768
- eliminates error messages when using Ethernet Static IP by @SuGlider in #5836
- Add basic analogWrite support based on LEDC by @me-no-dev in #5861
New Contributors
A special thank you to all new contributors!
- @tomassebestik made their first contribution in #5521
- @thambirm made their first contribution in #5576
- @kintel made their first contribution in #5598
- @liebman made their first contribution in #5599
- @dizcza made their first contribution in #5631
- @long-long-float made their first contribution in #5634
- @tbertels made their first contribution in #5657
- @felixcollins made their first contribution in #5687
- @dukess made their first contribution in #5688
- @kokke made their first contribution in #5648
- @caternuson made their first contribution in #5711
- @P-R-O-C-H-Y made their first contribution in #5721
- @akym made their first contribution in #5724
- @Michal-Szczepaniak made their first contribution in #5696
- @urish made their first contribution in #5747
- @otakuto made their first contribution in #5748
- @michlv made their first contribution in https://github.com/espressif/arduino-e...
ESP32 Arduino 2.0.1 RC1 based on ESP-IDF 4.4
The Arduino ESP32 version 2.0.1, based on the master ESP-IDF development branch, is out. This new version adds new functionalities, improvements, and bug fixes.
Here is a summary of the major changes and new features added.
On peripherals:
- Serial now uses ESP-IDF API
- Wire now uses ESP-IDF API and works on all supported chips
- Wire-Slave is now implemented
Improvements:
- Smaller memory footprint (smaller than even v1.0.6)
- Improved USB-CDC support for both ESP32-S2 and ESP32-C3
- Added more information on the docs, including the blink tutorial
- Minor improvements on SPI, SD/MMC, SSL, etc
- Added ALPN support
Bug fixes:
- Several boards definitions are fixed (boards.txt).
- Fix on build error with verbose log
What's Changed
See the complete change log down below:
- Supported devices table updated due the 2.0.0 release by @pedrominatel in #5616
- Add dummy test for self hosted GitHub runners by @tomassebestik in #5521
- [USB CDC] Fix data might not be transmitted until more is written by @me-no-dev in #5652
- [HWCDC] Improve HW CDC Implementation by @me-no-dev in #5643
- Update README.MD - "Type: For reference" labels link by @VojtechBartoska in #5619
- Docs integration with Wokwi - Blink Tutorial by @pedrominatel in #5685
- TTGO T-OI PLUS RISC-V ESP32-C3 Development Board Added by @thambirm in #5576
- Update ESP.getChipModel() to support ESP32-S2 by @kintel in #5598
- only use ksz8081 for idf versions later than 4.3 (this fixes compile as component for idf 4.3) by @liebman in #5599
- Fixes boards.txt entries for the atmegazero_esp32s2, and also the plaโฆ by @eddieespinal in #5673
- SD_MMC max_freq_khz is set to HIGHSPEED by default by @dizcza in #5631
- Append '/' to an URL with empty path in HTTPClient::begin by @long-long-float in #5634
- Fix compilation of HardwareSerial.cpp by @everslick in #5677
- Enable progress bar on ArduinoOTA upload (platform.txt) by @tbertels in #5657
- Return size_t instead of uint8_t from BLECharacteristic::getLength().โฆ by @felixcollins in #5687
- SDMMC frequency selection based on board type by @dukess in #5688
- fix off-by-one error in cores/esp32/libb64/cdecode.c by @kokke in #5648
- Fix analogWidth for ESP32S2 in esp32-hal-adc.c by @caternuson in #5711
- update Adafruit ESP32-S2 boards variants (feather, funhouse, magtag, metro) by @hathach in #5718
- include pin_arduino.h for variant USB defines by @hathach in #5719
- SD.open() new feature for creating all folders in path by @P-R-O-C-H-Y in #5721
- Added comment for user clarity in SDWebserver example by @akym in #5724
- Implement Thread-Safe I2C based on ESP-IDF API by @me-no-dev in #5683
- IDF master by @me-no-dev in #5479
- Remove git submodule update by @Michal-Szczepaniak in #5696
- Fix: SD_MMC deinit by @P-R-O-C-H-Y in #5732
- Fix build error when compiling with verbose logging by @urish in #5747
- Add support M5Stack Unit CAM by @otakuto in #5748
- feat: Add the ability to get the peer certificate of an SSL connection by @dirkx in #5744
- [Docs] Added Python is missing on the troubleshooting section by @pedrominatel in #5753
- IDF master by @me-no-dev in #5761
- I2C Slave Implementation by @me-no-dev in #5746
- IDF master by @me-no-dev in #5792
- libraries/SPI/src/SPI.h: SPIClass: add method to get SS pin number by @michlv in #5788
- Allows spiram malloc with wifi dynamic buffers - better free heap by @SuGlider in #5791
- removes deprecated esp_eth_set_default_handlers() by @SuGlider in #5795
- log statement missing parameter #5778 by @SuGlider in #5796
- analogRead() return value according to value set in analogReadResolution() by @P-R-O-C-H-Y in #5776
- IDF release/v4.4 by @me-no-dev in #5801
- Correct CDC on boot custom menu for Deneyap Mini by @stonehippo in #5767
- Remove
_user_defined_size
fromEEPROMClass
andEEPROM::length()
just returns_size
by @hideakitai in #5775 - Add ALPN support to WiFiClientSecure by @torntrousers in #5633
New Contributors
A special thank you to all new contributors!
- @tomassebestik made their first contribution in #5521
- @thambirm made their first contribution in #5576
- @kintel made their first contribution in #5598
- @liebman made their first contribution in #5599
- @dizcza made their first contribution in #5631
- @long-long-float made their first contribution in #5634
- @tbertels made their first contribution in #5657
- @felixcollins made their first contribution in #5687
- @dukess made their first contribution in #5688
- @kokke made their first contribution in #5648
- @caternuson made their first contribution in #5711
- @P-R-O-C-H-Y made their first contribution in #5721
- @akym made their first contribution in #5724
- @Michal-Szczepaniak made their first contribution in #5696
- @urish made their first contribution in #5747
- @otakuto made their first contribution in #5748
- @michlv made their first contribution in #5788
- @stonehippo made their first contribution in #5767
- @hideakitai made their first contribution in #5775
- @torntrousers made their first contribution in #5633
Full Changelog: 2.0.0...2.0.1-RC1
To see how to contribute to the Arduino ESP32 project, see this reference: Contributing.
ESP32 Arduino 2.0.0 based on the latest development version of ESP-IDF
Summary of Major Changes and New Features Added
- Support for ESP32-S2.
- Support for ESP32-C3.
- Upload over CDC.
- Support for the KSZ8081 (Ethernet PHY).
- LittleFS update for partition label and multiple partitions.
- Added support for RainMaker.
- BLE5 features for ESP32-C3 (ESP32-S3 ready).
- ESPTOOL update.
- Added FTM support.
- Online Documentation added. See here.
- USB MSC and HID support (ESP32-S2 only).
- UART refactoring (SerialHardware).
- New examples.
- Boards added.
- Bugs fixed.
For more details check the list of Commits below.
Commits
- 44c11981 Added UM FeatherS2 Neo to boards.txt and added appropriate variants. (#5615)
- 9eea85f9 Check if m_pServerCallbacks is not null before calling method. (#5603)
- 24b76cbb Add string constructor and concat routines taking explicit length args (#5586)
- 4a55ff97 Add support for the hardware CDC in ESP32-C3 (#5614)
- a62979d8 Add missing upload.flags (#5589)
- 1f59c5ab Adds HardwareSerial::setRxBufferSize() (#5583)
- 0730e0ec Include nvs_commit() on three methods (#5309)
- c45cff5f Implement USB HID Device Support for ESP32-S2 (#5538)
- b1d072df Implements UART SerialHardware Refactoring on top of IDF (#5549)
- 929cf2c2 Add ATMegaZero ESP32-S2 microcontroller (#5569)
- 87853353 Add SparkFun ESP32 MicroMod microcontroller (#5556)
- e265bd0d Add new board (Deneyap Mini) (#5531)
- 94809ce3 fix: timerRead() is returning the last read value, not the actual #3434 (#5498)
- 29455a04 Fix issue #5507 "Constructor WebServer::WebServer(IPAddress addr, intโฆ (#5509)
- 78499c45 Added Franzininho WiFi board support (#5570)
- ce680708 Fixed the external link to a new tab (LOLIN boards) (#5571)
- 90c01dab Fix build error in ESP-IDF
- 000d967d Merge pull request #5547 from pedrominatel/docs/wemos_boards
- 44dd99f5 Merge branch 'master' into docs/wemos_boards
- b580bb23 Add log_buf to pretty print buffers
- a7ea737f Added LOLIN boards o the boards list.
- 2af8cc34 Fixes Touchpad Interrupt (#5527)
- e5bd18d6 Fix I2C Scan for S2 and C3 (#5528)
- a4118ea8 Add ET-Board BUILTIN_LED pin (#5490)
- c4fcab28 Fix issue #5506 "WebServer serveStatic () can cause LoadProhibited exception in _svfprintf_r" (#5508)
- 0acbe781 Increase default timeout for WiFiClient from 3ms to 3s (#5496)
- 0b0dfab3 Fix race in log_printf (#5523)
- 5fd73792 Fix wrong attenuation being set to pins (#5522)
- 5bb8177a Add initial support for USB MSC (#5466)
- be84c821 [WiFiClient] Default connection timeout, when no timeout provided (#5487)
- 31127f42 Support for Transfer-Encoding headers that specify "identify" (#5486)
- 4365a454 Fix WiFi Deinit bug
- 023ae75b Rework pulseIn to work on ESP32-C3
- c5a1f3ef Corrected CLASSIC_BT_ENABLED to CONFIG_BT_CLASSIC_ENABLED. (#5471)
- 9406f8e4 Weaken tinyusb callbacks (#5475)
- 65eafd16 Fixes ESP32-S2 LEDC PWM #5375 #5050 (#5452)
- d5a98f9a Doc: Updated Troubleshooting file (#5430)
- 3780b5c9 Unbreak integer to string conversion functions. (#5423) (#5438)
- 1775dd1f Add ReadTheDocs CI (#5456)
- 6972695d IDF master c69f0ec32 (#5449)
- e0e5c886 Create PULL_REQUEST_TEMPLATE.md (#5439)
- 6e47e18a Add files via upload (#5433)
- 34125cee Examples update, add a note for configTime() that only one ntp server is supported by lwip (#5343)
- ee247360 Update README.md
- 5458df0a Fixes Serial.end() hanging on ESP32-S2 (#5434)
- e12d8c8f fix: WiFiClientSecure connection timeout (#5398) (#5418)
- 4ada3f58 Fix Windows USB issues
- 268595c7 Various USB fixes (#5422)
- 4a0305a0 Fixes SD begin() end() memory leak #2897 (#5419)
- 6393dbc9 Fix gh-pages update script
- 49df8778 Merge pull request #5417 from pedrominatel/docs/readme_docs_update
- f79411f3 Links to the new docs updated and new docs build badge added
- db4e7667 add callback to HTTPUpdate (#5408)
- f64ca2e0 Fixed typo in comments. (#5407)
- 1effae46 Docs: Initial documentation structure using Sphinx (#5355)
- d9833f9b Remove mkfatfs tool from package json
- 0aafa05e Added function to retrieve the amount of data received from an BLECharacteristic (#5339)
- 16f4b0f5 IDF master d93887f9f (#5336)
- 780588dc Remove undocumented and uncontrollable WiFI RSSI filter. (#5393)
- eac8b2de fix port{Input,Output,Mode}Register macros for chips with <=32 pins (#5402)
- a9bd39de Fix pin attenuation being overwritten (#5399)
- 5eda2781 Update camera example (#5397)
- c8a4010f Rename LITTLEFS to LittleFS to match ESP8266 (#5396)
- dd25e2b9 Fix some WiFi issues (#5395)
- cf6ab9c8 component: Remove circular dependency around 'main' (#5391)
- 676f5cfe fix UART FIFO test for being full (#5390)
- f4f1c895 pinMatrixInDetach() has wrong parameter (#5385)
- cbcba53d Improve error message when ADC2 can not be used because WiFi is On
- c37557c7 Update .gitignore (#5323)
- 8f46bade Fix hardware timers
- 21947ebe Make String::concat() faster for some types. (#5307)
- c7bdb234 Update stale.yml (#5299)
- cf43d174 Add FTM support and examples (#5272)
- b1bcec08 Update boards_manager.md (#5296)
- 46d888eb Fix #5293 by adding missing dependency to nghttp (#5294)
- 1f4f2b6e Enable clock output for Ethernet RMII on ESP32 (#5274)
- ea236e28 Fix incorrect Flash Size in Esp...
ESP32 Arduino 2.0.0 RC2 based on ESP-IDF 4.4
Commits
- c45cff5f Implement USB HID Device Support for ESP32-S2 (#5538)
- b1d072df Implements UART SerialHardware Refactoring on top of IDF (#5549)
- 929cf2c2 Add ATMegaZero ESP32-S2 microcontroller (#5569)
- 87853353 Add SparkFun ESP32 MicroMod microcontroller (#5556)
- e265bd0d Add new board (Deneyap Mini) (#5531)
- 94809ce3 fix: timerRead() is returning the last read value, not the actual #3434 (#5498)
- 29455a04 Fix issue #5507 "Constructor WebServer::WebServer(IPAddress addr, intโฆ (#5509)
- 78499c45 Added Franzininho WiFi board support (#5570)
- ce680708 Fixed the external link to a new tab (LOLIN boards) (#5571)
- 90c01dab Fix build error in ESP-IDF
- 000d967d Merge pull request #5547 from pedrominatel/docs/wemos_boards
- 44dd99f5 Merge branch 'master' into docs/wemos_boards
- b580bb23 Add log_buf to pretty print buffers
- a7ea737f Added LOLIN boards o the boards list.
- 2af8cc34 Fixes Touchpad Interrupt (#5527)
- e5bd18d6 Fix I2C Scan for S2 and C3 (#5528)
- a4118ea8 Add ET-Board BUILTIN_LED pin (#5490)
- c4fcab28 Fix issue #5506 "WebServer serveStatic () can cause LoadProhibited exception in _svfprintf_r" (#5508)
- 0acbe781 Increase default timeout for WiFiClient from 3ms to 3s (#5496)
- 0b0dfab3 Fix race in log_printf (#5523)
- 5fd73792 Fix wrong attenuation being set to pins (#5522)
- 5bb8177a Add initial support for USB MSC (#5466)
- be84c821 [WiFiClient] Default connection timeout, when no timeout provided (#5487)
- 31127f42 Support for Transfer-Encoding headers that specify "identify" (#5486)
- 4365a454 Fix WiFi Deinit bug
- 023ae75b Rework pulseIn to work on ESP32-C3
- c5a1f3ef Corrected CLASSIC_BT_ENABLED to CONFIG_BT_CLASSIC_ENABLED. (#5471)
- 9406f8e4 Weaken tinyusb callbacks (#5475)
- 65eafd16 Fixes ESP32-S2 LEDC PWM #5375 #5050 (#5452)
- d5a98f9a Doc: Updated Troubleshooting file (#5430)
- 3780b5c9 Unbreak integer to string conversion functions. (#5423) (#5438)
- 1775dd1f Add ReadTheDocs CI (#5456)
- 6972695d IDF master c69f0ec32 (#5449)
- e0e5c886 Create PULL_REQUEST_TEMPLATE.md (#5439)
- 6e47e18a Add files via upload (#5433)
- 34125cee Examples update, add a note for configTime() that only one ntp server is supported by lwip (#5343)
- ee247360 Update README.md
- 5458df0a Fixes Serial.end() hanging on ESP32-S2 (#5434)
- e12d8c8f fix: WiFiClientSecure connection timeout (#5398) (#5418)