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 #5788
- @stonehippo made their first contribution in #5767
- @hideakitai made their first contribution in #5775
- @torntrousers made their first contribution in #5633
- @Scott8440 made their first contribution in #5845
- @bestaar made their first contribution in #5809
Full Changelog: 2.0.0...2.0.1
To see how to contribute to the Arduino ESP32 project, see this reference: Contributing.