---
title: MCU程式語言比一比：MicroPython vs. CircuitPython
description: 本文將介紹廣受歡迎MicroPython 和 CircuitPython，比較這兩種基於Python程式語言的特點、差異定位和適用領域。
url: "https://makerpro.cc/docs/micropython-vs-circuitpython/"
updated: "2025-07-21"
category: AI框架
---

# MCU程式語言比一比：MicroPython vs. CircuitPython

作者：歐敏銓

MicroPython 以其精簡和高效著稱，適合資源有限的設備，而 CircuitPython 則由 Adafruit 開發，強調易用性，並內建了對多種感測器和週邊設備的支援，是初學者的理想選擇，最終的選擇取決於專案需求和個人偏好。本文將介紹廣受歡迎MicroPython 和 CircuitPython，比較這兩種基於Python程式語言的特點、差異定位和適用領域。

### 主要區別是什麼？

在微控制器程式設計中，MicroPython 與 CircuitPython 是兩種流行的選擇，旨在易於使用並提供大量功能。它們之間的主要區別可以歸納如下：

#### 1. 開發與設計理念：

- MicroPython：由 Damien P. George 開發，是一種精簡且高效的 Python 程式語言實作以其小巧的佔用空間 (small footprint) 和低開銷 (low overhead) 而聞名，目標是支援多種微控制器並具備高度靈活性。
- CircuitPython：由 Adafruit 公司基於 MicroPython 開發的另一種流行的微控制器 Python 實作，設計上更強調易用、友善新手、教育應用以及自家硬體的即插即用。

[![](https://cdn-learn.adafruit.com/assets/assets/000/049/442/large1024/circuitpython_pyboards.jpg?1513729514)](https://learn.adafruit.com/welcome-to-circuitpython)

#### 2. 編輯檔案及上傳方式：

- MicroPython：多用 REPL 互動或透過專屬 IDE（如 Thonny）傳送程式碼，需串口或網路傳輸。
- CircuitPython：裝置插上電腦直接變成 U 盤（USB Mass Storage），可以像U盤一樣拖拉 .py 檔案，且每次儲存自動重啟執行，極適合新手。

#### 3. 標準函式庫與 API 差異：

- MicroPython：提供很多接近底層的類別和函式（如 machine、utime、network等），更靈活，對專案遷移較友善。
- CircuitPython：把底層做了封裝（如 busio、digitalio、microcontroller等），API風格更統一、出錯提示更明確，但部分低層控制權被屏蔽（為簡化新手開發）。

#### 4. 文件資源與社群：

- MicroPython：全球用戶眾多，論壇、教學、範例豐富，支援廣泛硬體與自訂方案。

[![](https://raw.githubusercontent.com/micropython/micropython/master/logo/upython-with-micro.jpg)](https://github.com/micropython/micropython)

- CircuitPython：由 Adafruit 官方推廣，文件教學完善，新手友善，但社群與第三方中文資源相對較少，多著重於 Adafruit 生態系。

#### 5. 適用場景：

- MicroPython：是資源受限設備的絕佳選擇，因為它注重效率。它支援廣泛的微控制器，包括來自流行製造商的產品。它也適合需要多平台支援、進階硬體控制、客製化功能的開發者和工程專案。
- CircuitPython：極適合教學、入門者、原型開發，以及需要快速搭建 Adafruit 周邊的應用場合。

#### 6. 其他差異：

- 代碼相容性：雖然 CircuitPython 基於 MicroPython，但兩者 API 存在差異，程式移植時有時需手動修改。

- 內建功能與周邊支援：CircuitPython 提供大量內建功能，包括支援廣泛的感測器和周邊設備。這一點使其在初學階段或需要快速整合多種硬體時更具優勢。

### 對 AI / ML 的支援性比較

MicroPython 與 CircuitPython 在人工智慧（AI）與機器學習（ML）方面的支援各有不同，主要差異反映於設計目標及生態系的定位。MicroPython 被視為嵌入式開發的強大工具，它以接近原生 Python 語法為基礎，經過高度剪裁以適合微控制器的資源限制。這使得 MicroPython 可支援即時交互式開發與測試，方便開發者快速構建物聯網感測設備與簡單的機器學習原型。

社群上已有像 uTensor 這類輕量級 AI 框架成功移植到 MicroPython，能執行基本的感應器數據分析與推論。藉由 Arduino 推出的 MicroPython 套件安裝工具，也進一步簡化在 Arduino 平台上使用，促進 AI/ML 應用的快速開發。不過，MicroPython 在運算效率上仍有限，不適合執行複雜或大規模神經網路，主要適用於基礎感測與邏輯判斷。

 [![](https://utensor.github.io/website/static/media/utensor.342335a1.png)](https://utensor.github.io/website/)

[source](https://utensor.github.io/website/)

相較之下，CircuitPython 則是由 Adafruit 透過 MicroPython 分支打造，強調使用者的易用性與快速原型開發。它內建了 ulab 這套模擬 NumPy 的數值運算庫，提供基本線性代數計算能力，適合進行簡單的機器學習模型操作和推論。CircuitPython 在教學與硬體互動方面表現傑出，尤其適合入門者和教育環境中進行輕量 AI/ML 的概念驗證。然而，由於其設計中抽象層較高和解譯器負擔較重，運算效率相較 MicroPython 較低，不適合低延遲或效能要求高的專案。

在硬體加速方面，無論 MicroPython 還是 CircuitPython，都只能處理簡易且已經訓練完成的小型模型，無法直接訓練大型深度神經網路。MCU 的算力限制使得這兩者通常通過在 PC 端進行訓練，然後部署推論模型於裝置上。未來若要在 MCU 上執行更複雜的 AI，可能需搭配專門的神經網路加速硬體（如 NPU）或採用多核心設計才能實現。

總體而言，MicroPython 在 AI/ML 支援上偏向靈活性與更高效能，適合需要更多硬體控制與快速迭代的嵌入式人工智慧開發；CircuitPython 則以更簡單易用且完善的使用者體驗為主，適合教育教學與初階機器學習推論。選擇時應視專案對效能需求與開發便利性的平衡而定。

### 小結

整體來說，MicroPython 更像是一個注重核心效率和資源優化的版本，適合對資源有嚴格要求或希望深入控制硬體的進階使用者。而 CircuitPython 則更注重開箱即用、簡化操作的體驗，為初學者提供了一個更容易入門的平台，並且內建了對多種硬體的高度支援。

您可以將 MicroPython 想像成一台輕量級的賽車，它被設計成在資源有限的賽道上跑得最快、最有效率，適用於那些對性能和資源利用有嚴格要求的「賽道」裝置。而 CircuitPython 則更像是一輛配備了自動變速箱和許多便利功能的家庭轎車，它讓駕駛變得非常簡單和直接，即使是新手也能輕鬆上路，適用於那些希望快速、方便地實現功能的「日常代步」微控制器裝置。

 ![](https://makerpro.cc/wp-content/uploads/2025/07/螢幕擷取畫面-2025-07-21-105631.png)

MicroPython vs. CircuitPython對照表

 

》延伸閱讀：

[Youtube: MicroPython vs CircuitPython Guide](https://www.youtube.com/watch?v=fYghf7NrUvg)

[Arduino vs MicroPython vs CircuitPython: Which One Will You Choose?](https://electrocredible.com/arduino-vs-micropython-vs-circuitpython/#google_vignette)

[嵌入式AI/ML開發框架比一比：Arduino IDE、MicroPython、TFLite、ESP-IDF](https://makerpro.cc/2025/07/embedded-ai-ml-platforms-arduino-ide-micropython-tflite-esp-idf/)
