2

I have a NodeMCU ESP12E DevKit V2 from Geekcreit. I had it working some months ago, but now I cannot upload to it. I am using the arduino IDE and I've set the "Additional Boards Manager URLs" to:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

The error I get:

warning: espcomm_sync failed

error: espcomm_open failed

error: espcomm_upload_mem failed

What I've tried so far:

  • Applying 3.3v to the VIN
  • Uploading from 3 different PCs and one Ubuntu
  • Uploading using Arduino IDEs: 1.6.18, 1.6.2, 1.6.9, 1.6.11
  • Using the esptool.exe to upload to it from the cmd prompt.
  • Using following board configurations from the Arduino IDE:
    • "NodeMCU 1.0 (ESP-12E Module)"
    • "NodeMCU 0.9 (ESP-12 Module)"
    • "Generic ESP8266 Module"
    • "NodeMCU 1.0 (ESP-12E Module)"
  • Uploading with different upload speeds.
  • Uploading with different flash sizes.
  • Uploading with different USB cables.
  • Tried erasing flash, read flash.

All of the above has still resulted in the error stated in the top of this post.

Verbose output from upload:

Arduino: 1.6.11 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"

Build options changed, rebuilding all

Sketch uses 222,213 bytes (21%) of program storage space. Maximum is 1,044,464 bytes.
Global variables use 31,588 bytes (38%) of dynamic memory, leaving 50,332 bytes for local variables. Maximum is 81,920 bytes.

C:\Users\xxx\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.9/esptool.exe -vv -cd nodemcu -cb 115200 -cp COM1 -ca 0x00000 -cf C:\Users\xxx\AppData\Local\Temp\build48b2fca13fb12d7c15d8dce627beccb2.tmp/Blink.ino.bin 
esptool v0.4.9 - (c) 2014 Ch. Klippel <[email protected]>
    setting board to nodemcu
    setting baudrate from 115200 to 115200
    setting port from COM1 to COM1
    setting address from 0x00000000 to 0x00000000
    espcomm_upload_file
    espcomm_upload_mem
    setting serial port timeouts to 1000 ms
opening bootloader
resetting board
trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
resetting board
trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
trying to connect
An error occurred while uploading the sketch
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
resetting board
trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

https://pastebin.com/GCq6aZsR

I was beginning to suspect that my NodeMCU board is broken somehow, but the old file is still uploaded on the device is active on my network, so if it is broken, it might just be the usb port. EDIT: Just received a new module that gives the same error, so it is not due to faulty hardware.

However, I have found people facing the same issues when googling, but no real solution has worked for me, and the above list of what I've tried is mostly suggestions found in this process.

I'm running low on ideas and I am thinking to order a new NodeMCU board to try and rule out flawed hardware.

Any suggestions or help will be much appreciated. Thank you.

5
  • Did you double tab the reset button to force it into bootloader mode? Then try the upload. Apr 6, 2017 at 15:49
  • Thank you for your suggestion. I just tried this, but still no luck.
    – Jellezilla
    Apr 17, 2017 at 13:24
  • warning: espcomm_sync failed error: espcomm_open failed error: espcomm_upload_mem failed error: espcomm_upload_mem failed iam getting this errors while uploading a blink program to esp8266 pls help me Feb 12, 2018 at 16:08
  • sidagam sankar, please try the different solutions listed below.
    – Jellezilla
    Feb 14, 2018 at 10:22
  • You can try, turn off esp modul board and turn on and start flashing again Mar 12, 2018 at 18:40

4 Answers 4

1

Same issue here. For me it was a hardware issue. The esp chip had solder that did not flow from the pads of the board to the esp board. To confirm this, before programming press down on the wifi module and keep pressed during programming. If it is a solder issue, it should program just fine. If it programs, you need to reflow all solder joints around the esp chip. Hope it helps.

1
  • After a lot of trial'n'error, this was the solution for me. Very frustrating!
    – hbruce
    May 18, 2018 at 11:39
1

Try these steps: 1. Use a different USB port. 2. Go to Device Manage and check if the driver is installed. If already installed, uninstall it and then install it from Device Manager(worked for me, was having the same issue). 3. Nodemcu could be corrupt (faced same error and got it changed).

1

Returning to this, the issue still persisting, I tried once more with the flashing software.

After flashing the NodeMCU I was once again able to upload to my NodeMCU from the Arduino IDE.

So no hardware flaws and no need for new drivers.

0

Maybe there's something wrong with your driver.
Check which module of USB-to-UART of your NodeMCU is using.As far as I know, there're two most common modules:CH340 and CP2102.
Just download the driver (driver for CH340and driver for CP2102) and try again:)

4
  • Thank you for four answer. Both my PCs says the CH340 is already installed and the other one installed with no further notice. However it still says the same.
    – Jellezilla
    Apr 26, 2017 at 17:23
  • i had a same problem . then as above said i uninstalled the what i installed drivers early . and reinstalled the drivers . and baude rate is 115200 .and uploaded the file. thank you sampath from srilanka
    – sampath
    Jul 29, 2017 at 15:48
  • Please verify which you have before downloading random drivers. The CH340 is rectangular, which the CP2012 is square. Jul 29, 2017 at 16:02
  • Thank you for the advice. I did heed your warning and started downloading the CH340 driver from random places, which lead to a lot of malware and ultimately i had to format my laptop.
    – Jellezilla
    Aug 29, 2017 at 11:16

Not the answer you're looking for? Browse other questions tagged or ask your own question.