Make Esp8266 Dev Board From Scratch

by Amit_Jain in Circuits > Wireless

17211 Views, 50 Favorites, 0 Comments

Make Esp8266 Dev Board From Scratch

temp_986754679.jpg

Hi All,
ESP8266 needs no introduction. It is the cheapest WIFI module available and one can find many interesting projects online. ESP8266 has many variants starting from ESP01 to ESP13 (getting added every few months) I got really excited watching few applications of ESP8266 and bought a ESP12E module

It was not easy to work with this module as the pins are not breadboard friendly or PCB friendly. I had to build a custom dev board to test it out. I could not afford to buy a ready to use ESP8266 dev board, as these are very expensive, in India. And there is no fun in it

To get started with this module, I had to pick information from several post/blogs etc. In this instructable I will consolidate all info, issues and their solutions, I discovered during build and testing.....

What Do We Need ?

image00035.jpg
image00034.jpg
image00040.jpg
image00039.jpg
image00038.jpg
image00037.jpg
image00036.jpg

Material

  1. ESP12E - ESP8266 Module
  2. FTDI RS232TL
  3. Double sided Prototype PCB
  4. 3.3 V Regulator
  5. Resister : 10k(4) 1K(1)
  6. Red Led
  7. Male and female Header
  8. Wires
  9. Push button
  10. On /Off Switch
  11. Capacitor - 10uF, 100uF
  12. 3 AA battery holder

Tools

  1. Soldering Iron, Flux, Soldering Wire

Circuit Diagram

image00033.jpg
image00032.jpg
image00031.jpg

I referred both NodeMCU dev board and Adafruit huzzah board, come come up with a simpler design

VERY IMPORTANT

  • ESP8266 works only on 3.3V. Using 5V or higher will damage this module
  • We need a 10uF Capacitor between Vcc and Gnd ( The Module draws currents which makes the input voltage drop from 3.3 to 2V. adding this capacitor maintains 3.3V
  • Always use an external power supply and do not use power from USB
  • I used both FTDI RS232TL USB to serial and CD340; both chips worked perfectly

Build It

IMG_20160115_090607 - Copy.jpg
IMG_20160115_093125.jpg
IMG_20160115_185022_1453023324174.jpg
IMG_20160115_185807.jpg
IMG_20160117_120618.jpg
IMG_20160117_134807.jpg
IMG_20160117_144947_1.jpg

I used small pieces of copper wire (insulated) and soldered them to each pin of the ESP12E module. Note I did not solder all pins.

Tip : Use flexible or soft wire than, single core copper strain from LAN cable.

Be careful in soldering and donot short adjacent pins, as I did

I added female header pins for each pin and USB to serial converter, similar to Arduino Uno boards

Programming : Choose Between Arduino IDE or NodeMCU ????

temp_570472548.jpg
temp_925822388.jpg

I tested

  • AT
  • NodeMCU
  • Arduino IDE

Link on How to Setup Arduino IDE for ESP8266

Well AT is good to start with but need Arduino or serial master control to execute anything basic on the module

Arduino IDE is easy to setup and many of us are familiar with. Easy to code. But for some reason does not save every time. I observed that partial data from previous code remained or flashing doesnot happen correctly. Apparently not very stable to work with....

I have attached a screenshot where I flashed using Arduino and NodeMCU boots :(

NodeMCU : Simple interface, but have to learn new LUA Scripting. Takes a while before i got little hang of it.

I could control my code and do tests

Flashing Issues

temp_-1631740637.jpg
temp_-1745917662.jpg
temp_28145983.jpg
temp_733681246.jpg

Common Issues

  • Sync Chip Error
  • Com port Busy
  • Com closed

Solution : Add a switch to the external power supply, switch on and press flash at the same time

Brick Your ESP8266

temp_658991641.jpg

Another problem I got from Arduino was that the code was not correctly return to flash. and the module doesnot boot correctly. I bricked it.

Solution :

Arduino IDE cannot be used to fix things, set the serial baud at 74880 instead of 9600 or 115200, to see error logs. Google them and then try following

Connect the GPIO 0 to Gnd using Jumper and switch off the power supply, Now using ESP8266 flash download tool initiate flashing and switch on the power supply. One may have to try few times to get the timing right

If you brick

I exported the bin and flashed it using ESP8266 flashing software

PlayTime

temp_-337431718.jpg

Classic Blink Code
Arduino
Node MCU
Or Make your ESP8266 as WIFI Access Point

Conclusion

IMG_20151112_193119.jpg
IMG_20151112_194527.jpg

  • Amazing chip but unstable may be in few months we will have stable or better chip which s cheaper
  • Using breakout board adapters helps reduce those fine soldering
  • One cannot flash ESP8266 too many (I do not have the count, I flashed about 30 times and then the filesystem doesnot let you flash anything ). Possible solution to replace flash memory