Introduction: ESP8266 As Arduino Part 2
LAZY OLD GEEK (LOG).
So this is a followup to ESP8266 as Arduino:
These are some of the problems and solutions I’ve had since I wrote it.
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.