Friday, August 26, 2016
ESP 05 mini ESP8266 WiFi module
ESP 05 mini ESP8266 WiFi module
ESP-05 is a mini size WiFi module of ESP8266 family. Almost half size of ESP-01, no on-board antenna, with five-pin in SIL, more breadboard friendly.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3msSx_zZbIXkeww8uSz-F_snsJGQJgAu1wIlVFhPimNJVc4o4U-e3ZKH_kehpV3vrNjheeBdRZHQeuz9t0bFgi1o5A35s5Cq95RrhgTuqQ-mIALn_KtC3XZrNBGQh9IrKSSNJ25rxhnI/s640/ESP-05_1.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqQWTdQP5BlsP_gSULEAYv4ynqNWgKcTgzaslf93_fK_A6oB-Q9T1fdsVm5_G-IcL79aslT9iuDcgGwEs4Ezvw3NX4nK189mDQ_W17pl0WFpZV-WAlA_ZvDr-RlpayEfS_sTgNX6HI0Bo/s640/ESP-05_2.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMyxzh3TFSjY83sm67NXB-0yDn_suP3jepx-xk7cKX_fg5gsHNMmnDxTh8w7Cko9JcN-orUIpY4-flFXBDVLMeAPHrjzoZPZrcbqXTF759z4ukgsGPYHaunEZwIUjtwhsYFzx-j5nGdAw/s640/ESP-05_vs_ESP-01_1.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiudmxB56TImKyV61XJyOwj5jCZdAFsPVwrZz5H0up9j-Kp39TFD5HItKXZheRva0Lk6ZTzVwTJu9FLYfEn9XXw1rjhEb8Jj9d3-hCqMzonEqhDYMQctHHh_MXfDsdYbY7FIfn-svYYGsw/s640/ESP-05_vs_ESP-01_2.jpg)
Its 5 pins on the board:
- RST
- GND
- URXD
- UTXD
- VCC3V3
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoVk9nnbigko2FxeFHk1GxKJ-_Rx5U2yb2YLkG7VvTSJ_3Gh1YxdqTc-9IMhnmuZBpXMGU_4htz9RFG_k1P98ibQVgCwru9Zms9qO_YH9jQxDatVL-ymfPMXDlBq_cTCLxxa_Ole-CyBs/s640/ESP-05+drawing.png)
First test AT Command and check firmware:
To test ESP-05 with AT Command, we connect ESP-05 to PC via FTDI USB-to-Serial adapter, as shown:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh26erZPw2XgsbUjLAdG94UJbv9XU8GiwjX8odJneR80s5jztNFJlp0D9C6QLUJ3flRwFoykhNiS7YfSjlFTrDnh7rf8jiacEUD6xgsYaCIseAvH_BxpbVcitTqNcHPy-KlxRddHz2eOmA/s640/FTDI-ESP-05.png)
- Run Arduino IDE
- Select connected port
- Open Tools > Serial Monitor
- Select Booth NL & CR, 115200 baud
- Power on ESP-05
- Then you can enter AT command as show in this video:
To check the firmware, enter the command AT+GMR:
AT+GMR
AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK
Connect with Arduino Mega 2560 via Level Converter:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQV3_huOMUASxFnGOx2WJHwVw4gw7s-x6mwA8EaEZcts0x91dUzdZXLh-_nkan2l_wfqjwVdlGcE0K7ePxw9TQyypun-Kej0s9G3nE9i6knUtq05vp7aJj1CN4xaAtnIL2sNB-Cdyoons/s640/P_20160618_183101.jpg)
In this step, we are going to connect ESP-05 to Arduino Mega 2560, such that we can send command to ESP-05 by Mega. Because Mega is work on 5V, and ESP-05 work on 3.3V, so we need a Level Converter.
Connect as shown:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzgcNDEJr_3owGHOQklgMNhYe4OjC7ZsqFWqYw1dj9Pgnthq2SldqpmujLIUW37N8E61yXpexmV7_7uWGIFqpQgMCh66Vq3BHY0WTJKkYDqQdLKpdVRtrN7b4wE6zAXWn0YF2ZTiT1Yjc/s640/Mega_ESP05.png)
(Alternatively, you can simple use a voltage divider of 2 resistors to convert 5V Mega TX to 3.3V ESP-05 RX, ESP-05 TX can direct connect to Mega RX, to achieve the same job.)
Enter the code run on Mega. This program simple accept command from PC forward to ESP-05, receive response from ESP-05, forward to PC.
Mega_ESP05_test.ino
int LED = 13;
boolean LEDst = false;
void setup() {
Serial.begin(115200);
Serial3.begin(115200);
pinMode(LED, OUTPUT);
digitalWrite(LED, LEDst);
}
void loop() {
while (Serial.available() > 0) {
char a = Serial.read();
Serial3.write(a);
}
}
void serialEvent3() {
while (Serial3.available() > 0) {
char a = Serial3.read();
Serial.write(a);
ToggleLED();
}
}
void ToggleLED(){
digitalWrite(LED, LEDst = !LEDst);
}
Such that we can enter command as in "First test AT Command and check firmware" above. This step aim to make sure the connection between Mega and ESP-05 is correct.
Example:
- ESP-05(ESP8266) + Arduino Mega, act as simple web server