Introduction: ESP8266 As Arduino Part 2

About: Lazy Old Geek

LAZY OLD GEEK (LOG).

So this is a followup to ESP8266 as Arduino:

https://www.instructables.com/id/ESP8266-as-Arduino/

These are some of the problems and solutions I’ve had since I wrote it.

USB adapters:

So my favorite USB adapter is/was the PL2303. (see picture). Well, I recently upgraded to Windows 10 and found out the ones I had wouldn’t work with the Windows 10. Apparently only PL2303HXD (HX Rev D) or higher are supported. While I have some HXDs, they’re older ones and are not compatible. By the way, there doesn't seem to be a way of identifying which Rev level a PL2303 is. There is a software test that will tell you.

So I also had some FTDI232s. These actually worked with Windows 10. But I tried to flash ESP8266s with ESP8266_flasher.exe. I tried three different FTDI232s but none of them would complete a flash. (see picture). Apparently other people have had good success with these, so I don’t know why I don’t.

Anyway, I also had some CP2102s. Well, these actually worked fine with Windows 10 and flash. (see picture). I modified the one in the picture to connect 3.3Vdc on the ‘CTS’ pin. These are the ones I’m using mostly.

CAUTION: Many of the USB adapters have a 3.3Vdc source but it’s only around 50mA and not enough to run an ESP8266.

Step 1: PCB Adapters

Well, I decided to make an adapter PCB for programming ESP8266s, specifically the ESP-01, ESP-03. See pictures. First, both ESPs are not breadboard compatible and second I wanted a better 3.3Vdc power source.

As you can see the ESP-01s already have connector pins(However, they’re not compatible with a breadboard). The ESP-03s do not. They have pads but are spaced at 2mm instead of the traditional 0.1” spacing.

Now I could design PCBs with pads that the ESP-03 could be soldered to, but since I’m rather new to the ESP-03s, I decided to solder some 2mm header pins to the ESP-03s and put 2mm sockets on my PCBs, so I could replace them as needed. See picture.

So I decided to make a PCB for the ESP-01 and ESP-03 so that I could program them and do some basic prototyping. This is based on the programming I did in the first ESP8266 as Arduino Instructable. See schematic and pictures.

NOTE: Although some of the pictures show both an ESP-01 and ESP-03 attached, you can only program one or the other at a time.

Now this worked great for ESP-01s. However, only a few of the ESP-03s would work. I’m not sure why this didn’t work very well with ESP-03s. My guess is that the extra length and pass thrus deteriorated the serial signals.

Anyway, I decided to keep this one for programming the ESP-01s but made another PCB for ESP-03s only. See schematic and picture. This works great.

NOTE: The 3.3Vdc regulator is SMD and is mounted on the bottom side of the PCB.

I've attached the Eagle Cadsoft files for making these adapters in a Zip file.

Step 2: ESP-03 Improvement

The ESP-03 does not have a Reset pad easily available. However the CH_PD pin will act like a Reset.

However, several ESP8266 websites recommend that the Reset pin be pulled up to Vcc with a 10K resistor to increase stability.

I am starting to do this with some of my ESP-03 modules.

In the first picture, the pad in the upper left side is labeled VCC. Well, the solder pad just to the right of it is Reset.

I added a 10K resistor between the VCC pad and the Reset pad. Well, this is really pretty ugly but does seem to work. I have ordered some 10K SMD resistors and will hopefully make this a little neater.

All of this Instructable helped make prototyping easier for me.

The cover picture is a hint of one of my projects.