Recently, I purchased a couple of Makerfocus D1 Mini development boards for use in my revamped garage door opener project (more on that at a later time), which utilizes the ESP8266 WiFi module and is essentially a clone, I believe, of the WeMos D1 Mini microcontroller:
Not only is this a cheap development board with 11 I/O pins and 4MB of flash memory, but it's compact in size and is compatible with the Arduino IDE, so that you can use existing Arduino code, as well as NodeMCU (a.k.a. "The Arduino Killer"), which allows you to use the Lua programming language.
The board came with a few different pin options, which was nice, and it only took a couple of minutes to solder them on.
This board has been great so far (I have two in "production" aside from this test board), but my biggest complaint is that it doesn't have any mounting holes. Given its small size, I'm assuming that's why there aren't any holes, so I had to get a little creative with my custom enclosure design to keep this puppy in place.
But, I digress ...
In order to use this board with the Arduino IDE, there are a number of steps you have to follow to get it to work. Currently, these are listed in the product's description section on Amazon, but I'm not sure how long they're going to remain, so I wanted to type up this article for posterity, in the event that they are removed at some point, or the product is no longer available through Amazon.
I'm sure if I did a little digging, I could probably find the same instructions online somewhere, but it's always nice to have my own copy for quick reference.
I develop primarily on a Windows desktop, so these instructions are for Windows users only. Linux/OS X instructions should be pretty similar, though.
Download and install the CH340g driver. I'm not gonna lie, this website seems a little sketchy to me, but this is what came up when I searched for the driver, and I read in a forum that this is the official site. I downloaded it from this site and haven't come across any issues on my PC (yet).
Make sure you have Python v2.7.10 installed, which can be found here if you need it.
Open up the Arduino IDE application, and then go to File->Preferences
Towards the bottom of the Preferences box under the Settings tab, you should see an entry for "Additional Boards Manager URLs". In that box, insert http://arduino.esp8266.com/stable/package_esp8266com_index.json like so:
NOTE: If you already have something in this field other than this value, you'll need to add a comma after the existing text before entering the URL listed here. You may also have to restart the Arduino IDE for the settings to take effect.
If you have closed the Arduino IDE, open it back up, select the Tools menu, and then select Board. You should now see a new "ESP8266 Modules" section. For this particular development board, you'll want to select the WeMos D1 R2 & mini board, since again, this board is a clone of the WeMos D1 mini:
Now, all you have to do is write your code, upload, and enjoy!
If you need a GPIO pin mapping reference chart, so that you know which pin numbers to plug into your code, you can find that here.