Based on the ESP8266 module, the WeMos D1 Mini makes programming and interfacing a breeze. With its built in reset/programming circuitry you no longer have to worry about pressing any buttons when uploading your code to the device. It also comes with a handy micro USB jack for power and communication and a little side mounted reset button.
Formally, the ESP8266 is a system-on-a-chip (SOC) that has a TCP/IP stack built in. It's sort taking a Wifi controller and squeezing out the extra pins and processing power as a pretty capable Arduino-compatible microcontroller. The ESP8266 can manage all Wifi networking, or pass that onto another processor to do. As it is, it come preloaded with an AT command set, so you can use any microcontroller to set all necessary communication parameters through simple serial connections.
To manage this Wifi magic, the ESP8266 has a 80MHz 32-bit processor, with power to spare to drive other functions besides Wifi. It offers 16 GPIO pins, 64kB instruction RAM and 96kB of data RAM besides the 4MB external flash. This means there's little more you have to add to it to have the ESP8266 monitor sensors and toggle I/O lines (using 3.3V logic levels).
The D0, D1, D2, … numbers printed on the board are different from what Micropython uses – because originally those boards were made for a different software. Make sure to refer to the image below to determine which pins are which.
It has a micro-USB socket for connecting to the computer. On the side is a button for reseting the board. Along the sides of the board are two rows of pins, to which we will be connecting cables.