MicroPython Programming Tutorial: Getting Started with the ESP32 Thing

Introduction
In this guide, we will walk through the process of setting up MicroPython on the ESP32 Thing and writing some example programs. Each “experiment” will show you how to wire up an example circuit and then control it using MicroPython.

What is MicroPython?
MicroPython is a lean implementation of the Python 3 programming language that has been pared down to run efficiently on microcontrollers. Python is a relatively simple (but powerful) language that is easy for beginners to pick up and has been gaining popularity in schools as an introductory language. MicroPython has nearly all of the features of Python, which means that interacting with hardware is now easily accessible to beginners and seasoned Python programmers alike.

Why the ESP32 Thing?
MicroPython is supported on many different microcontroller platforms, and more are being added all the time. The ESP32 is a great tool for learning MicroPython, as it has a powerful controller (240 MHz) with lots of RAM (520 kB). Additionally, the ESP32 has a built-in WiFi module, which makes networking and connecting to the Internet quite easy. All this is packaged up into a development board for you on SparkFun’s ESP32 Thing.

Note: This guide uses MicroPython version: esp32-20180822-v1.9.4-479. At the time of this writing, Bluetooth on the ESP32 is not supported by MicroPython.”

Link