When I try to build and upload a project to Wemos ESP32-S2 Mini, I saw this error:
khang238@khang238-Aspire-E5-573:~/Documents/PlatformIO/Projects/S2 Mini$ pio run --target upload
Processing lolin_s2_mini (platform: espressif32; board: lolin_s2_mini; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin_s2_mini.html
PLATFORM: Espressif 32 (6.10.0) > WEMOS LOLIN S2 Mini
HARDWARE: ESP32S2 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b
- tool-esptoolpy @ 1.40501.0 (4.5.1)
- tool-mkfatfs @ 2.0.1
- tool-mklittlefs @ 1.203.210628 (2.3)
- tool-mkspiffs @ 2.230.0 (2.30)
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
- toolchain-xtensa-esp32s2 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 33 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/lolin_s2_mini/src/main.cpp.o
Building .pio/build/lolin_s2_mini/bootloader.bin
Generating partitions .pio/build/lolin_s2_mini/partitions.bin
esptool.py v4.5.1
Creating esp32s2 image...
Merged 1 ELF section
Successfully created esp32s2 image.
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/Esp.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/FirmwareMSC.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/HWCDC.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/IPv6Address.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/MD5Builder.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/Print.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/StreamString.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/USB.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/USBCDC.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/USBMSC.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/WString.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/base64.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/cbuf.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-cpu.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-rgb-led.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-time.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/libb64/cdecode.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/libb64/cencode.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/main.cpp.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/lolin_s2_mini/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/lolin_s2_mini/libFrameworkArduino.a
Indexing .pio/build/lolin_s2_mini/libFrameworkArduino.a
Linking .pio/build/lolin_s2_mini/firmware.elf
Retrieving maximum program size .pio/build/lolin_s2_mini/firmware.elf
Checking size .pio/build/lolin_s2_mini/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [= ] 8.1% (used 26412 bytes from 327680 bytes)
Flash: [== ] 19.4% (used 254158 bytes from 1310720 bytes)
Building .pio/build/lolin_s2_mini/firmware.bin
esptool.py v4.5.1
Creating esp32s2 image...
Merged 2 ELF sections
Successfully created esp32s2 image.
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-bridge, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: /dev/ttyACM0
Forcing reset using 1200bps open/close on port /dev/ttyACM0
Waiting for the new upload port...
Uploading .pio/build/lolin_s2_mini/firmware.bin
esptool.py v4.5.1
Serial port /dev/ttyACM0
Connecting........
Traceback (most recent call last):
File "/home/khang238/.platformio/packages/tool-esptoolpy/esptool.py", line 34, in <module>
esptool._main()
File "/home/khang238/.platformio/packages/tool-esptoolpy/esptool/__init__.py", line 1032, in _main
main()
File "/home/khang238/.platformio/packages/tool-esptoolpy/esptool/__init__.py", line 674, in main
esp = esp or get_default_connected_device(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/khang238/.platformio/packages/tool-esptoolpy/esptool/__init__.py", line 921, in get_default_connected_device
_esp.connect(before, connect_attempts)
File "/home/khang238/.platformio/packages/tool-esptoolpy/esptool/loader.py", line 640, in connect
last_error = self._connect_attempt(reset_strategy, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/khang238/.platformio/packages/tool-esptoolpy/esptool/loader.py", line 525, in _connect_attempt
reset_strategy() # Reset the chip to bootloader (download mode)
^^^^^^^^^^^^^^^^
File "/home/khang238/.platformio/packages/tool-esptoolpy/esptool/reset.py", line 89, in __call__
self._setDTRandRTS(False, False) # IO0=HIGH, done
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/khang238/.platformio/packages/tool-esptoolpy/esptool/reset.py", line 58, in _setDTRandRTS
fcntl.ioctl(self.port.fileno(), TIOCMSET, struct.pack("I", status))
OSError: [Errno 71] Protocol error
*** [upload] Error 1
====================================================== [FAILED] Took 39.06 seconds ======================================================
I have tried creating new projects with both the WEMOS LOLIN S2 MINI board and the ESP32 Dev Module, but the error persists.