• Skip to main content
  • Skip to primary sidebar
  • HOME
  • ABOUT
  • CONTACT
  • TOOLS
  • DOWNLOAD EBOOKS
  • » FREE GUIDE «

Maker Advisor

Best Tools and Gear for Makers

ESP8266 ESP-01 USB Serial Programmer with CH340 (Fix Programming Issue)

April 25, 2021 By Rui Santos

ESP8266 ESP-01 USB Serial Programmer CH340 Chip FHow to Fix Programming Issue

This module is a USB programmer for ESP8266 modules of type ESP-01. This is a convenient programmer module because you need to connect the ESP-01 to the module and the module to your computer to program the ESP8266.

However, we don’t think this is a good programmer because you must modify it to make it work properly. However, I know that many of our readers have this programmer and experience problems flashing new sketches when they first try it. So, we wrote this guide that explains how to fix the ESP-01 USB Serial Programmer “issue”.

Where to Buy ESP-01 USB Programmer

You can grab an ESP-01 USB Serial Programmer at one of these stores (even newer programmers might still have the programming “issue”).

Aliexpress - ESP8266 ESP-01 USB Serial Programmer with CH340
Aliexpress - ESP8266 ESP-01 USB Serial Programmer with CH340
Aliexpress - ESP8266 ESP-01 USB Serial Programmer with CH340
$0.47
$0.50
in stock
BUY NOW
Aliexpress
eBay - ESP8266 ESP-01 USB Serial Programmer with CH340
eBay - ESP8266 ESP-01 USB Serial Programmer with CH340
eBay - ESP8266 ESP-01 USB Serial Programmer with CH340
$1.29
in stock
BUY NOW
eBay
Amazon.de - ESP8266 ESP-01 USB Serial Programmer with CH340
Amazon.de - ESP8266 ESP-01 USB Serial Programmer with CH340
Amazon.de - ESP8266 ESP-01 USB Serial Programmer with CH340
€4.29
in stock
2 new from €4.29
as of March 24, 2023 11:07 am
BUY NOW
Amazon.de
Banggood - ESP8266 ESP-01 USB Serial Programmer with CH340
Banggood - ESP8266 ESP-01 USB Serial Programmer with CH340
Banggood - ESP8266 ESP-01 USB Serial Programmer with CH340
$5.21
BUY NOW
Banggood.com
Amazon.co.uk - ESP8266 ESP-01 USB Serial Programmer with CH340 (with ESP-01 Board)
Amazon.co.uk - ESP8266 ESP-01 USB Serial Programmer with CH340 (with ESP-01 Board)
Amazon.co.uk - ESP8266 ESP-01 USB Serial Programmer with CH340 (with ESP-01 Board)
£5.99
in stock
2 new from £4.99
as of March 24, 2023 11:07 am
BUY NOW
Amazon.co.uk
Amazon.com - ESP8266 ESP-01 USB Serial Programmer with CH340 (with ESP-01 Board)
Amazon.com - ESP8266 ESP-01 USB Serial Programmer with CH340 (with ESP-01 Board)
Amazon.com - ESP8266 ESP-01 USB Serial Programmer with CH340 (with ESP-01 Board)
out of stock
as of March 24, 2023 11:07 am
BUY NOW
Amazon.com

Installing CH340 Drivers

This module is based on the USB-UART bridge CH340 chip, so you must have the CH340 drivers installed on your computer to upload code to the ESP8266-01.

ESP-01 Board

If you don’t have an ESP-01, you can get one in the links below.

Aliexpress - ESP8266 - ESP-01 Wi-Fi Board
Aliexpress - ESP8266 - ESP-01 Wi-Fi Board
Aliexpress - ESP8266 - ESP-01 Wi-Fi Board
$0.13
$0.14
in stock
BUY NOW
Aliexpress
eBay - ESP8266 - ESP-01 Wi-Fi Board
eBay - ESP8266 - ESP-01 Wi-Fi Board
eBay - ESP8266 - ESP-01 Wi-Fi Board
$1.75
in stock
BUY NOW
eBay
Banggood - ESP8266 - ESP-01 Wi-Fi Board
Banggood - ESP8266 - ESP-01 Wi-Fi Board
Banggood - ESP8266 - ESP-01 Wi-Fi Board
$5.17
BUY NOW
Banggood.com
Amazon.co.uk - 3pcs - ESP8266 - ESP-01 Wi-Fi Board
Amazon.co.uk - 3pcs - ESP8266 - ESP-01 Wi-Fi Board
Amazon.co.uk - 3pcs - ESP8266 - ESP-01 Wi-Fi Board
£8.28
in stock
as of March 26, 2023 2:35 am
BUY NOW
Amazon.co.uk
Amazon.de - 3pcs - ESP8266 - ESP-01 Wi-Fi Board
Amazon.de - 3pcs - ESP8266 - ESP-01 Wi-Fi Board
Amazon.de - 3pcs - ESP8266 - ESP-01 Wi-Fi Board
€9.99
in stock
2 new from €9.99
as of March 26, 2023 2:35 am
BUY NOW
Amazon.de
Amazon.com - 4pcs ESP-01 ESP8266 Wifi Breakout Board
Amazon.com - 4pcs ESP-01 ESP8266 Wifi Breakout Board
Amazon.com - 4pcs ESP-01 ESP8266 Wifi Breakout Board
$12.99
in stock
as of March 26, 2023 2:35 am
BUY NOW
Amazon.com
Amazon.es - ESP8266 - ESP-01 Wi-Fi Board
Amazon.es - ESP8266 - ESP-01 Wi-Fi Board
Amazon.es - ESP8266 - ESP-01 Wi-Fi Board
out of stock
as of March 26, 2023 2:35 am
BUY NOW
Amazon.es

ESP-01 USB Serial Programmer Pins

To make the ESP-01 go into Serial Programming mode, GPIO 0 needs to be pulled to GND – which doesn’t happen in the original module. As you can see in the figure below, GPIO 0 is not connected to GND.

ESP8266 ESP-01 Adapter USB Programmer CH340 Serial Back GPIOs highlighted

For a reference, here’s the ESP-01 pinout.

ESP-01 Pinout
ESP-01 Pinout Guide

To pull GPIO 0 to GND to make the ESP-01 go into programming mode, you can solder a pushbutton to the ESP-01 USB Serial Programmer between GPIO 0 and GND pins, as shown in the following figures.

ESP8266 ESP-01 Adapter USB Programmer CH340 Serial Modified Soldered

Here’s the final result:

ESP8266 ESP-01 Adapter USB Programmer CH340 Serial soldered pushbutton

Programming the ESP8266 ESP-01 with the USB Serial Programmer

Now that you have your Serial Programmer fixed, we’ll show you how to program the ESP-01 using this module. Attach the ESP-01 board to the USB Serial programmer as follows.

ESP8266 ESP-01 Adapter USB Programmer CH340 Serial Plugged in

Then, follow these steps:

  1. Hold down the soldered pushbutton;
  2. While holding down the pushbutton, plug the ESP-01 USB programmer into your computer.
ESP8266 ESP-01 Adapter USB Programmer CH340 Serial Connected to Computer

Note: if you don’t hold-down properly the pushbutton before plugging it into your computer, your ESP-01 might fail to boot in flashing mode, causing an error uploading new code.

Open your Arduino IDE and having the ESP8266 Board installed. Select the board “Generic ESP8266 Module” and the right COM Port.

ESP8266 ESP-01 Adapter USB Programmer CH340 Serial Arduino IDE

After that, press the “Upload” button to flash an empty sketch to your board. After a few seconds, you should see the “Done Uploading” message.

ESP8266 ESP-01 Adapter USB Programmer CH340 Serial Arduino IDE Done uploading

[SOLVED] esptool.FatalError: Failed to connect to ESP8266

If you see the following error message when you try to upload a new sketch to your ESP-01:

esptool.FatalError: Failed to connect to ESP8266
Timed out waiting for packet header

This means that your ESP-01 didn’t go into flashing/uploading mode, so it can’t receive a new code.

ESP8266 ESP-01 Adapter USB Programmer CH340 Serial Arduino IDE failed to upload

One of the ways to solve this problem is to remove the board from your computer and restart the process.

  1. Remove the ESP-01 USB programmer from your computer;
  2. Hold down the soldered pushbutton;
  3. While holding down the pushbutton, plug the ESP-01 USB programmer into your computer;
  4. Ensure that the programmer Port is selected in your Arduino IDE;
  5. Press the Arduino IDE “Upload” button.

You might also try to hold down the soldered pushbutton while uploading a new sketch. If you continue to see that error, check with a multimeter that your pushbutton is soldered properly and it’s connected to the right GPIOs.

Wrapping Up

We hope that you’ve gotten your ESP8266 ESP-01 USB Serial Programmer with CH340 Chip to work properly with this article. After fixing the issue, you’ll see that this module is convenient to upload code to an ESP-01.

If you intend to get a USB Serial Programmer like this one, consider that you need to make a few modifications to make it work.

  • Read our ESP8266 Troubleshooting Guide for more tips
  • To learn more about the ESP8266, grab our eBook “Home Automation Using ESP8266“
  • Read our free 110+ ESP8266 NodeMCU Projects

Thanks for reading.


[Recommended Course] Learn ESP32 with Arduino IDE

Register in our brand new ESP32 course with Arduino IDE. This is our complete guide to program the ESP32 with Arduino IDE, including projects, tips, and tricks! The registrations are open, so sign up now.


Other RNT Courses

[eBook] Home Automation using ESP8266 »
Build IoT projects and home automation gadgets with the ESP8266 Wi-Fi module.
[Course] Build a Home Automation System »
Build a home automation system using open-source hardware and software.
[Course] Arduino Step-by-Step Projects »
Build 25 cool Arduino projects with our course even with no prior experience!

Share this:

  • Facebook
  • Twitter
  • Email

Related

Filed Under: Product Review, Reviews

Reader Interactions

Comments

  1. Robert Côté says

    June 1, 2020 at 7:13 pm

    This was a great Idea. I added this switch (GPIO 0 to GND but I also added another one from the Reset pin to Ground.
    Now, I can leave the circuit plugged in the USB port and when I want to put the 8266 into programming mode I just press FIRST the reset button – keep it presses and then press the GPIO 0 to ground button while releasing the reset button.
    The module goes into programming mode without having to unplug the usb port. I find it easier than unplugging and plugging the usb port while trying to hold the button down…!

    Thanks for the original tip.

    Reply
    • Metin says

      August 19, 2021 at 12:17 am

      The original tip and your addition together are perfect.

      Thanks!

      Reply
  2. wh7qq says

    June 1, 2020 at 10:30 pm

    Thanks, been needing this!

    Reply
  3. Gary Bishop says

    June 2, 2020 at 10:37 am

    Hi Rui and Sara,
    Thanks for all your work in making things accessible 🙂
    One comment on the addition of a programming button, I got this one (https://smile.amazon.co.uk/gp/product/B07G6ZPY9D) which has a slide switch, rather than a momentary switch, and I find it works flawlessly.
    I didn’t realise the benefit of the switch at the time – I chose this one, as it doesn’t have the large capacitor (?) which looks like it would hit the underside of the ESP-01 board.

    Keep up the good work – I am making my way through your ESP-CAM book now, and have the rest if the IOT bundle to do after!

    Reply
  4. Vihu says

    May 27, 2021 at 3:54 pm

    Thanks a lot,Exactly what i was looking for.saved my day!

    Reply
  5. Alex says

    August 20, 2022 at 12:12 am

    Thank you for this idea with a pushbutton! I did the same, and it works nicely.

    Reply
  6. Juandyman says

    December 6, 2022 at 2:31 pm

    Just came here to thank you, great guide!

    Reply
  7. RWePL says

    January 22, 2023 at 11:40 am

    I prepared programmer use CH340E with ATTINY13 to manage programing signal for arduino. Programer use DTR and TX signal to Attiny13 to set GPiO2 signal after reset signal. ATthe end when signal TX not sending signal after 1 second attiny send signal “RESET”
    I not use any switch button.

    Reply

Leave a Reply Cancel reply

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

Primary Sidebar

Affiliate Disclosure

We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites. We also participate in programs from Banggood, eBay, Aliexpress, ShareASale, and other sites. Maker Advisor is compensated for referring traffic and business to these companies (read more).

Maker Advisor is part of the Random Nerd Tutorials website. We find and select the best tools and gear that makers, hobbyists and DIYers like. We share deals, write unbiased reviews and compare tools. We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.

Affiliate Disclaimer - Privacy Policy - Terms and Conditions - Complaints' Book
Copyright © 2023 - Maker Advisor - A Random Nerd Tutorials website