In traditional “cheap electronics” fashion, the unit i’ve purchased is verbosely marketed on Amazon as
HiLetgo 2pcs ESP8266 NodeMCU LUA CP2102 ESP-12E Internet WIFI Development Board Open source Serial Wireless Module Works Great with Arduino IDE/Micropython
In more helpful terms:
- ESP-12E is the SMT module on the board, which consists of an ESP8266 MCU
- CP2102 is the USB to UART chip on the board
- NodeMCU is the firmware that comes on the board, which contains and embedded LUA interpreter
Flashing MicroPython
The tutorials on the MicroPython site list a flashing command similar to the one below. However, those commands did not work for me. A helpful Amazon reviewer pointed out setting --flash_mode dio
is required in order to correctly flash this particular board.
Reportedly it is also important to erase the flash before writing a new image. This overwrites all blocks with 0xFF bytes.
1 | esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash |
After flashing is complete, open the serial REPL:
1 | screen /dev/ttyUSB0 115200 |
Or access the REPL through the python app rshell:
1 | pip3 install rshell |
Micropython REPL Keyboard Shortcuts
Once in the REPL, there are a number of useful keyboard shortcuts:
- Ctrl-A on a blank line will enter raw REPL mode. This is like a permanent paste mode, except that characters are not echoed back.
- Ctrl-B on a blank like goes to normal REPL mode.
- Ctrl-C cancels any input, or interrupts the currently running code.
- Ctrl-D on a blank line will do a soft reset.