Solved! - espcomm_open failed - Wemos D1 mini

The problem

I haven´t played with my Wemos for some time. When I tried to flash a new sketch with the Ardunio IDE the upload of the sketch failed with espcomm_open failed and  espcomm_upload_mem failed errors. The D1 was visible as USB device and the serial console output was some cryptic text no matter what baud rate I chose.

First I thought the problem was that I was running the IDE on Windows 10 or that the D1 was not supported by my version of the IDE.

The workaround

As workaround I flashed the sketch directly via the hardware serial port as suggested here. This worked but using a USB to TTL converter was somewhat disappointing when you normally just flash the ESP via USB.

The Solution

To find the final solution was simple but it took me some time to find out 😉

I simply reinstalled the USB-Drivers for the CH340 chip that does sthe USB to TTL conversion for the D1 mini!

  1. Download the driver here.
  2. If the driver is already installed – uninstall it
    Uninstall procedure for CH340 chipset drivers

    Click on “Uninstall”

  3. Reinstall it and see if you can upload your sketches (Default upload speed is 115200)!
    Install USB Drivers for CH340 chipset

    Click on “Install”

    I am still not sure what was the initial cause for the problems. Maybe some driver for one of my other Arduino clones messed something up…


7 thoughts on “Solved! - espcomm_open failed - Wemos D1 mini

  1. Lee I Berry

    after weeks stuffing around , new cables , new wemos d1 etc .. this solved the problem first time … BIG THANKS

  2. Nico Z

    I also had the error message “espcomm_upload_mem failed”. Reinstalling the driver seemed to work but in the end the cause of my problem was an error in the definition of SSID that sent a NULL SSID to the esp module. An upload after this gave the error message. The problem could be solved in my situation by uploading a sketch with a correct SSID and password.

  3. Adam Katz

    Your solution didn’t work.
    What worked for me is just to change the com port in the arduino IDE.


Leave a Reply

Your email address will not be published. Required fields are marked *