ESP8266 WiFi Module

ESP8266 is a WiFi module which is able to be programmed by Arduino IDE software. This module has an ESP8266EX chip and usually a 32 Megabit flash memory for uploading the firmware.
This module has different types such as ESP12, NodeMCU etc.
Also have designed a module with ESP8266 and ATmega8a a while ago for using in my projects:

Either of the microcontroller and the ESP8266 or ESP32 WiFi module must be programmed separately. I have used the above method for the WiFi Robot project.
The Breadboard, ATMega8a + ESP8266
You can test the above method on a breadboard.
First of all, you have to program the ATMega8A with an AVR parallel programmer (high voltage programmer). Furthermore if you’re going to use a SPI programmer, you must put a pull up resistor for PC6 (Reset pin) of ATMega8a. There’s a sample ATmega8A program file that you can download it: Download the ATMega8a flash file
So the fuse byte in AVR parallel programming, set the “Fuse High Byte” to 0x78, the “Fuse Low Byte” to 0xA4, and the “Lock Bits Byte” to 0xFC.
The fuse byte in AVR SPI programming, set the “Fuse High Byte” to 0xD8, the “Fuse Low Byte” to 0xA4, and the “Lock Bits Byte” to 0xFC.
Then program the ESP8266 module with Arduino IDE or flash download tool and a USB to serial adapter. Due to firmware files addresses, the esp module must have a 32MBit flash memory. So if your module has not a 32Mbit Flash, try to replace its flash memory with a 32Mbit. For example W25Q32. You can also download the sample program file for ESP8266: Download ESP Module firmware files
The smaple contains the following files:
- ESP8266EX_0x000000: Must be copy at address 0x0 in the 32Mbit flash memory. This file includes some initial system settings.
- ESP8266EX_0x001000: Must be copy at address 0x1000 in the 32Mbit flash memory. This file includes the firmware program data.
- ESP8266EX_0x0FE000: Must be copy at address 0xfe000 in the 32Mbit flash memory. This is a 4KB blank file for the system settings.
- ESP8266EX_0x300000: should be copy at address 0x300000 in the 32Mbit flash memory. This file includes internal webpage data.
- ESP8266EX_0x3FC000: should be copy at address 0x3fc000 in the 32Mbit flash memory. This file includes some initial wireless/WiFi settings.
- ESP8266EX_0x3FE000: should be copy at address 0x3fe000 in the 32Mbit flash memory. This is a blank file for the system settings.
Here’s ESP Flash Tool settings:

Assembled WiCard (The Sample Program Circuit)
Finally assemble the module after programming the firmware on ATMaga8A and ESP module (I’m using an ESP12 module which I have replaced its flash with a W25Q32).

Port Pins
The following table will help you to find the WiCard port pins:

Status LEDs
Also you can use GPIO 12 (MTDI) of your ESP8266 module (if it’s available) as “NET Status LED”. Besides that, you can use GPIO 14 (MTMS) as “Program Status LED” and GPIO 15 (MTCK) as “Error LED”.

Written by: M. Mahdi K. Kanan – Full stack electronics and programming engineer and the founder of WiCardTech
12 Responses
Hi, Neat post. There is an issue with your website in web explorer, would test this. IE still is the market chief and a huge element of folks will pass over your great writing due to this problem.
Thanks, I’ll check it out.
I’ve been surfing online more than 3 hours today, but I never discovered any attention-grabbing article like yours. It’s pretty worth enough for me. In my view, if all web owners and bloggers made good content material as you did, the internet can be much more useful than ever before.
Thank you!
Ahaa, its nice discussion regarding this post here at this web site, I have read all that,
so now me also commenting here.
Thanks
Thanks for a marvelous posting! I seriously enjoyed reading it, you
could be a great author.I will be sure to bookmark your blog and may come back sometime soon. I want to encourage you
to continue your great work, have a nice afternoon!
You’re Welcome.
It’s a shame you don’t have a donate button! I’d most certainly donate to
this excellent blog! I suppose for now i’ll settle for bookmarking and adding your RSS feed to my Google account.
I look forward to fresh updates and will talk about this blog with my Facebook group.
Talk soon!
Hello Dear, are you in fact visiting this web page daily,
if so afterward you will without doubt obtain nice know-how.
Pretty! This has been a really wonderful post. Thanks for supplying this info.
Hey! This is my first comment here so I just wanted to give a quick shout
out and say I really enjoy reading through your articles.
Can you suggest any other blogs/websites/forums that cover the same subjects?
Thanks a ton!