ESP8266 ESP-01 Programming Jig

by MichaelB247 in Circuits > Wireless

7942 Views, 36 Favorites, 0 Comments

ESP8266 ESP-01 Programming Jig

IMG_20170413_075101.jpg
IMG_20170413_075205.jpg

I wanted to get to know this ESP8266 wifi module everyone was talking about and I got real excited when I discovered it's just two dollars on eBay! So I bought some and went ahead trying to get it to work. Days and hours later, I was frustrated and getting nowhere. I stuck with it and eventually made it work but noticed it would make my life considerably easier to have a little programming jig for connecting the ESP and programming or communicating via an FTDI USB. So I looked online and found some examples (like this one: https://www.hackster.io/glowascii/esp8266-programm...!) and then designed my own board with some added functionalities. Hope it makes your life with the ESP a little more enjoyable and a bit less frustrating!

Gather Your Parts

IMG_20170412_130113.jpg

For this programming board you will need:

Prepare the FTDI Controller

IMG_20170413_074509.jpg

Depending on the FTDI USB controller you may have to move a jumper or solder the back to get it to be 3.3V needed for the ESP. It is VERY important to check the voltage on the FTDI USB VCC pin BEFORE plugging in the ESP as 5V will fry it!

Mine was a Basic FTDI USB (like this one: http://www.ebay.ca/itm/FTDI-Basic-3-3V-5V-USB-to-T... that had a trace for 3.3V on the back. I had to cut the 5V trace and solder the 3.3V to the VCC pin (see photo). If you're buying one, get one with a jumper-selectable voltage like the one listed under parts.

Solder the Components

IMG_20170413_090033.jpg
IMG_20170412_151604.jpg
IMG_20170412_151615.jpg
IMG_20170413_075055.jpg
IMG_20170412_164854.jpg

This may be a bit tricky depending on your PCB size and wire available but stick with it and try to be neat. I made my job a bit easier by soldering a swathe of GND pins together because they're needed for the switches, LED, as well as the FTDI and ESP ground. See the photos for some close-ups and the diagram for the pinout. Add some labels to make it pretty!

Test!

IMG_20170413_074440.jpg
IMG_20170413_074449.jpg
IMG_20170413_075415.jpg
commands.png

There are many tutorials out there for getting started with the ESP. It's definitely a learning curve but if you stick with it, it's a great little board with tons of functionality for dirt cheap!

Here are two tutorials that really helped me to get going:

For pinout and setup as well as some good intro to ESP: https://www.instructables.com/id/ESP8266-WiFi-Modul...(note that in step 15 you have to unplug the GPIO 0 from ground to use the AT commands!)

An intro to using AT commands: https://www.instructables.com/id/Getting-Started-W...

The programming board will make certain things easier - it uses the 3.3V from the FTDI directly, which for most things will be enough. It also has the programming button to bring GPIO 0 to GND when you need to upload code.

My first foray into ESP-land was frustrating as I spent lots of time figuring out why I had gibberish on my display only to find my ESP started at 78400 baud rate and then switched over to 115200. I also had the GPIO 0 pin (programming pin) grounded when trying AT commands, which will NOT work. Make sure you know which way your switch faces on the board so that when it is engaged it brings the GPIO 0 to ground and puts the ESP in upload mode. The other thing this board will make easier is mistakes with RX and TX - but do make sure you have the TX from ESP going to RX on the FTDI and the RX from ESP to FTDI TX. I spent hours trying to figure out my breadboard before discovering I had the TX pin moved over one. Hence the reason for this project!

I used the Arduino serial monitor because it allows easy baud selection. If you follow the steps in the first article above for installing the ESP software and selecting the right parameters you should be just fine.