Introduction: 2020 ESP8266

About: Lazy Old Geek

So this Lazy Old Geek (L.O.G.) wrote some Instructables on ESP8266 modules:

I still have several ESP-01s and ESP-03s and tried to get them to work.

Well apparently, the following process no longer works.

Put ESP8266 into Flash mode:

Ground GPIO0

Briefly ground Reset

Release GPIO0

(If you have an LED on GPIO0, it should be about ½ intensity)

What seems to work is to hold GPIO0 low, hit Reset, load sketch, release GPIO0, then tap Reset. This isn’t very easy to do.

The lastest documentation has another method:

See Minimal Hardware Setup for Bootloading and Usage

Attached is the recommended setup.

Step 1: ESP Adapter

In my Part 2, I made a programming adapter for the ESP-01 and ESP-03.

So I still have one of those adapters. Instead of making a new PCB, I decided to modify this one.

Ok, there’s one slight problem with my plan, The ESP-01 has Reset on one of it’s pins, the ESP-03 does not. Well, my previous experience seems to indicate the CH_PD pin does the same thing as the Reset so I tried it and it seems to work.

As described in the notes of the schematic, what I did was take a wire from the USB-BUB connector DTR pin and connect it to GPIO0 of both connectors. I connected the 3.3V pin (explained in next step) to CH_PD of both connectors.

The two jumpers are shown in next picture.

Step 2: CP2102 Module

I have several of the CP2102, USB to UART adapters. Some of them have RTS on a side connector but I needed it on the main connector. What I did was cut the pin which is connected to CTS. (This pin is labeled 3.3V on my schematic as I have some CP2102s modified for 3.3V). Then I wired a jumper from RTS to the female header pin.

This is shown in the next picture.

Unfortunately, I have many variations of these USB to UART adapters. I try to label them but always have problems remember which goes to what. I’m OLD.

See next picture. CP2102 has clear shrink wrap and label.

Step 3: Arduino

I am currently using Arduino version1.8.12.

The easiest way for me to install the ESP8266 is using Board Manager using this method:

Once installed, when selecting Board, I select “Generic ESP8266 module”.

WARNING: On my PC there are two versions of “Generic ESP8266 module”. The one under the category “ESP8266 boards” works for Blink, the one under Sparkfun does not.

The next picture shows the default Board setup (I think). I’ve played around with a lot of these, like Flash Size, Mode, they don’t seem to make any difference.

For my adapter, I do have an LED on GPIO0 so I do change the Builtin Led to 0.

To verify it’s working I just run the Blink example. No need to press any buttons. Your Arduino should display something like the next picture and in my case, my adapter board LED will blink.

FYI: The way my adapter is wired a high will turn LED off and visa versa not as described in Blink.

At this point, I haven’t done much beyond Blink but this method seems to work and is much easier.

I have been working with ESP-07.

TIP: Arduino using Node MCU 1.0 for better compatibility instead of Generic.