Minimal setup and run instructions for PowerTrace.
- Seeed Studio XIAO-ESP32S3-Plus development board
- Adafruit microSD Card BFF shield
- Texas Instrument INA228 measurement module
- USB-A to USB-C cable
- Python 3.14+
- PyCharm 2026.0+
git clone https://github.com/Christ0u/PowerTrace.git
cd PowerTraceCreate and activate virtual environment
python.exe -m venv .venv
.\.venv\Scripts\activateInstall dependencies
pip install -r requirements.txtOpen PyCharm
File>Openand select the project folderFile>Settings>Python>InterpreterAdd Interpreter>Add Local InterpreterSelect existingand point to the project's virtual environement (...\.venv\Scripts\python.exe)
File>Settings>Languages & Frameworks>MicroPython Tools- Check the
Enable MicroPython supportbox - Hold the BOOT button on the ESP32-S3 while plugging USB
- Click
Install or update MicroPython firmware:- MCU:
ESP32S3 - Board variant:
XIAO ESP32S3 - Check the
Erase flash firstbox - Uncheck the
Connect to the device after flashingbox - Click
Flashand wait for completion
- MCU:
- Reconnect the board, select the correct COM port in
MicroPython Toolsmenu and clickConnect device
Click on Run / Debug Configurations drop-down menu then Edit Configurations
Add new run configuration > MicroPython Tools > Upload
- Name:
PowerTrace - Define a source mapping with Local path:
<project folder>
Recommended exclusions
| Value | Exclude type | Exclude from uploads | Exclude from synchronisation |
|---|---|---|---|
| /venv | Absolute Path | Yes | No |
| /LICENSE | Absolute Path | Yes | No |
| /pyproject.toml | Absolute Path | Yes | No |
| /temp | Absolute Path | Yes | No |
| /doc | Absolute Path | Yes | No |
| *.md | Pattern | Yes | No |
| *.txt | Pattern | Yes | No |
| .* | Pattern | Yes | No |
Check the Reset on success (Soft Reset) and Synchronize boxes
Select the PowerTrace configuration and click the green triangle-shaped Run button
- Board not detected: verify COM port and drivers.
- Upload fails: reflash MicroPython firmware and verify exclusions so large or irrelevant files are not uploaded.
For further help, open an issue on the repository.