After investigating, I discovered that the older board is quite happy using QIO but the new board has to use DIO and fails if I use QIO. Digging further with the flash_id tool, I found the following:
Old Wemos v2.x:
Output from esptool.py flash_id
Manufacturer: ef
Device: 4016
Detected flash size: 4MB
...which implies: WINBOND_NEX_W25Q32_V 0x4016 /* W25Q32BV; W25Q32FV in SPI mode (default) */
New Wemos v3.0.0:
Output from esptool.py flash_id
Manufacturer: 68
Device: 4016
Detected flash size: 4MB
...which implies:
nothing, as the manufacturer is not listed in the flashrom source code found at;
https://review.coreboot.org/cgit/flashr ... ashchips.h
The v3.0.0 board doesn't have the metal can, so I can see that the flash chip is a BoyaMicro 25032BSSIG. The BoyaMicro website doesn't have this specific chip listed, but their other 32Mb chips support quad modes. I'm therefore wondering if the issue is that the flash chip is not recognised so defaults to DIO mode.
I haven't had the opportunity to trace out the tracks to see if the two extra ESP pins are connected to the flash chip, but wondering if anyone else has any relevant info/insight?
Cheers, Steve