GPIO 0 should be pulled LOW, though a nodeMCU should do this automatically, Reset should stay HIGH, and again the nodeMCU will do an automated reset.
GPIO15 is pulled down or the board won't work, (also on the board already) Basically you should not have to connect anything special to make it work, and anything that you do connect to any of these pins (+ TX & GPIO 2) may disturb the upload process.
Please show us a picture of the board you have and a link to where you got it from.
almost the same as the ones i have (just different color for the capacitors, but same size)
Mine has a CH340G as a USB to TTL, the CP210X driver is not relevant, but the CH340 driver should be automatically installed. Are there any unknown USB devices in the device manager ?
That is the proper board to select.
Personally i am on 2.7.4,(for reasons of compiled binary size) but there are no known issues with the 3.x.x with this board.
So my best advice is,
make sure that the COM port shows up in the IDE (open the IDE, and plug in the nodeMCU, and the new port that shows up is the correct one)
Leave all settings for the board at their default value
Disconnect anyhing other than the USB cable
try another USB cable.
If there is no success, the possibility exist that your board has a malfunction.
USB power should be easily enough, and it is not a programming error, the program compiles just fine, but the the upload fails. It could be that the incorrect boot-mode is selected.
I think you probably tried it already, but connect GPIO 0 to GND and only then plug in the USB cable ( i was going to suggest hold down boot button after successful compile, but this is better.)
Maybe the CH340 is broken, or maybe the ESP, hard to say and doesn't matter much. I have no other advice.
I have the same problem with one of my boards (one works and the other doesn't).
I noticed that the one that doesn't work is missing some components on the board.
Oh that's not good ! that looks like a resonator and 2 trimming capacitors. Like that the USB to TTL bridge probably doesn't work.
You may be able to program that unit through the Serial pins, but not through the USB port i guess, the same way you can program an ESP-01. For practicality's sake you could upload a sketch that supports OTA updates and update it like that there after.