ESP8266
The board that made wireless MicroPython cheap. The heap is small — keep firmware slim, avoid large JSON, and prefer .mpy files. Docs: esp8266 quickref.
Flash
esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 ESP8266_GENERIC-*.bin
Download: ESP8266_GENERIC. 1 MB and 2 MB+ images exist; pick the one that matches the flash on the module.
Limits
No BLE. PWM, I2C (soft), SPI, ADC (one usable channel) and Wi-Fi are the usual set. Some builds drop float. If an example imports asyncio and the module is missing, you need a fuller image or a bigger chip.
Playground: ESP8266 MicroPython.