Fail to flash WeMos D1 mini Pro from macOS

Brand new Wemos D1 mini Pro, macOS 12.2 on Apple Silicon, plus a user new to this kind of development.

Trying to flash with the sample Blink project, fails with the error:

A fatal error occurred: Failed to write to target RAM (result was 0107)

full output:

> Executing task: platformio run --target upload <

Processing d1_mini_pro (platform: espressif8266; board: d1_mini_pro; framework: arduino)
Verbose mode can be enabled via `-v, --verbose` option
PLATFORM: Espressif 8266 (3.2.0) > WeMos D1 mini Pro
HARDWARE: ESP8266 80MHz, 80KB RAM, 16MB Flash
 - framework-arduinoespressif8266 3.30002.0 (3.0.2) 
 - tool-esptool 1.413.0 (4.13) 
 - tool-esptoolpy 1.30000.201119 (3.0.0) 
 - tool-mklittlefs 1.203.210628 (2.3) 
 - tool-mkspiffs 1.200.0 (2.0) 
 - toolchain-xtensa 2.100300.210717 (10.3.0)
LDF: Library Dependency Finder ->
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Retrieving maximum program size .pio/build/d1_mini_pro/firmware.elf
Checking size .pio/build/d1_mini_pro/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [===       ]  34.2% (used 27980 bytes from 81920 bytes)
Flash: [==        ]  25.0% (used 260893 bytes from 1044464 bytes)
Configuring upload protocol...
AVAILABLE: espota, esptool
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: /dev/cu.usbmodem52D20156021
Uploading .pio/build/d1_mini_pro/firmware.bin v3.0
Serial port /dev/cu.usbmodem52D20156021
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 5c:cf:7f:86:7d:90
Uploading stub...

A fatal error occurred: Failed to write to target RAM (result was 0107)
*** [upload] Error 2
=========================================================== [FAILED] Took 1.41 seconds ===========================================================
The terminal process "platformio 'run', '--target', 'upload'" terminated with exit code: 1.


platform = espressif8266
board = d1_mini_pro
framework = arduino
build_flags = -D LED_BUILTIN=RED_LED
board_build.flash_mode = dio
upload_speed = 115200
upload_resetmethod = nodemcu

Connecting from MacBook Pro USB-C ports to microUSB on the board. USB cables are data cables, not charge cables, so have eliminated that possible mistake.

I’ve tried various combinations of upload_speed, upload_resetmethod, board_build.flash_mode, 3 different USB cables & USB-C to USB-A adaptors, and 2 different brand new Wemos D1 mini Pro boards.

Setting upload_resetmethod = ck gives

Serial port /dev/cu.usbmodem52D20156021

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

Solutions for similar flashing problems like passing --before no_reset ( Suddenly cannot flash NodeMCU ESP8266 ) won’t work for me, the board only has a reset button, no flash button.

Has anyone got these boards working from macOS?