Introduction to ESP-01

I hope you all are doing great. In today's tutorial, we are gonna have a look at detailed Introduction to ESP-01. ESP-01 is an inexpensive, small-sized WiFi module, which consists of TCP/IP stack along with a built-in microcontroller. So, we can directly program this small chip and can bring WiFi capability in our Embedded projects. When first time this ship came into the market in August 2014, it got a lot of attention by users. The main reason for it to seek attention is that this module allows the microcontroller to connect with a WiFi available (and programmed to connect) and it follows Hayes Style Commands and develops a TCP/IP network. ESP-01 chip integrates an antenna, RF balun, power amplifier, filters, and power arrangement module. ESP-01 is used in industry and many projects as a WiFi module. In today's post, we will have a look at its circuit diagram, working, pinout, etc. I will also share some links where I have interfaced it with other microcontrollers. If you have any question about it please ask in comments I will resolve your problems. So, let's get started with a basic Introduction to ESP-01.

Introduction to ESP-01

  • ESP-01 is a WiFi module which allows Microcontroller easily access to WiFi network. It is one of the primarily incorporated WiFi chip in the industry, it assimilates the antenna switches, Radiofrequency balun, power amplifier, low noise receiver amplifier, and power executive elements.
Download ESP01 Datasheet
  • This module requires minimum internal circuitry, its entire solution, including the front end module is designed to occupy minimum PCB area.
  •  ESP-01 module is termed as a system on chip (SOC) because it acts as a standalone Microcontroller itself, so we don't need to interface it with any other microcontroller (i.e. Arduino, Atmel, PIC Microcontroller, etc.) in order to use its I/O Pins.
  • ESP-01 also integrates an advanced version of Tensilica's L-106 diamond series 32 SRAM with the WiFi functionalities. It also integrated with specific devices through its GPIOs and code for such applications are provided in SDK.
Now, Let's discuss ESP-01 pinout with a detailed description.

ESP-01 Pinout & Description

  • The pinout of ESP-01 is described below with a detailed description.
Pin# Type                                         Parameters
Pin#1 VCC This pin is used for input power supply 3.0 to 3.6V.
Pin#2 GND  This pin is used for Ground.
Pin#3 RESET This pin is used for the external reset signal (Low voltage level: Active).
Pin#4 ADC(TOUT) This pin is analog to digital converter.
Pin#5 CH_PD It is Chip Enable. High: On, the chip works properly; Low: Off, small current.
Pin#6 GPIO0(FLASH) It is a general purpose I/O, If low while reset/power on takes chip into serial programming mode.
Pin#7 GPIO1(TX) It is a general purpose I/O and Serial TXd.
Pin#8 GPIO3(RX) It is a general purpose I/O and Serial RXd.
Pin#9 GPIO4 It is a general purpose I/O.
Let's see the pinout diagram. Now, we discuss the features of ESP-01.

Features of ESP-01

  • These are the main features of ESP-01. Which are described below.
    • It is a low power 32-bit microcontroller unit.
    • It uses TCP/IP protocol for transmission.
    • ESP-01 consists of integrated switch, balun, power amplifier, LNA and matching network.
    • It works on 802.11 b/g/n WiFi with a frequency of 2.4 GHz and WPA (Wi-Fi Protected Access) or WPA2.
    • It also consists of 10 bit ADC 2.0, (H) SPI, UART, I2C, I2S, IR remort control, PWM and GPIO.
    • Its deep sleep power is less than 10uA and Power down leakage current is less than 5uA.
    • Its wake up and transmit packets is less than 2ms.
    • Its stand by power consumption is < 1.0mW (DTIM3).
    • Its output power is +20 dBmin 802.11b mode.
    • Its operating temperature range is -40C to 125C.
    • This module is FCC, TELEC, CE, WiFi Alliance, and SRRC certified.
Now, we discuss Its Arduino interfacing.

ESP-01 Arduino Interfacing

The project of Arduino with ESP-01 which we are going to explain in the next few lines will explain how we can read time, date, temperature and humidity from the internet using an API with ESP-01. Then send these values to an Arduino and show these values on the LCD screen.
  •  Components of Project
    • Arduino Board i.e. Arduino UNO.
    • ESP-01 Module.
    • 16×2 or 20x4 simple LCD.
  • Explanation of This Project
    • In this project, we are using Arduino IDE in order to upload code in ESP-01 and will write code by using the APIs and will send an HTTP request to the server and will read a JSON file.
    • It's a big JSON file and we just need small info from it, so we are gonna read the whole file and will only get our desired values from this JSON file.
    • After getting these values, we are simply printing it on Arduino Serial Monitor.
    • Than these serial lines will be connected with Arduino so that Arduino can read the information received from ESP-01.
    • After this process information processed and show on LCD. We can get our desired output on the LCD screen.

  • For further information, let's see a circuit diagram.

Memory of ESP-01

  • There are two types of memories which is integrated into the ESP -01 modules. First is internal SRAM and ROM, second is  External SPI flash. Let's discuss them with detail.
  • Internal SRAM and ROM
    • ESP-01 is integrated with memory controller including SRAM and ROM. A microcontroller can access to memory unit by iBus, dBus, and AHB interfaces.
  • External SPI Flash
    • ESP-01 module can be integrated with a one MB external SPI flash to store programme. If larger sized storage is required SPI flash with a larger size will be preferred. 16 MB memory capacity can be supported by this external flash.

Applications of ESP-01

  • ESP-01 is wifi module which can be used in different industrial and commercial projects for sending and receiving data.
So, that was about  ESp-01, if you have any question please ask in comments. I will resolve your problems. Thanks for reading. Take care...
Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir