If you are a developer or engineer interested in IoT or projects involving data sharing between microcontrollers, Wi-Fi modules are a must-have in your PCB circuits. However, these components can be expensive, which will make your entire project costly from the start. The ESP-12E provides an affordable alternative, though, and this low price is possible because the module has a low-cost esp8266 microchip as its brain.
So, what is the ESP-12E, and how do you use it? Here is a detailed description of the module.
What is ESP-12E?
To understand this module, we must first look at the microchip that runs it. The ESP8266 is an affordable Wi-Fi microchip with built-in microcontroller capability and TCP/IP networking software.
However, the component does not have flash memory, so a third-party manufacturer assembled it on a board with flash storage, creating various modules ranging from ESP-01 to ESP-14.
The ESP-12E is one of the most common modules in the range because it is a self-contained Wi-Fi networking solution with 4 MB of flash storage and enough space to program and store lots of code.
ESP12-E Module Pinout Diagram
The ESP-12E has 22 pins in total, but only 20 of them are active. They include:
- RST – For resetting the module
- ADC analog input pin (10-bit, 0 – 1V)
- EN – Enable pin (Active when high)
- GPIO 16 – General Purpose Input Output pin 16
- GPIO 14
- GPIO 12
- GPIO 13
- VCC – 3.3V power input (VDD)
- CS0 – SPI interface chip selection pin
- MISO – SPI interface MISO pin
- MOSI – SPI interface MOSI pin
- SCLK – SPI interface clock pin
- GND – Ground pin
- GPIO 15
- GPIO 2
- GPIO 0
- GPIO 4
- GPIO 5
- RXD0 – UART0 RDX pin
- TXD0 – UART0 TXD pin
Features and Electrical Characteristics
The ESP8266 chip runs on 3.3V and operates its Wi-Fi on the 2.4GHz frequency, not the newer 5GHz, so make sure to enable 2.4GHz on your access point.
It has one ADC pin, a standby power consumption of less than 1mW, and the maximum current draw per pin is 15mA. Other features include:
- IEEE 802.11 b/g/n wireless standard
- +16 +/- 2dBm, +14 +/- 2dBm, and +13 +/- 2dBm for the power transmission of b, g, and n protocols, respectively
- Onboard PCB antenna
- PWM, programmable GPIO, UART, SPI, and SDIO 2.0
- HTTP/ FTP/UDP/TCP, and IPV4 network protocols
- TCP client 5-serial transmission (110 – 921,600 bps)
- AES/WEP64/WEP128/TKIP encryption
- -40°C to 125°C operating temperature
How To Use The ESP-12E Module
You will need a few materials to program and use the chip. These include:
- A 5V power adapter
- 3.3V regulator
- Jumper wires
- USB to UART serial module
- Perforated or PCB (due to its high current-carrying capacity) dev boards
- Arduino IDE
The module has a 2mm pitch, so the perforated or PCB dev boards should have a matching distance between the pins. With all the components in place, the first thing you need to do is to connect the power supply.
Make the following connections using the jumper wires.
- 5V power supply to the 3.3V regulator (Vin)
- 3.3V regulator (Vout) to the VCC, GPIO 2, and EN pins (High)
- Power supply ground to the GND pin and GND in the 3.3V regulator
To program the chip, you need to connect the USB – UART serial or FTDI module to enable communication with your computer via the USB port. Link these pins to begin programming.
- GND (ESP) to GND (serial module)
- GND (ESP) to GPIO 15 and GPIO 0 (both ESP)
- RX (ESP) to TX ( module serial)
- TX (ESP) to RX (module serial)
After making these links, plug the serial module into your computer.
It is important to note that you should not connect the 3.3V pin in the serial module to the ESP-12E. Use an external power supply as described above because the ESP-12E consumes a lot of current and risks blowing your USB port if you draw power from the serial module pin.
Open a Serial Terminal
You must use a serial terminal to write the code for the ESP-12E, and the most commonly used one is Arduino. Download and install the Arduino IDE on your computer, then go to Tools>Ports and select the port where the terminal has identified the serial module.
On the bottom-right line-endings tab in the Arduino terminal, select Both NL and CR to enable the ESP-12E to receive and understand your commands by inserting a NewLine and CarriageReturn after each one.
The firmware in the ESP8266 is an interpreter for AT commands, so you need to use such instructions to test and set up the module.
If you want to program it, use this IoT project as an example to learn the ropes.
ESP 12E Applications
Once you learn how to program the module, you can use it in the following areas.
- Weather station
- IoT applications
- Home appliances
- Security ID tags
- Wireless control systems
- Toys and gaming
- Home automation systems
There you have it! Though it might be a bit challenging for beginners to set up and use the ESP 12E, it is possible, and the steps above should guide you through the process. In the end, you will have an affordable wireless network connection solution for your project to help you develop and deploy more products faster.
If you have any questions, contact us for further information.