The ESP8266 is a cheap option for users. It is the cheapest WiFi module you can ever get in the market. The ESP8266 board comes with several variants ranging from ESP01 and ESP13. The application of the ESP8266 is very interesting.
However, some users have complained that working with the ESP8266 isn’t easy as the pins are not PCB friendly. Here, every vital information you need to know about the ESP8266 PCB design will be provided.
What is the ESP8266 Board?
The ESP8266 is a high-performance, low-cost board developed by Espressif Systems. This board has gained popularity in the hardware community. This can be attributed to the excellent features and benefits this board offers. Also, one of the reasons it gained popularity is that it enables users to use the Arduino IDE in programming it.
The ESP8266 board is a microcontroller that allows users to use the Arduino IDE for its programming. As an SoC incorporated with an IP or TCP protocol stack, this board can offer access to any Wi-FI network. ESP8266 is mainly designed for the development of IoT applications.
It enables the connection of the internet to different applications of embedded systems. ESP8266 was designed in such a way that it offer support to IP or TCP capability. Also, the ESP8266 board can function as a standalone or a slave application. If this board is integrated as a standalone application, it functions as a microcontroller. However, if it runs as a slave, users can integrated it as a Wi-Fi adaptor.
To allow communication between the microcontroller and the ESP8266 Wi-Fi module, some AT commands are required. Therefore, ESP8266 comes with AT commands software which enables it to offer the functionalities of the Arduino Wi-Fi.
This board functions based on the L106 RISC 32-bit microprocessor core. ESP8266 needs 3.3 Volts power supply. The current consumption of this board is 100 m Amps. Therefore, it consumes less power. Also, the ESP8266 board is commonly integrated in IoT applications and robotics because of its compact size and low cost.
Creating ESP8266 PCB Design
This tutorial would explain to you ways of creating the ESP8266 PCB design. We mentioned earlier that the pins on the ESP8266 are not PCB friendly or breadboard friendly. Therefore, we will be designing and developing a PCB for the ESP8266 module with all the necessary components. These components include GPIO pins and communication, connectors for power, Push button for Reset, slide switch for choosing Normal Mode or Programming Mode, and many more.
Before we continue with the ESP8266 PCB design, you should comprehend the significance of the circuit diagram. A circuit diagram needs to be designed with all the necessary connections and components. This will make the ESP8266 PCB design process easier. So, what are the components needed for the ESP8266 PCB design? Below are all the components integrated in designing the circuit of the ESP8266 PCB board:
- Female Headers (a few strips)
- Two Way Slide Switch
- ESP8266 WiFi Module (ESP-01)
- Push Button
- 2.2 KΩ Resistor (1/4 Watt)
- 1 KΩ Resistor (1/4 Watt)
- 100 nF Capacitor
After you have designed your circuit diagram, you need a circuit design. In this phase, you need to get the pin configuration of the ESP8266. For instance, the ESP8266ESP-01 comes with 8 pins. These pins include GND, GPIOO, CH_PD, VCC, TX, GPIO2, RX, and RST.
As regards the circuit design, the CH_PCD and VCC pins of the ESP8266 are usually connected to power supply header’s VCC terminal. The GND pin is usually connected to the GND terminal. There is a 100 nF eramic disc capacitor between the GND female headers and the VCC.
The RST pin means Reset. This pin is usually linked to an end of a push button. Then the designer connects the other head of the button to GND.
It is important to know where the GPIO2 pin is connected. This pin is directly connected to any of the terminals GPIO female header while the other pin end is linked to GND.
The communication pins which include RX and TX are the next pins to connect. While the TX pin is directly linked to the communication female header’s TX terminal, the RX pin is linked via a level converter that comprises a 2.2K Ω and a 1K Ω resistor.
Getting Started with the ESP8266 PCB design
You have now understood the requirements for the circuit design and circuit diagram. So, you can proceed to the ESP8266 PCB design phase. In this case, we will be integrating the Eagle PCB software by Autodesk.
There is a need to layout the PCB design’s schematic. You can make use of the circuit diagram to draw the schematic according to your desire. After you have created the schematic, you need to get started with the actual ESP8266 PCB design. You can make use of a single layer design for this project.
Assembling the Components on the Circuit Board
After you have developed the PCB, the next phase is the assembling of components. This phase involves attaching electronic components to the circuit and soldering them. The installment of the component produces a final board. This board is then used for further applications.
After the components have been assembled, you will need to link 3.3V supply to the GND and VCC pins on the circuit board. When you are ready to program the ESP8266, you will need to use the Programming Mode position and then press the Reset button.
Since you activated the programming mode, you can start flashing the firmware. Once you have done this, press the reset button. This will make the uploaded firmware to start running.
Importance of the ESP8266 PCB Design
The introduction of the ESP8266 board has made it possible for developers and makers to create projects that are internet enables at a very low cost. Also, the popularity of the ESP8266 board led to the development of commercial boards such as Adafruit’s Huzzah, NodeMCU, and WeMos D1.
ESP8266 board is integrated with RF transmitter, RF balun, analog transmitter, and power modules among others. The main benefit of the ESP8266 board is the its embedded wireless technology. This board requires no peripherals or shields. Also, it offers additional benefits like great processing power and speed. This board allows users to use the Arduino IDE to program it.
Specifications of the ESP8266
The ESP8266 specifications are as follows.
ESP8266 integrates two different serial communication protocols such as SPI ( Serial Peripheral Interface) and I2C (Inter-Integrated Circuit).
- This board enables 10- bit analog to digital conversion
- ESP8266 enables PWM (Pulse Width Modulation)
- Also, it enables UART dedicated pins only and for transmission
- It comes with a powerful Wi-Fi module with a compact size at a cheap price.
- This board functions based on the L106 RISC 32-bit microprocessor core
- ESP8266 needs 3.3 Volts power supply
- The current consumption of this board is 100 m Amps. Therefore, it consumes less power
- 3.6 volts is maximum Input/Output (I/O) voltage
- 12mA is the greatest Input/Output source current
- It has a flash memory with 513 kb
- This board can either be integrated as a station or an access point
- It offers support to serial communication. This makes it compatible with various developmental platforms like Arduino
- It allows users to use Lua script, Arduino IDe, or AT commands for its programming
Applications of ESP8266 PCB Design
The ESP32 board is a great alternative to the ESP8266 Wi-Fi module. However, the ESP8266 has proved to be a great option too.
The applications of the ESP8266 board include:
- IoT based projects
- Access points portals
- Smart home automation systems
- Wireless data logging
- Networking fundamentals
- Sockets and smart bulbs
Qualities of the ESP8266 PCB
The 32-bit processor featuring 16-bit instructions powers the ESP8266. Because of the Harvard architecture, instruction memory as well as data memory remains entirely independent.
The Read-Only Memory (ROM) of the ESP8266 contains a initial phase boot loader and several library code. The remaining code needs to be kept in an exterior flash memory (offers just data serial access – instead of considering the individual bytes, this user writes or reads large bytes inside the address spaces in a serial manner).
- The quantity of flash memory that is readily available can differ depending on the ESP8266.
- The ESP8266 contains some GPIO pins that can be used to “control” the external sensors, much like all other microcontrollers.
- Just 11 of the ESP8266’s Seventeen GPIO pins are usable (among the 17 pins, six are utilized for communications with flash on-board memory chip). Another option is the analog input (which helps in converting a level of voltage into a form of digital value which could be stored as well as processed in ESP8266).
- Also it features WiFi connectivity, allowing you to connect the ESP8266 to any WiFi network, access the internet, run a web service, and allow your smartphone to connect, among other things.
- The ability to be programmed like all other microcontrollers, especially any type of Arduino, is another characteristic of the ESP8266.
ESP8266 PCB Design Functionality
The power pins
The power pins are four in number. Three pins of 3.3V and the VIN pin.
- The NodeMCU/ESP8266 as well as its peripherals can be powered directly through VIN. The NodeMCU module’s internal regulator regulates the power provided on VIN; you also can supply 5V managed to this VIN pin.
- An onboard voltage regulator’s 3.3V pins, which may be utilized to power external components, are its output.
You can refer to this as ground pins of ESP8266
The I2C sensors and accessories are connected by use of pins. The I2C Master as well as Slave protocols are both supported. Programmatically implemented I2C interface function is possible, and the maximum clock frequency equals 100 kHz. It ought to be remembered that the frequency of the I2C clock should be greater than the slave device’s slowest clock frequencies.
The ESP8266 includes seventeen GPIO pins that may be dynamically allocated to perform tasks including I2C, I2S, PWM, UART, IR Remote Controls, LED Light, as well as Button. Each GPIO with digital capability can be adjusted to a high impedance, internal pull-up, and internal pull-down. It may also be configured to level-trigger or edge-trigger when setup as an input to produce CPU interrupts it.
The 10-bit precision ADC is built within the ESP8266. ADC can be utilized to implement the two tasks. These include checking the TOUT pin’s input voltage and the power voltage supply of the VDD3P3 pin. These cannot, however, be put into action simultaneously.
The ESP8266 includes two asynchronous UART interfaces (UART1 and UART0) that support RS485 and RS232 communication. Also, it can also communicate at about 4.5 Mbps.
You can utilize the TXD0, RST0, RXD0 and CTS0 pins on UART0 to communicate. UART1 pin only has a data transmitting signal, hence that’s why it’s typically used in printing logs.
The ESP8266 has two SPIs (HSPI and SPI) that can operate in master and slave modes. The general-purpose SPI capabilities are also supported by these SPIs:
- There are four SPI format timing modes for transfers.
- About 64-Byte FIFO and
- divided clocks reaching 80 MHz
Secure Digital I/O Interface (SDIO) pins of the ESP8266 are utilized to interface the SD cards directly. Both 4-bit 50 MHz and 4-bit 25 MHz SDIO-type versions are enabled.
The introduction of the ESP8266 board has made it possible for developers and makers to create projects that are internet enables at a very low cost. Also, the popularity of the ESP8266 board led to the development of commercial boards.
Among the most popular options for the Wi-Fi chips is still the ESP8266. Numerous professional and homemade products integrate the ESP8266 in different forms possible. This could be either as a Module or SoC. However, you need to be acquainted with both the pins as well as their functionality if you intend to design your ESP8266 PCB.