NOTE: This page describes using MicroPython firmware, not CircuitPython firmware. If you're using CircuitPython be sure to check out the CIrcuitPython guides: https://learn.adafruit.com/category/circuitpython and API docs: http://circuitpython.readthedocs.io/en/latest/ ? The MicroPython APIs described below won't work on CircuitPython firmware!

Since this guide was published you can now load MicroPython on the ESP8266 using pre-built firmware images that greatly simplify the process. See the updated loading MicroPython guide here: https://learn.adafruit.com/micropython-basics-how-to-load-micropython-on-a-board

MicroPython is an awesome little Python interpretor that can run on embedded platforms. Using the familiar Python programming language you can talk to hardware and control it, much like controlling hardware with an Arduino or other embedded board. The MicroPython board makes it easy to get started using MicroPython, but did you know you can use MicroPython on other platforms like the nifty ESP8266 WiFi module? Thanks to recent contributions to MicroPython you can turn an ESP8266 into a MicroPython device, and this guide will show you how to get started by compiling and installing MicroPython firmware for the ESP8266!

Before you get started one thing to note is that MicroPython's support for the ESP8266 is still in very early stages of development and not all MicroPython board functionality is available. Currently you can access GPIO pins, connect to a WiFi network, and talk to the internet using a low-level socket-like interface with MicroPython on the ESP8266. Access to I2C, SPI, or other parts of hardware are not yet supported--consider MicroPython on the ESP8266 just for advanced users right now!

Update August 2016: Since this guide was published MicroPython on the ESP8266 has evolved significantly! Support for the ESP8266 is now quite good and worth checking out even for casual users. See these later guides that explain what is MicroPython and how to more easily load firmware on the board:

However if you're interested in hacking on and even contributing to MicroPython for the ESP8266 this guide will show you how to setup a toolchain for building the MicroPython ESP8266 firmware. You can even use the toolchain built from this guide to create other ESP8266 projects!

Also many thanks to the contributors of the MicroPython, ESP open SDK, and esptool projects. These excellent open source projects make possible this and other awesome MicroPython & ESP8266 projects--thanks!