Thursday 9 July 2020

Using yet another CH340 USB dongle as ESP-01S Programmer


You Can't Always Get What You Want

In my previous post I modified a CH340 USB to ESP8266 adapter. It worked well, but after programming an ESP-01S I kept having to re-plug it into the USB port in order to test it. Wouldn't it be nice if I could buy one with a built-in reset switch?


Diymore CH340G USB to ESP8266 ESP-01S Adapter



The DIYMore CH340G USB to ESP8266 Adapter looked like just the ticket. There's that built-in switch. and I know the CH340 worked well with my Arduino installation. And at RM5.24 it was even cheaper than the old model.

I guess if things looked too good to be true on the Internet, sometimes it is. It did not work. While it implemented the CH_PD to GPIO 0 switch, it did not pull GPIO 2 and CH_PD high, so the ESP-01S does not start up, and will neither run nor accept a program. 

ESP-01S Pinout


The cure is the same as that for the WiFi ESP8266 ESP-01S Relay module: short CH_PD to VCC and connect a 10K resistor between GPIO 2 and VCC. The modified Diymore CH340 USB to ESP8266 Adapter now looks like this:

Short CH_PD to VCC and connect a 10K resistor from GPIO 0 to VCC

Now it works. To program, you flip the switch to 'PROG' and plug the dongle in. You then flip it back to 'UART' and flash your Arduino IDE sketch. To run, you plug it in with the switch at 'UART'.

Except I still have to unplug and plug it in to test my new programs. I guess you can't always get what you want.  But if you try, sometimes you'll find you get what you need.

Happy Trails. 


2 comments:

  1. the pic shorts vcc - CH_PD - GPIO2..not GPIO0 as mentioned

    ReplyDelete
    Replies
    1. You are absolutely right. Text has been corrected. Thank you for the heads-up.

      Delete