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 #6337
- .github/workflows: Remove the selfhost runner test by @Ouss4 in #6343
- Add new board (Deneyap Kart 1A) by @zeynepdicle in #6324
- add lolin s2 pico board def by @wemos in #6325
- Update esp32-hal-log.h by @cyberman54 in #6351
- Fix some hardware definition pins by @ladyada in #6353
- Fix DNSServer crash by @BlueAndi in #6354
- Added more details about PlatformIO by @pedrominatel in #5540
- FIX - wifiBegin works every 2nd time when connecting to same AP by @P-R-O-C-H-Y in #6359
- WiFi DA: Added Dual Antenna to the docs and example created by @pedrominatel in #6357
- [esp32-hal-log.h] add #ifdef for LOG_LOCAL_LEVEL by @cyberman54 in #6358
- Added ESP32-WROOM-DA module to boards.txt by @pedrominatel in #6361
- FEATURE: Implemented new types of Wifi SmartConfig by @P-R-O-C-H-Y in #6367
- Fixes DHCP Server Lease Range for any AP Server Static IP Address by @SuGlider in #6296
- Adds C++ std::function to Serial.onReceive() by @SuGlider in #6364
- log_printf may cause memory leak and unexpected behaviour by @BlueAndi in #6360
- Build (using arduino-builder) and run tests by @Ouss4 in #6313
- Fixes rmtDeinit() and tests RX/TX before operations by @SuGlider in #6369
- CameraWebServer duplicate line fix by @VojtechBartoska in #6370
- Fix ledc panic’ed when wrong setup of frequency and bit width by @P-R-O-C-H-Y in #6371
- Fixed the antenna GPIO argument on the DA example by @pedrominatel in #6392
- Allows setting only one pin (rx or tx) in the first begin() by @SuGlider in #6394
- publish.yml: Remove the debug job and fix an error in the workflow. by @Ouss4 in #6408
- Implemented tone and noTone; fixes #980 by @PilnyTomas in #6402
- publish.yml: Limit the running scope of the publish Workflow. by @Ouss4 in #6428
- Add missing include in AsyncUDP.h by @mrengineer7777 in #6412
- Some board variant fixes by @ladyada in #6411
- Added another overloaded WiFiSTAClass::begin() function that provides… by @jpswensen in #6398
- [Docs] Added the guideline for documentation by @pedrominatel in #6409
- Fix boot freeze when trying to init PSRAM on Pico D4 by @s-hadinger in #6434
- Adds HardwareSerial::setTxBufferSize() by @gonzabrusco in #6383
- Fixes USB CDC setRxBufferSize(), begin(), _onRX() by @SuGlider in #6413
- Change "python" to "python3" by @tomorrow56 in #6448
- Warns about SPP only available for ESP32 by @SuGlider in #6455
- Edited VFSFileImpl::read to use both read/fread by @P-R-O-C-H-Y in #6456
- Adding sectorsize() and numSectors() to SD by @tobozo in #6457
- (boards.txt) Add partition scheme menu for WeMos WiFi&Bluetooth Battery by @garubi in #6479
- Add Preferences library API and tutorial documents by @Xylopyrographer in #6442
- Esp32 s3 support by @me-no-dev in #6341
- add variant init code for the feather s2 tft by @ladyada in #6447
- Adds HardwareSerial::setRxTimeout() by @gonzabrusco in #6397
- Fix linking failure for space in path in PlatformIO builder scripts by @maxgerhardt in #6464
- Add S3 in Headline by @Jason2866 in #6491
- Reordering - HardwareSerial Constructor by @SuGlider in #6492
- IDF release/v4.4 by @me-no-dev in #6493
- Fix Reading MAC from efuse for ESP32 Arduino 2.x.x by @smuellener in #6459
- Update toolchain to gcc8_4_0-esp-2021r2-patch3 by @me-no-dev in #6497
New Contributors
A special thank you to all new contributors!
- @jandrassy made their first contribution in #6084
- @Darek7D made their first contribution in #6087
- @mrengineer7777 made their first contribution in #6108
- @iltis42 made their first contribution in #6109
- @gcweeks made their first contribution in #6110
- @niwantha33 made their first contribution in #6151
- @esp32wrangler made their first contribution in #6106
- @sqfmi made their first contribution in #6158
- @h-enes-simsek made their first contribution in #6204
- @mathertel made their first contribution in #6179
- @im-pro-at made their first contribution in #6206
- @IanSC made their first contribution in #6218
- @renebohne made their first contribution in #6219
- @s-hadinger made their first contribution in #6224
- @magicarm22 made their first contribution in #6203
- @mattsches1 made their first contribution in #6216
- @bbsan2k made their first contribution in #6280
- @yigitabi5444 made their first contribution in #6277
- @pgrawehr made their first contribution in #6315
- @BlueAndi made their first contribution in #6354
- @jpswensen made their first contribution in #6398
- @gonzabrusco made their first contribution in #6383
- @tomorrow56 made their first contribution in #6448
- @garubi made their first contribution in #6479
- @Xylopyrographer made their first contribution in #6442
- @smuellener made their first contribution in #6459
Full Changelog: 2.0.2...2.0.3-RC1
To see how to contribute to the Arduino ESP32 project, see this reference: Contributing