ESP32-D0WD-V3 upload failure

Hello I got an ESP32-WROOM-32D from aliexpress but when I try to upload the 'bare minimum' code I get this error:

WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00048fff...
Compressed 18992 bytes to 13110...
Writing at 0x00001000... (100 %)

A fatal error occurred: Serial data stream stopped: Possible serial noise or corruption.
Failed uploading: uploading error: exit status 2

It uses the CP2102 for which I have the driver installed already. How can I fix this problem?

if you run the Device Manager does COM port appear/disappear as plug/unplug the microcontroller?
if not do you get any message, e.g. "USB device not recognized"
disconnect everything (sensors/relays etc) from the board
try a different USB port
try a different USB cable (some are charge only)

try different EN / BOOT/ RST button combinations

in the Arduino IDE select File>Preferences and enable "Verbose output during Compiling and upload" then attempt to compile and upload your program again
if there are still problems upload the error messages as text

Thank you for your reply. I checked the cable with another esp32 and the cable seems to be fine. However the odd thing is, when I connected another esp32 the port showed up different on arduino ide despite the cable being connected to the same usb port.
I still get this error:

Chip is ESP32-D0WD-V3 (revision v3.0)

Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None

Crystal is 40MHz

Uploading stub...

Running stub...

Stub running...

Changing baud rate to 921600

Changed.

WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.

Configuring flash size...

Flash will be erased from 0x00001000 to 0x00005fff...

Flash will be erased from 0x00008000 to 0x00008fff...

Flash will be erased from 0x0000e000 to 0x0000ffff...

Flash will be erased from 0x00010000 to 0x00048fff...

Compressed 18992 bytes to 13110...

Writing at 0x00001000... (100 %)

A fatal error occurred: Serial data stream stopped: Possible serial noise or corruption.

Failed uploading: uploading error: exit status 2

I picked up the same board, how are you (board type in drop down menu) connecting to the ESP32?

I have been struggling to figure out how to upload to it.

programming the same ESP32-D0WD-V3 (revision v3.1) I get

esptool.py v4.6
Serial port COM22
Connecting.....
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: ec:64:c9:82:7d:34
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00098fff...
Compressed 19744 bytes to 13604...
Writing at 0x00001000... (100 %)
Wrote 19744 bytes (13604 compressed) at 0x00001000 in 0.4 seconds (effective 362.1 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 146...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.0 seconds (effective 524.5 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 901.7 kbit/s)...
Hash of data verified.
Compressed 559456 bytes to 336157...
Writing at 0x00010000... (4 %)
Writing at 0x0001b695... (9 %)
Writing at 0x00027833... (14 %)
Writing at 0x000341dd... (19 %)
Writing at 0x00039f89... (23 %)
Writing at 0x0003f89a... (28 %)
Writing at 0x00044bee... (33 %)
Writing at 0x00049dbc... (38 %)
Writing at 0x0004ed79... (42 %)
Writing at 0x00054092... (47 %)
Writing at 0x00059233... (52 %)
Writing at 0x0005e628... (57 %)
Writing at 0x00063d60... (61 %)
Writing at 0x00069655... (66 %)
Writing at 0x0006e5c7... (71 %)
Writing at 0x00073937... (76 %)
Writing at 0x000790bb... (80 %)
Writing at 0x00082554... (85 %)
Writing at 0x0008ad85... (90 %)
Writing at 0x000903e0... (95 %)
Writing at 0x000959e0... (100 %)
Wrote 559456 bytes (336157 compressed) at 0x00010000 in 5.6 seconds (effective 798.7 kbit/s)...
Hash of data verified.

what does you Tools>Board look like, e.g. mine is
image

if the USB cables are OK it looks like you have a faulty board (I have had a USB socket on the ESP32 come loose - had to solder it back in place)
do you have anything connected to the board? e.g. sensors, relays, etc
does a simple program, e.g. blink, give the same problem?

Thank you for you reply! Currently I am only trying to upload 'Bareminimum' and I get this error:
I have attached the image of the Tools section as well.

Traceback (most recent call last):
  File "esptool.py", line 37, in <module>
  File "esptool/__init__.py", line 1064, in _main
  File "esptool/__init__.py", line 859, in main
  File "esptool/cmds.py", line 466, in write_flash
  File "esptool/util.py", line 37, in flash_size_bytes
TypeError: argument of type 'NoneType' is not iterable
[2130] Failed to execute script 'esptool' due to unhandled exception!

Chip is ESP32-D0WD-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: e8:31:cd:ad:50:bc
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
Configuring flash size...
Failed uploading: uploading error: exit status 1