ESP-01 Programmers Compared


While experimenting with ESP-01 modules I tried a variety of different methods to program them. USB based programming devices seem quite popular but not all are quite what they seem. Many are advertised as “ESP-01 programmers” but either don’t work or require hardware modifications.

There are three variants you are likely to come across when searching on eBay, Aliexpress or Amazon.

The One with the Big Capacitor

This is a CH340 based device and has a large capacitor to smooth the incoming 5V supply.

ESP-01 USB Programmer

This is my preferred device as it is the first one I got working on both Windows and Linux. However it requires a hardware modification to work as advertised. The GPIO0 pin needs to be connected to Ground as this is required for the ESP-01 to operate in “programming mode”.

ESP-01 USB Programmer

Here is my device with a 2-pin header soldered to GPIO0 and Ground :

The pins are slightly bent so they touch the required pins without additional wiring. The header is super-glued in place and once the solder joints are made it is fairly robust. The jumper completes the circuit but allows the link to be disconnected if required.

In order to connect ESP-01 modules that had additional hardware glued to them I made an extender to lift it clear of the capacitor.

The Red One With the Switch (CH340C)

This is a CH340C based device and this label should be visible on the chip. The seller advertised it as a CH340G device.

ESP-01 USB Programmer

This device looks like it will do the job. It even has a switch to connect GPIO0 to ground and sellers usually declare this makes it better than the one with the capacitor as no additional modifications are required. The only problem is they simply don’t work. I’ve got three and none of them work under Windows or Linux. This includes using ESP-01 modules from different sellers.

ESP-01 USB ProgrammerYou can see the PCB has some unpopulated areas on the PCB.

While searching online for a solution I couldn’t find any reference to anyone ever having got one of these to work. There are lots of sellers but zero satisfied customers.

My advice is to avoid this model. I wonder how many of these end up at the bottom of a drawer after the owner gives up trying? I’m not sure if the PCB components are meant to be missing or this device is part of a rogue batch.

The Red One With the Switch (CH340G)

This variant is identical to the red device that uses the CH340C but it has some additional components on the PCB. The chip is labelled CH340G.

ESP-01 USB Programmer

It also has the switch to connect GPIO0 to ground and enable programming mode.

This worked on both my Windows PC and Linux laptop without any modifications.

Which ESP-01 Programmer to Buy and Which to Avoid

Based on my experience I would buy the red CH340G based device with the switch. It works under both WIndows and Linux and doesn’t require any additional modifications. Just make sure you get sent a device with the correct chip on it.

ESP-01 Programmers to Buy and Avoid

The one with the capacitor is fine but be prepared to make the hardware modification so you can actually use it.

Avoid the red device with the missing PCB components.

Where to Buy ESP-01 Programmers

USB programmers for the ESP-01 can be found from numerous sellers on the following sites :

They usually cost between £1 and £5 depending on location and delivery options.



  1. had one of those ch340C adapters that did not work.
    Soldered bridge from CH_PD to VCC as suggested above in first post. Now it works flawlessly.

  2. It looks like the missing component on the leftmost red one is a crystal and a few capacitors that the CH340G requires (as is used on the center red one) but the CH340C does not.

  3. Same here. Had the “not working version”. Seller advised to put 4.7 kOhm resistor between 3.3V and CH_PD. Did that, now works like a charm. It’s also unpopulated in some areas.

Leave A Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.