Introduction: Make Esp8266 Dev Board From Scratch
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.....
Step 1: What Do We Need ?
Material
- ESP12E - ESP8266 Module
- FTDI RS232TL
- Double sided Prototype PCB
- 3.3 V Regulator
- Resister : 10k(4) 1K(1)
- Red Led
- Male and female Header
- Wires
- Push button
- On /Off Switch
- Capacitor - 10uF, 100uF
- 3 AA battery holder
Tools
- Soldering Iron, Flux, Soldering Wire
Step 2: Circuit Diagram
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
Step 3: Build It
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
Step 4: Programming : Choose Between Arduino IDE or NodeMCU ????
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
Step 5: Flashing Issues
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
Step 6: Brick Your ESP8266
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
Step 7: PlayTime
Classic Blink Code
Arduino
Node MCU
Or Make your ESP8266 as WIFI Access Point
Step 8: Conclusion
- 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
5 Comments
7 years ago
Cool project, I plan on building one myself in such a way that I can pop on and off esp modules without soldering. Can you help me understand why I wouldn't want to use usb to power the dev board? I have an "off the shelf" dev board that I have programmed and powered through usb and I see people all over youtube doing this so I am not sure why I wouldn't do the same if I am building it myself.
Reply 3 years ago
Because USB is 5v, and the esp8266 is 3.3v.
Reply 7 years ago
hi JoeDSM, yes the USB power works. I initially used it on this board as well. But flashing does not work after some time with USB powered. I had to use external power and It worked almost every time.
From my experience of you have flashed node MCU firmware, USB powered module works fine for uploading lua scripts.
Another point is sometimes these modules a lot of current and my old laptop could not supply enough, so the esp module goes in reset loop.....
6 years ago
where the other end of the 10K resistor at gpio 15 would go???
Reply 6 years ago
to ground