Cannot upload to WiFi LoRa 32 V2 (V1 works) on macOS

My setup: Arduino 1.8.16, newest SiLabs CP210x macOS driver (6.0.2), iMac15,1 with macOS 11.6.1 (Big Sur).

If I connect a Heltec WiFi LoRa 32 to the Mac, two serial devices show up: /dev/cu.SLAB_USBtoUART and /dev/cu.usbserial-0001. All following observations are the same regardless of which one of the two devices I use in Arduino. But I wonder what’s the matter with the usbserial-0001 since this seems to be new since upgrading to Big Sur.

I try to upload some arbitrary Arduino sketch (say, “Blink”) to the device. If a V1 is connected (and configured in Arduino), all works fine. With a V2 (also correctly selected as board type), I get timeouts from esptool trying to connect to the board. Changing the upload speed from 921600 bps to any of the lower settings makes no difference. Fiddling with the RST and PROG buttons also does not work.

I assume the V2 board is ok as it still runs the pre-loaded Heltec LoRa demo program. It even prints “ESP32ChipID=F858[…]” on the serial console after reset, so in some way there must be a USB driver working.

I can also call esptool in the Terminal the same way the IDE does, yielding the same error:

/Applications/Arduino\ 1.8.16.app/Contents/Java/portable/packages/esp32/tools/esptool_py/3.1.0/esptool --chip esp32 --port /dev/cu.SLAB_USBtoUART --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 8MB 0xe000 /Applications/Arduino\ 1.8.16.app/Contents/Java/portable/packages/esp32/hardware/esp32/2.0.1/tools/partitions/boot_app0.bin 0x1000 /var/folders/8f/4hdsvry921l_4_spfkr126cw0000gp/T/arduino_build_685389/Blink.ino.bootloader.bin 0x10000 /var/folders/8f/4hdsvry921l_4_spfkr126cw0000gp/T/arduino_build_685389/Blink.ino.bin 0x8000 /var/folders/8f/4hdsvry921l_4_spfkr126cw0000gp/T/arduino_build_685389/Blink.ino.partitions.bin

esptool.py v3.1

Serial port /dev/cu.SLAB_USBtoUART

Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

I am quite sure that getting the MAC from the board (read_mac) had worked today, but currently it does not. Strange.

→ Any ideas??

Press and hold the USER key to power on and have a try.

There is no such key on my device, only RST (Reset) and PROG as described. Maybe the USER key you mention has the same function as the PROG key (boot mode selection). I already tried that.

Yes, that’s the PROG button. What is the effect?

Have a look here: https://github.com/espressif/esptool/wiki/ESP32-Boot-Mode-Selection

…I was able to test with another WiFi LoRa 32 V2 board – which worked.

So I conclude the first board (actually both V2 boards I tried) to be defunct. Case solved.