/** @defgroup boards_esp8266_esp-12x ESP-12x based boards @ingroup boards_esp8266 @brief Support for boards that use ESP-12x modules. ## Overview 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 AI-Thinker 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. \htmlonly\endhtmlonly @image html "https://gitlab.com/gschorcht/RIOT.wiki-Images/raw/master/esp8266/ESP-12F_Module.png" "ESP8266 ESP-12F module"
Common examples for this type of boards are the [WEMOS LOLIN D1 mini V2](#wemos_lolin_d1_mini), the [NodeMCU DEVKIT](#nodemcu_devkit_esp8266) and the [Adafruit Feather HUZZAH ESP8266](#adafruit_feather_huzzah_esp8266). All these boards are characterized by using any of the ESP-12x module and breaking out all GPIO pins. @note This board definition is the most generic one and might also be used for other ESP8266 and ESP8285 boards. ## MCU Most features of the boards are provided by the ESP8266EX SoC.
MCU | ESP8266EX ------------|---------------------------- 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](https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf) Technical Reference | [Technical Reference](https://www.espressif.com/sites/default/files/documentation/esp8266-technical_reference_en.pdf)

## 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 \ref esp8266_riot. ## WEMOS LOLIN D1 mini [WEMOS LOLIN D1 mini] (https://www.wemos.cc/en/latest/d1/d1_mini.html) 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] (https://docs.wemos.cc/en/latest/d1_mini_shiled/index.html) for more information. This makes it possible to create different hardware configurations without the need for a soldering iron or a breadboard. \htmlonly \endhtmlonly @image html "https://gitlab.com/gschorcht/RIOT.wiki-Images/raw/master/esp8266/Wemos_D1_mini_Stack.png?inline=false" "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. \htmlonly \endhtmlonly @image html "https://gitlab.com/gschorcht/RIOT.wiki-Images/raw/master/esp8266/Wemos_MRF24J40_Shield.png?inline=false" "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] (https://docs.wemos.cc/en/latest/d1/d1_mini.html).
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. @image html "https://gitlab.com/gschorcht/RIOT.wiki-Images/raw/master/esp8266/Wemos_D1_mini_pinout.png?inline=false" "WEMOS LOLIN D1 mini pinout"
## NodeMCU DEVKIT NodeMCU DEVKIT is an open-source hardware project hosted on [GitHub](https://github.com/nodemcu/nodemcu-devkit-v1.0). 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. \htmlonly \endhtmlonly @image html "https://raw.githubusercontent.com/nodemcu/nodemcu-devkit-v1.0/master/Documents/NodeMCU_DEVKIT_1.0.jpg" "NodeMCE DEVKIT V1.0"
Following image shows the pinout of NodeMCU DEVKIT boards. @image html "https://gitlab.com/gschorcht/RIOT.wiki-Images/raw/master/esp8266/NodeMCU_pinout.png?inline=false" "NodeMCE DEVKIT V1.0 pinout". ## Adafruit Feather HUZZAH ESP8266 Feather is the new series of development boards from Adafruit. [Adafruit Feather HUZZAH ESP8266](https://www.adafruit.com/product/2821) 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. \htmlonly \endhtmlonly @image html "https://cdn-shop.adafruit.com/1200x900/2821-05.jpg" "Adafruit Feather HUZZAH ESP8266"
Following image shows the pinout of Adafruit Feather HUZZAH ESP8266. @image html "https://gitlab.com/gschorcht/RIOT.wiki-Images/raw/master/esp8266/Adafruit_Huzzah_ESP8266_pinout.png?inline=false" "Adafruit Feather HUZZAH ESP8266 pinout" */