NodeMCU uploading fails

Hello,
I'm using the Nodemcu 8266 Amica cp2102 and the latest version of the IDE and the library.
But when I try uploading anything it keeps erroring:

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

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

I have selected the true port and tried both 'NodeMCU 1.0' and 'Generic ESP8266' boards in IDE.

when I try pressing RST button it writes this on serial monitor:

18:10:04.743 -> 
18:10:04.743 ->  ets Jan  8 2013,rst cause:2, boot mode:(5,1)
18:10:04.777 -> 
18:10:04.777 -> waiting for host
18:10:13.830 -> 
18:10:13.870 ->  ets Jan  8 2013,rst cause:2, boot mode:(5,0)
18:10:13.870 -> 
18:10:13.870 -> waiting for host

I've also seen (7,1) (7,0) (7,2) (5,2) (7,7)

Hi @emvi1. This error might be caused by having the wrong port selected from the Tools > Port menu in Arduino IDE.

Please perform this experiment to verify that the port you have selected is your Arduino board:

  1. Disconnect the USB cable of the Arduino board from your computer.
  2. Select Tools > Port from the Arduino IDE menus.
  3. Take note of the ports (if any) listed in the menu.
  4. Close the Tools menu.
    :red_exclamation_mark: The ports list is only updated when the Tools menu is re-opened, so this step is essential.
  5. Connect the Arduino board to your computer with a USB cable.
  6. Select Tools > Port from the Arduino IDE menus. - If a new port is listed in the menu, that is the port of your Arduino board.

If you saw a new port appear at the last step, select that port from the Tools > Port menu and try uploading again.

If this doesn't solve the problem, please reply here on this forum topic with the answers to the following questions:

  • While following those instructions, did you see a port in the Tools > Port menu at step (6) that was not present at step (3)?
  • If you did see a new port, was the upload successful after you selected that port?