# MicroPython Web IDE

> 在瀏覽器用 MicroPython 或 CircuitPython 開發 Raspberry Pi Pico、ESP32、micro:bit：REPL 終端機、程式編輯器與板上檔案管理，Web Serial 直連，什麼都不用裝。

- URL: https://bytescope.dev/zh-Hant/micropython/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/micropython.md) · [ja](https://bytescope.dev/ja/micropython.md)
- Runs: 透過 Web Serial 在本機和你的開發板對話 — 程式碼不會離開你的瀏覽器。
- Requires: Chrome, Edge or Opera on desktop (Web Serial API). Not Firefox, Safari or any mobile browser; the page still renders the documentation and a support matrix there.
- Updated: 2026-09-08

## What it does

這是為「板子上直接跑 Python 解譯器」的裝置所打造的瀏覽器 IDE —— MicroPython（ESP32、Raspberry Pi Pico、micro:bit 等）與 CircuitPython（Adafruit 系列板子）。因為解譯器本來就住在板子上，你的 `.py` 檔不必編譯就能直接執行：「瀏覽器沒辦法建置 C/C++ 韌體」這個經典限制在這裡根本不成立。透過 Web Serial API 連上之後，程式編輯器、REPL 終端機與檔案管理都是在本機和板子對話 —— 沒有任何東西上傳到伺服器。

### 它是怎麼運作的

這個工具說的是 MicroPython 的 raw REPL 協定。你按下執行時，它會中斷板子正在做的事、把板子切進 raw REPL，用 raw-paste 模式串流你的程式（帶視窗流量控制，所以大一點的腳本也能乾淨傳完，不會被友善 REPL 的自動縮排弄壞），執行它，再把輸出原封不動送回終端機。`Ctrl-C` 中斷正在執行的程式，`Ctrl-D` 觸發軟重置。板上檔案系統的操作 —— 列出、讀取、寫入、刪除 —— 都是透過同一條通道執行小段 Python 程式，再解析板子印出來的內容完成的。

### 檔案與開機自動執行

檔案管理會列出板子上有什麼，並讓你編輯、上傳、下載與刪除檔案。把編輯器分頁存成 `main.py`（CircuitPython 則是 `code.py`），板子下次重置就會自動執行它 —— 這正是這類板子存在的意義。CircuitPython 要特別注意：當你的電腦以可寫入的方式掛上 CIRCUITPY 這個 USB 磁碟時，板子會把自己的檔案系統掛成唯讀，所以從網頁寫入會失敗，得先退出磁碟才行；工具會偵測你連的是哪一種，並把這件事說明清楚。

### 範例與程式片段

起步範例庫涵蓋了大家最常做的第一件事 —— 閃 LED、讀類比感測器、連上 Wi-Fi、把數值串流到即時繪圖器 —— 都能一鍵載入。你自己寫的程式片段會存在瀏覽器的 localStorage，永遠不會離開這台裝置。

## Limits

Does not flash the MicroPython firmware itself and does not run code in the browser; it talks to a board that already runs MicroPython.

## FAQ

### 可以搭配哪些開發板和瀏覽器？

任何跑 MicroPython 或 CircuitPython、並以 USB 序列裝置現身的板子：ESP32／ESP8266、Raspberry Pi Pico、micro:bit、Adafruit Feather／QT Py 等等。它需要 Chromium 瀏覽器（桌面版的 Chrome、Edge 或 Opera；Android 版 Chrome 148 以上），因為 Web Serial API 是 Chromium 專屬的 —— Safari 與 Firefox 並未實作。

### 我需要先裝 Python 或驅動程式嗎？

不用 Python、不用 IDE、不用工具鏈，解譯器本來就在板子上。在 macOS、Linux 與 ChromeOS 上，板子不需要任何驅動步驟就會被認出來；在 Windows 上，有些板子可能需要 CH340 或 CP210x 的 USB 轉序列驅動程式，那和 Arduino IDE 用的是同一支。

### 在這裡，MicroPython 和 CircuitPython 差在哪？

兩者都跑在同一套 raw REPL 上，所以編輯器和終端機的用法完全一樣。差別在開機自動執行的檔案（main.py 對 code.py）以及檔案系統：CircuitPython 會開出一個 USB 磁碟，當你的電腦能寫入它時，板子那一側就變成唯讀。工具會偵測你連上的是哪一種並自動調整。

### 可以讓我的程式開機就跑嗎？

可以 —— 在檔案管理裡存成 main.py（MicroPython）或 code.py（CircuitPython），然後重置板子。那個檔案每次上電都會自動執行。需要在 main 之前完成的初始化，請放在 boot.py。

### 它能安裝套件（mip／circup）嗎？

MicroPython 可以：工具能透過 REPL 執行 mip.install()，把套件抓到板子上 —— 這需要板子本身已經連上 Wi-Fi。至於 CircuitPython 的套件管理工具 circup，它是桌面程式，在 REPL 裡沒有對等的做法，所以從網頁安裝 CircuitPython 函式庫不在範圍內；請改把 library bundle 下載到 CIRCUITPY 磁碟。

### 我的程式會被上傳到什麼地方嗎？

不會。一切都是在你的瀏覽器與板子之間，透過 Web Serial 在本機完成。你的程式、板子上的檔案和 REPL 工作階段從來不會碰到伺服器。你存下的程式片段也只留在你自己的瀏覽器裡。

## Related tools

- [ESP Firmware Flasher](https://bytescope.dev/zh-Hant/esp-flasher.md) — 先把 MicroPython 韌體燒進空的 ESP 開發板 →
- [Serial Monitor & Plotter](https://bytescope.dev/zh-Hant/serial-monitor.md) — 想要單純的序列終端機和獨立繪圖器？用這個 →
