USB to ESP-01 Adapter Board Modification
Intro: USB to ESP-01 Adapter Board Modification
Did you buy this USB to ESP-01 Adapter Board and found out that it can't be used for flashing the ESP-01? You're not alone. This first generation adapter doesn't have any mechanism to put the ESP-01 into Serial Programming mode which require pulling GPIO-0 pin LOW.
I found that very frustrating considering that this board is very cheap, small and convenient to be used to interface the ESP-01 to our PC. I have made another circuit on my breadboard along with FTDI adapter just to be able to flash ESP-01. Wouldn't it be nice if we can use this one instead?
One of the picture above shows the typical error message in Arduino IDE that we see when trying to flash the code to the ESP-01 without first putting it into serial programming mode.
In this Instructable I'm going to show you how to modify this adapter to be able to do just that with a simple mini tactile switch, and a little bit of soldering.
Lets get to it!
STEP 1: Parts and Pinout
For this modification, I used a mini tactile switch that I salvaged from other electronic. You also need a couple of short wire to connect the switch to the board.
STEP 2: Mounting and Soldering
In this step we are going to mount the mini switch on to the back of the adapter's socket. I used hot glue for this, and optionally you can make a few scratches on the surface of the socket for better adhesion.
Once the glue is set, we're going to solder the 2 short wires between the switch and the GPIO-0 and GND pins. See above picture for the pins location.
This will effectively short the GPIO-0 and Ground when the switch is pressed.
STEP 3: Flashing the ESP-01
We're now done with our modification. To flash the ESP-01, follow the steps below:
1. Insert ESP-01 into the adapter's socket with the correct orientation shown in the picture.
2. While pressing the button of the tactile switch, insert the adapter into your PC's USB port. Release the button after about 1 sec. You'll be testing your finger's dexterity by doing this exercise.. :)
3. Set your Arduino IDE board setting, and upload your code. I've included the typical setting that works for ESP-01 board.
NOTES:
- Once the ESP-01 is flashed, we can use the adapter to power the ESP-01 from any USB power. It has built-in 10K pull-up resistors for GPIO-0 and GPIO-2 pins for it to do normal boot from flash.
- This adapter is based on CH340 chipset, in my PC it shows up as USB-SERIAL CH340
Enjoy..
21 Comments
mando-grogu 2 months ago
Thank you so much!
cmayer68 2 years ago
is an alternate approach that does not require replugging or button pushing. IMHO, much better.
minhaj6b 1 year ago
vaishnavireddy14324 3 years ago
I am getting this error when I connect my node MCU with DHT11 sensor in the serial monitor.
please help
i have an assignment to submit A.S.A.P
thhudson 3 years ago
Beginning to regret going on this path, especially as you can get relays with built in WiFi, which is what I am attempting to achieve.
Dr_Altsack 3 years ago
MikhailD8 4 years ago
hans.laan 4 years ago
I skipped on the soldering, I trailed the wires of my switch into the corresponding holes for the pins. The ESP-01 pins would hold them in place.
This did the trick perfectly. In time I may yet solder it.
david-alexis 5 years ago
Any idea why this works? Maybe it's the version of the adapter I have? It looks the same as the one you're using though.
BenSoci 5 years ago
Thanks for this mod, i liked it so much i added another reset button but i switched them around, the flash mode button is at the bottom as i soldered the legs of the switch directly onto GND and GPIO-0 as per https://cmheong.blogspot.com/2018/05/using-ch340-usb-dongle-as-esp-01s.html and added the reset button as per you instructable. Works a treat now, no need to pull the adapter in and out of the PC. Do you think there is any chance to mod this adapter board to be able to flash ESP-12x series board ?
AndyS19 5 years ago
That's a neat idea, not having to pull out the usb adapter each time. so the additional switch is shorting the reset and GND pins? I don't see why it wouldn't work for other ESP boards, except that you'll have to somehow solder leads that will connect to this adapter. Maybe too troublesome though.. :)
thanks for your comment and the neat enhancement.
BenSoci 5 years ago
Yep, the additional switch is shorting the reset and GND pins. I actually did end up making the esp-12x adapter board and wrote up an instructable for it https://www.instructables.com/id/USB-ESP-12-Programmer/
treadonme 6 years ago
I guess i dont understand. i get the same error after following the steps. is there a way to know your in programming mode?
AndyS19 6 years ago
The step # 2 is the part to get esp-01 into flashing mode. If you're still getting the error means this step is not completed properly. Another possibility might be that you have not installed the driver for the module. After inserting the ESP-01 into your PC's USB, check to see if it's recognized in the device manager. Also make sure to select the correct COM port in the arduino IDE.
2. While pressing the button of the tactile switch, insert the adapter into your PC's USB port. Release the button after about 1 sec. You'll be testing your finger's dexterity by doing this exercise.. :)
Zachrey 6 years ago
AndyS19 6 years ago
https://www.ebay.com/itm/OPEN-SMART-USB-to-ESP8266-ESP-01-Wi-Fi-Adapter-Module-w-CH340G-Driver-Hot/152700861994
Gelfling6 6 years ago
AndyS19 6 years ago
Gelfling6 6 years ago
Swansong 6 years ago