ESP 8266 is a tinny WiFi module, normally it requires the USB to serial converter to upload the programs. In this post we are going to see, how to program the ESP 8266 with out USB to serial converter. Here we are going to use the Arduino IDE and Arduino Uno board to program the tinny WiFi module.
Hardwares required
- ESP 8266 - 01
- Arduino Uno
- ESP demo board (Optional)
- Jumper wires
- LED with Resistor (220 / 330 ohm)
Softwares required
- Arduino IDE
What is ESP demo board and why it is required ?
As you aware the ESP 8266's operation voltage is 3.3V but the Arduino is working in 5V. So the direct connection of RX and TX PINS between the Arduino and ESP is not recommended.
In some cases, It breaks the ESP, So we need to step down the 5V RX, TX PINS to 3.3V as well as for 5V power supply.
The ready made ESP demo board offers this functionality to us. Otherwise we have to add the resistors between the RX and TX to step down the voltage.
How to connect the PINS between the ESP 8266
ESP8266 | Arduino |
RX | TX |
TX | RX |
CH_PD | 3.3V |
GPIO 0 | GND |
VCC | 3.3V |
GND | GND |
if you use the ESP demo board, just ignore the CH_PD pin, it is directly looped in the circuit itself and it has 2 Rx PINS, one is for 3.3V and another one is for 5V. We have to use the 5V Rx PIN Since we are connecting from the Arduino
Ardunio IDE setup
- Download and install the Arduino IDE
- Add the ESP board using following steps
- Go to FIle -> Preferences and add the URL http://arduino.esp8266.com/stable/package_esp8266com_index.json in the field 'Additional Boards Manager URLs'
- Select Tools -> Board -> Board Manager and select ESP 8266 board and choose the version 2.5.0 and click install (At the time writing this post 2.5.1 and 2.5.2 versions are not working properly)
- Once successfully installed the board restart the IDE and choose the 'Generic ESP 8266' board via Tools -> Boards -> Generic ESP 8266
Writing the program to blink the LED
- Upload the below program
#define LED 2
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
- Connect the LED with ESP board in the GPIO2 and GND (use the 220 / 330 ohm resistor )
- Remove the Rx, TX and GPIO0 PINS
Comments
Post a Comment