No Matches
ESP-12x based boards

Support for boards that use ESP-12x modules. More...

Detailed Description

Support for boards that use ESP-12x modules.

ESP-12x based boards


This board definition covers not just a single board, but rather a large set of generic boards that either use one of the AI-Tinker ESP-12x ESP8266 modules or are compatible with them. ESP-12x stands for different versions of the ESP-12 module: ESP-12, ESP-12E, ESP-12E and ESP-12S.

ESP8266 ESP-12F module

Common examples for this type of boards are the WEMOS LOLIN D1 mini V2, the NodeMCU DEVKIT and the Adafruit Feather HUZZAH ESP8266. All these boards are characterized by using any of the ESP-12x module and breaking out all GPIO pins.

This board definition is the most generic one and might also be used for other ESP8266 and ESP8285 boards.


Most features of the boards are provided by the ESP8266EX SoC.

Family Tensilica Xtensa LX106
Vendor Espressif
RAM 80 kByte
Flash 1 ... 16 MByte
Frequency 80 / 160 MHz
FPU no
Timers 1 x 32 bit
ADCs 1 x 10 bit (1 channel)
LEDs 1 x GPIO2
I2Cs 2 (software implementation)
SPIs 1
UARTs 1 (console)
WiFi built in
Vcc 2.5 - 3.6 V
Datasheet Datasheet
Technical Reference Technical Reference

Flashing the Device

Flashing RIOT is quite straight forward, just connect the board using the programming port to your host computer and type:

make flash BOARD=esp8266-esp-12x ...

For detailed information about ESP8266 as well as configuring and compiling RIOT for ESP8266 boards, see RIOT-OS on ESP8266 and ESP8285 boards.


WEMOS LOLIN D1 mini is a very interesting board series as it offers a stackable ESP8266 platform. This board can be easily extended with a large number of compatible peripheral shields, e.g. a micro SD card shield, an IR controller shield, a battery shield, and various sensor and actuator shields, see D1 mini shields for more information. This makes it possible to create different hardware configurations without the need for a soldering iron or a breadboard.

WEMOS LOLIN D1 mini stack example

There is also a MRF24J40 shield that can be used to extend the board with an IEEE 802.15.4 radio module, the standard networking technology in RIOT.

MRF24J40 shield for WEMOS LOLIN D1 mini

There are several versions of WEMOS LOLIN D1 mini, which only differ in the size of the flash memory and the MCU version used. All versions have a microUSB port with flash / boot / reset logic that makes flashing much easier. Their peripherals are equal and work with the default ESP8266 ESP-12x board definition.

For more information, see D1 Boards.

Board MCU Flash Antenna Remark
D1 mini V2 ESP8266EX 4 MByte PCB retired
D1 mini V3 ESP8266EX 4 MByte PCB
D1 mini Lite ESP8285 1 MByte PCB
D1 mini Pro ESP8266EX 16 MByte ceramic

Following image shows the pinout of all WEMOS LOLIN D1 mini boards. It is compatible with the WEMOS LOLIN D32 Pro ESP32 board.

WEMOS LOLIN D1 mini pinout


NodeMCU DEVKIT is an open-source hardware project hosted on GitHub. Therefore, there are a lot of clones available. The board was originally designed for NodeMCU firmware development.

As the other boards described here, NodeMCU ESP12 is generic board that uses ESP-12E module and breaks out all available GPIO pins. It has a Micro-USB port including a flash/boot/reset logic which makes flashing much easier.


Following image shows the pinout of NodeMCU DEVKIT boards.

NodeMCE DEVKIT V1.0 pinout

Adafruit Feather HUZZAH ESP8266

Feather is the new series of development boards from Adafruit. Adafruit Feather HUZZAH ESP8266 is a ESP8266 based development board with built in WiFi, USB and battery charging. As the other boards described here, Adafruit Feather HUZZAH ESP8266 is a generic board that uses an ESP-12x module and breaks out most of the available GPIO pins. It has one additional LED connected to GPIO0 and a Micro-USB port including a flash/boot/reset logic which makes flashing much easier.

Adafruit Feather HUZZAH ESP8266

Following image shows the pinout of Adafruit Feather HUZZAH ESP8266.

Adafruit Feather HUZZAH ESP8266 pinout


file  arduino_iomap.h
 Board specific configuration for the Arduino API.
file  board.h
 Board specific definitions for ESP-12x based boards.
file  gpio_params.h
 Board specific configuration of direct mapped GPIOs.
file  periph_conf.h
 Board specific configuration of MCU periphery for ESP-12x based boards.