Skip to content

Visual studio extension: simple, fast MicroPython workflow -upload, explore, run on device- ESP32, PICO, more soon

License

Notifications You must be signed in to change notification settings

DanielBustillos/mpy-workbench

Repository files navigation

MPY Workbench — MicroPython file manager for VS Code

Professional MicroPython Tooling with Thonny’s Simplicity

Visual Studio Marketplace Version Installs Downloads License mpremote

MPY Workbench bridges the gap between the power of VS Code and the "it just works" experience of Thonny. Built on top of the official mpremote engine, it provides a stable, high-performance workflow for professional MicroPython development without the CLI friction.

Main features

  • 📂 Remote file explorer for the device (open, download, upload, rename, delete)
  • 🔄 Two-way sync: compare local files with the device and sync changed files
  • 📝 Create a new file in the Files view and upload it to the board on first save
  • 💻 Integrated MicroPython REPL terminal
  • ⏯️ Send commands to the board (stop, soft reset, etc.)

⚡ Connect to board and run a file Run file demo

🔄 Autosync local folder contents Sync files demo

Sync utilities

These commands perform full or incremental synchronization between your local workspace and the connected MicroPython board:

  • Upload all Local → Board: Uploads all non-ignored local files to the device.
  • Download all Board → Local: Downloads all board files, overwriting local copies.
  • Delete all files on board: Removes all files on the device.

Useful commands (Command Palette)

  • MPY Workbench: Refresh — refresh the file tree
  • MPY Workbench: Upload Active File — upload the current editor file
  • MPY Workbench: Select Serial Port — pick device port
  • MPY Workbench: Open REPL Terminal — open MicroPython REPL
  • MPY Workbench: Toggle workspace Auto-Sync on Save — enable/disable workspace auto-sync

Workspace config

The extension stores per-workspace settings and manifests inside a workspace folder named .mpy-workbench at your project root.

  • Workspace override file: .mpy-workbench/config.json
  • Sync manifest: .mpy-workbench/esp32sync.json

Use the command MPY Workbench: Toggle workspace Auto-Sync on Save to enable or disable auto-sync for the current workspace. If no workspace config exists the extension falls back to the global setting mpyWorkbench.autoSyncOnSave (default: false).

Python Requirements

  • mpremote (>= 1.26) — Used internally for all board operations (file management, REPL connection, command execution). Older versions (e.g. 1.24.x) can cause the error path, next_command on Upload all files, Download all files, and Check for differences.
  • Install or upgrade: pip install -U mpremote

The Python path used by the extension can be adjusted in the extension settings if a specific interpreter needs to be selected.

Next steps

  • ✅ Broaden board compatibility (currently tested only with ESP32-S3 and ESP32-C3)
  • 🔌 Add firmware flashing support for boards
  • 🪟 Perform full Windows testing: validate mpremote compatibility with COM ports and ensure consistent behavior of file operations and REPL across Windows environments

🗺️ Roadmap & Current State

Currently optimized and tested for ESP32-S3 and ESP32-C3.

  • Full Windows validation (COM port consistency).
  • Integrated firmware flashing.
  • Expanded board support (RP2040, STM32).

🤝 Contributing

This project is in active development. I use it daily for my professional projects and aim to respond to issues and PRs quickly. If you find a bug or have a feature request, please open an issue.

License: MIT

License

MIT — see the LICENSE file in this repository.

About

Visual studio extension: simple, fast MicroPython workflow -upload, explore, run on device- ESP32, PICO, more soon

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •