.. | ||
scripts | ||
tests | ||
eagle.rom.addr.v6.ld | ||
esp8266.ld | ||
esp_mphal.c | ||
esp_mphal.h | ||
ets_alt_task.c | ||
ets_alt_task.h | ||
etshal.h | ||
gccollect.c | ||
gccollect.h | ||
gchelper.s | ||
lexerstr32.c | ||
main.c | ||
Makefile | ||
makeimg.py | ||
modesp.c | ||
modmachine.c | ||
modnetwork.c | ||
modonewire.c | ||
modpyb.c | ||
modpyb.h | ||
modpybadc.c | ||
modpybi2c.c | ||
modpybpin.c | ||
modpybrtc.c | ||
modpybrtc.h | ||
moduos.c | ||
modutime.c | ||
mpconfigport.h | ||
qstrdefsport.h | ||
README.md | ||
strtoll.c | ||
uart_register.h | ||
uart.c | ||
uart.h | ||
user_config.h | ||
utils.c | ||
utils.h |
MicroPython port to ESP8266
This is a highly experimental port of MicroPython for the WiFi modules based on Espressif ESP8266 chip.
WARNING: The port is highly experimental and any APIs are subject to change.
Currently implemented features include:
- REPL (Python prompt) over UART0.
- 24k heap RAM available for Python code.
- Garbage collector, exceptions.
- Unicode support.
- Builtin modules: gc, array, collections, io, struct, sys, esp, network.
- Arbitrary-precision long integers and 30-bit precision floats.
- Basic WiFi support.
- Basic sockets using modlwip.
- Basic GPIO support.
On the TODO list:
- Full wifi support.
- Internal filesystem using the flash.
- ...
Build instructions
The tool chain required for the build is the OpenSource ESP SDK, which can be
found at https://github.com/pfalcon/esp-open-sdk. Clone this repository and
run make
in its directory to build and install the SDK locally. Make sure
to add toolchain bin directory to your PATH.
Add the external dependencies to the MicroPython repository checkout:
$ git submodule update --init
See the README in the repository root for more information about external dependencies.
Then, to build MicroPython for the ESP8266, just run:
$ cd esp8266
$ make
This should produce binary images in the build/
subdirectory. To flash them
to your ESP8266, use:
$ make deploy
This will use the esptool.py
script to download the images. You must have
your ESP module in the bootloader, and connected to a serial port on your PC.
The default serial port is /dev/ttyACM0
. To specify another, use, eg:
$ make PORT=/dev/ttyUSB0 deploy
The images that are built are:
firmware.elf-0x00000.bin
: to be flashed at 0x00000firmware.elf-0x10000.bin
: to be flashed at 0x10000
There is also a combined image, made up of the above 2 binary files with the appropriate padding:
firmware-combined.bin
: to be flashed at 0x00000