It is not completely clear to me, which pins need to be free (disconnected from other components) in order to flash the NodeMCU via USB with a firmware. Of course, this depends on the connected components. But let's assume reasonable worst case scenario. e.g. LED with a resistor, which pulls down GPIO0. I was wondering, if RXD0-TXD0 pins (GPIO3 and GPIO1) also need to be disconnected? e.g. I have ublox GPS Neo 6M module connected to (only) RX on NodeMCU and I can't upload when this is connected. I left TX not connected to get debug messages via USB.
Is it possible to flash via USB->UART1? Is the USB-UART chip capable of this? If not, then also GPIO3 and GPIO1 need to be "free". The reasons are:
- For beginners to understand, why and what to disconnect, when they have issues with uploading their sketch/firmware.
- When device is in an enclosure, it might be difficult to disconnect components.
- When device is soldered, it will be difficult to disconnect. In order to plan accordingly, one might introduce switches on certain pins to avoid such problems.
Basically, what pins may cause issues to upload firmware/sketch, when connected to certain components during the upload?
Module: Lolin v3, but it would be interesting to know for others too.