The ESP8266 ESP-01 is a serial to WiFi breakout module with a built in ARM microprocessor that has 1MB of memory and 2 GPIOs brought out to the header for connecting to peripherals. It can be used as a serial to WiFi bridge to add WiFi capability to a project or it can even be programmed directly and used as a little stand-alone processor. It has full TCP/IP capability built-in.
ESP8266 ESP-01 WiFi Module
KEY FEATURES OF ESP8266 ESP-01 WiFi MODULE:
32-bit RISC Tensilica Xtensa LX Processor running at 80MHz
1MB Flash Memory
IEEE 802.11 b/g/n WiFi
The module requires 3.3V for power and is not 5V tolerant on its pins. If connecting to a 5V MCU, the RX pin of the ESP-01 module which is driven by the TX pin from the MCU should have a level shifter installed. This can just be a simple voltage divider using 2 resistors as shown down below. If you are using it with our ESP-01 adapter, the adapter includes level shifting as well as a 3.3V regulator, so it makes the ESP-01 module plug-n-play.
The module has a red power LED and a blue LED to indicate data flow. The WiFi antenna is the meandering PCB trace that covers the end of the module.
The ESP8266 in the name refers to the 32-pin Espressif IC on the module. These chips are quite capable and support up to 16 GPIO. The ESP-01 is the most basic and least expensive implementation of this chip with limited GPIO and is best used for adding WiFi to an existing Arduino or similar MCU board. If you are are looking to use it as a stand-alone device, you will typically be better off starting with something like the NodeMCU or ESP32 that we sell which includes all the features of a full microcontroller like the Arduino and can be programmed directly from the Arduino IDE.
From the factory, the modules are loaded with “AT” firmware and can be programmed via a simple terminal program. If you are using the module primarily to exploit its WiFi capabilities and are controlling it with another MCU like an Arduino, that may be all that you need.
If using with custom software programmed onto the device, it can be programmed using the Arduino IDE but it will require the use of a FTDI USB to Serial interface.
The module has a 2×4-pin header on the assembly. See pic for layout as the boards may not have the pins labeled.
2 x 4 Header:
GND = Ground. Connect to ground on MCU
GPIO2 = General Purpose Digital I/O
GPIO0 = General Purpose Digital I/O
RX = Receive Data. Connects to RX on MCU
TX = Transmit Data. Connects to TX on MCU
CH_PD = Enable / Power Down. Must be pulled to 3.3V directly or via pull-up resistor to enable
RST = Reset. Active low, must be pulled to 3.3V directly or via pull-up resistor
VCC = 3.3V. Can draw up to 200mA worse case.