Customer:
I consistently get “Failed to list files: mpremote: failed to access COM4 (it may be in use by another program)” when trying to use Soldered MP Helper. I know there is no other program using COM4. I have rebooted many times to make sure. After booting up, in Device Manager, I can see COM4 (my micro python board) come and go as I connect and disconnect it. I have tried the mpremote disconnect command to no avail. Even from a terminal window, mpremote works fine. Is there a forum where users discuss problems like this?
Originally submitted via email support on 30 January 2026. Migrated to the forum for community visibility.
Soldered Support:
Could you please provide your OS version so we can investigate further with more technical details?
Customer:
Windows Version 24H2 installed on 2/5/2025. My target is an ESP32-S3. Its base firmware is v1.25.0.bin. When I click on MP Helper’s Refresh ports, I get this message: Failed to list files: mpremote: failed to access COM4. However, in a terminal window, I am able to successfully run mpremote with these commands:
mpremote --help
mpremote connect COM4
To support mpremote, I made sure I had Python3 installed:
python -V
Python 3.13.5
VS Code information:
- Version: 1.108.2 (user setup)
- Commit: f3102ada88be140d28b038d1dd7c7
- Date: 2026-01-21T13:52:09.270Z
- Electron: 39.2.7
- Chromium: 142.0.7444.235
- Node.js: 22.21.1
- V8: 14.2.231.21-electron.0
- OS: Windows_NT x64 10.0
Soldered Support:
After investigating in depth, we found that the main problem with ESP32-S3 in this case is not the COM port itself, but the flash address used when installing MicroPython.
For ESP32-S3, the firmware must be flashed at address 0x0. However, MP Helper currently flashes at 0x1000, which works for many classic ESP32 boards but causes boot and communication problems on many ESP32-S3 boards. As a result, MicroPython does not start correctly, and tools like mpremote cannot enter raw REPL, leading to “port in use” and file access errors.
This is why mpremote “connect” works, but file operations and MP Helper fail.
Workaround (until MP Helper is updated)
For now, flash MicroPython manually once using esptool, and then use MP Helper normally.
-
Download the correct ESP32-S3 firmware from the official MicroPython website (for example: ESP32_GENERIC_S3).
-
Erase flash. Open Command Prompt and run:
python -m esptool --chip esp32s3 --port COM4 erase_flash
(Replace COM4 with your actual port.) You may need to hold the BOOT button while connecting or resetting.
- Flash firmware at address 0x0:
python -m esptool --chip esp32s3 --port COM4 --baud 460800 write_flash -z 0x0 ESP32_GENERIC_S3-xxxx.bin
(Replace the filename with the one you downloaded.)
-
Reset normally (no BOOT button). After flashing: press RESET and do NOT hold BOOT. Let the board boot normally.
-
Test:
mpremote connect COM4 repl
mpremote connect COM4 fs ls
If this works, MP Helper should also start working correctly.