-
Install Python 3 & Go-Task (Taskfile runner):
- macOS:
brew install go-task/tap/go-task python - Linux (Ubuntu/Debian):
sudo snap install task --classic(or via official script) - Windows:
winget install Task.Task(orchoco install go-task)
- macOS:
-
Create Virtual Environment & Install Dependencies:
# macOS / Linux: python3 -m venv .venv source .venv/bin/activate # Windows (PowerShell): python -m venv .venv .venv\Scripts\Activate.ps1 # Install mpremote & type stubs: pip install mpremote micropython-esp32-stubs esptool
If your board is clean or needs a firmware update:
- Download MicroPython binary: https://micropython.org/download/esp32/
- Install
esptool:pip install esptool - Erase flash memory:
esptool.py --chip esp32 --port /dev/tty.usbserial-* erase_flash - Flash firmware:
esptool.py --chip esp32 --port /dev/tty.usbserial-* --baud 460800 write_flash -z 0x1000 firmware.bin
└── 📁.vscode
├── extensions.json
├── settings.json
├── tasks.json
└── 📁config
├── config.py
└── 📁data
├── some-data
└── 📁lib
├── bootstrap.py
└── 📁src
└── 📁app
├── app.py
└── 📁logger
├── setup.py
└── 📁utils
├── system_info.py
├── .micropico
├── main.py
└── taskfile.yaml
All project workflows are managed via taskfile.yaml:
- task dev : [Main] Uploads project files and immediately attaches REPL console
- task upload : Uploads modified/all project files to the ESP32
- task run : Uploads files and performs a soft reset (mpremote reset)
- task repl : Opens interactive MicroPython REPL console
- task clean : Removes all project files from the ESP32 filesystem
- task ls : Lists all files currently stored on the chip
- Ctrl + C — Stop script execution.
- Ctrl + D — Perform a soft reset.
- Ctrl + ] (or Ctrl + X) — Exit REPL back to macOS terminal.
On application startup, system metrics are automatically logged via SystemInfo.log():
- CPU Frequency & Chip Temperature.
- RAM Usage (Used / Total / Free %).
- Flash VFS File System Storage stats.
Configure diagnostics in config/config.py:
LOG_LEVEL = logging.DEBUG
SYSTEM_INFO_LOG = True # Enable/disable system info logs
Language / Язык:
English | Русский