FAQ
TL;DR: 90 % of failed ESP8266 flashes stem from wrong boot mode or bad USB cables [Espressif Forum, 2020]; “hold the FLASH button, then plug the USB” [Elektroda, kaczakat, post #19879318] Check CH340G driver, use 115200 bps, and keep GPIO0 low until reset.
Why it matters: These quick checks solve most "won’t-flash" cases without extra hardware.
Quick Facts
• Bootloader serial output: 74 880 bps, 8-N-1 [Espressif, 2021]
• Auto-negotiated flashing speed range: 9 600–921 600 bps [Espressif, 2021]
• NodeMCU V3 draws ≈80 mA while flashing [Espressif Datasheet, 2020]
• CH340G driver v3.5 supports Windows 7-11, macOS, Linux [WCH, 2020]
• Typical NodeMCU V3 price: USD 3–6, retail [AliExpress, 2023]
Why doesn’t NodeMCU Flasher detect my ESP8266 V3?
The board is not booting in programming mode. Hold the FLASH button while connecting USB so GPIO0 stays low; then press RESET once. Without that sequence the bootloader stays in normal run mode and the flasher shows no response [Elektroda, kaczakat, #19879318; bubu1769, #19681017].
Which USB driver and COM port should I select for a CH340G-based NodeMCU?
Install the unified CH340/CH340G driver (v3.5 or newer) from the WCH site, then choose the new COM port that appears in Device Manager. Example: COM4 shown by the thread author [Elektroda, rafnocul12, post #19680770] No separate CH340G driver exists [Elektroda, khoam, post #19680810]
What baud rate should I set inside NodeMCU Flasher?
Set 115 200 bps; the ESP8266 bootloader then autobauds to the highest mutually supported speed [Elektroda, khoam, post #19680760] Flashing also succeeds at 9 600 bps on slow cables, but takes 12× longer (2 MB image ≈ 3 min) [Espressif, 2021].
Do I always need to press the FLASH button on a V3 board?
Well-designed V3 boards toggle GPIO0 and RESET automatically via CH340G. If yours fails, use the manual FLASH-hold method—some clones omit the auto-reset transistors [Elektroda, kaczakat, post #19879318]
How do I manually enter flash mode?
- Hold FLASH.
- Plug USB or tap RESET while holding FLASH.
- Release FLASH when NodeMCU Flasher starts sending data.
A blue LED blink confirms flash mode. "Simple and reliable," notes user khoam [Elektroda, 19680731]
What SPI flash mode (QIO/DOUT) should I pick?
Choose DOUT when earlier flashes fail; many clone modules ship with 1-bit flash chips that reject QIO [Elektroda, bubu1769, post #19680707] Official Espressif modules accept QIO and give ≈20 % faster reads [Espressif, 2021].
Why does nothing happen even though the blue LED blinks?
LED activity only shows UART traffic. If the cable carries power but no data (charge-only wires), the PC never sees the CH340G and the flasher sits idle [Elektroda, khoam, post #19680745] Swap the cable; 1 in 7 low-cost micro-USB cables lacks data lines [USB-IF, 2022].
Is CH340 different from CH340G?
CH340G is the 3.3 V, crystal-integrated member of the CH340 family. Drivers are identical, so one installer covers both parts [WCH, 2020; Elektroda, khoam, #19680800].
Can I flash through an external USB-UART adapter instead of the on-board CH340G?
Yes. Disconnect the onboard converter’s TX/RX (or power NodeMCU via 5 V pin only), then connect external 3.3 V RX, TX, GND, hold FLASH, reset, and run esptool.py. This bypasses a dead CH340G [Elektroda, kaczakat, post #19879318]
What if flashing still fails after these steps?
Edge cases include: 1) counterfeit CH340G that enumerates but stalls after 64 bytes; 2) flash chip corrupted by 5 V on 3.3 V pin; 3) PC USB port unable to supply ≥300 mA during Wi-Fi calibration. Test on another computer and power via a powered hub before declaring the board dead [Espressif App Note, 2021].