Board Profile

ESP8266 Practical Board Guide

The ESP8266 is a 3.3V Wi-Fi microcontroller commonly used for climate logging, remote switching, simple web servers, and MQTT sensor nodes.

NodeMCU ESP8266 pin description

Basic Specifications

CPUTensilica L106 32-bit, typically configured at 80MHz or 160MHz.
Wireless2.4GHz Wi-Fi, 802.11 b/g/n.
Voltage3.3V logic. Development boards may accept USB or VIN input, but GPIO is 3.3V-level.
MemoryFlash size varies by module and board, commonly from 512KB to 4MB or more.
I/OBoard labels such as D0-D8, TX/RX, and A0 must be mapped to actual GPIO and boot behavior.

Pin Notes

GPIO numbers do not always match board silk labels. On NodeMCU, D1 is GPIO5 and D2 is GPIO4.

  • D0(GPIO16): Often used with RST for deep sleep wake-up.
  • D3(GPIO0), D4(GPIO2), D8(GPIO15): Boot-sensitive pins that require care.
  • A0: Analog input. Allowed voltage depends on the board design.
  • TX/RX: Used for upload and serial logs, so avoid conflicts with permanent devices.

ESP8266 GPIO pins are not 5V tolerant. Use level shifting and proper power separation when connecting 5V modules.

Official resources

These links point to official or widely used upstream documentation. They are better than copying PDFs locally because the vendor pages are more likely to stay current.

ESP8266EX Datasheet

Use this for electrical characteristics, wireless specifications, pins, and package information.

Open official PDF

ESP8266 Technical Reference

Peripheral-level details for GPIO, timers, UART, SPI, and power management.

Open official PDF

ESP8266 RTOS SDK Docs

Useful when building FreeRTOS-based firmware below the Arduino abstraction layer.

Open documentation

Arduino ESP8266 Core

Board setup, examples, and library notes for using ESP8266 from Arduino IDE.

Open documentation

How to choose this board in real builds

Do not choose a development board from the specification table alone. Power source, installation location, radio requirements, GPIO count, library support, and replacement availability matter in real deployments.

Checklist before wiring

  • Confirm whether sensors and modules use 3.3V logic.
  • Avoid using boot-sensitive pins for loads that change state during startup.
  • Test with the final power adapter, not only USB power.
  • Check flash and partition headroom if OTA or local logs are needed.
  • Make sure the board can still be sourced if you need more units later.

When to avoid it

A popular board is not automatically the right board. Avoid a board when GPIO headroom, power behavior, radio support, or long-term replacement does not match the actual installation.

When ESP8266 is still the right choice

ESP8266 is an older board, but it remains a practical choice for nodes that read one value and send it over Wi-Fi. For living-room temperature, door state, rain detection, refrigerator temperature, and similar devices that do not need heavy computation, BLE, or camera support, its price, size, and large example base are still useful.

The limits must be accepted before using it. It effectively has only one ADC, GPIO margin is narrow, and handling several UART sensors reliably is difficult. If the device needs CO2 and dust sensors together, a screen, touch input, Bluetooth setup, or a larger local buffer, moving to the ESP32 family is safer.

The decision is simple. If the device does not need battery optimization, BLE, multiple UARTs, or a large buffer, and the goal is to build many cheap Wi-Fi sensor nodes, ESP8266 is still usable. For a central hub or a device expected to expand later, starting with ESP32 lowers maintenance cost.