CircuitPython [ 5 ]は、学生や初心者向けのMicroPythonプログラミング言語のオープンソース派生版です。CircuitPython の開発はAdafruit Industriesによってサポートされています。これはC 言語で書かれたPython 3プログラミング言語のソフトウェア実装です。[ 3 ]いくつかの最新のマイクロコントローラで動作するように移植されています。
CircuitPythonは、バイトコードへのPythonコンパイラと、マイクロコントローラハードウェア上で実行されるそのバイトコードのランタイムインタプリタで構成されています。ユーザーには、サポートされているコマンドをすぐに実行するための対話型プロンプト(REPL)が表示されます。コアPythonライブラリがいくつか含まれています。CircuitPythonには、プログラマがサポートされている製品の低レベルハードウェアにアクセスできるモジュールと、初心者向けの高レベルライブラリが含まれています。[ 6 ]
CircuitPythonはMicroPythonのフォークであり、元々はDamien Georgeによって作成されました。[ 7 ] MicroPythonコミュニティは、MicroPythonからCircuitPythonなどの派生版へのフォークについて議論を続けています。[ 8 ]
CircuitPythonは、Pythonプログラミング言語のリファレンス実装であるCPythonとの互換性を目指しています。 [ 9 ] CircuitPython互換ボード用に作成されたプログラムは、 Raspberry Piなどの他のプラットフォームではそのままでは動作しない可能性があります。[ 10 ]
CircuitPythonは、通常C、C++、またはアセンブリ言語で行われるマイクロコントローラプログラミングの新たな代替ソリューションとして使用されています。この言語は、小型の携帯型ビデオゲームデバイスの製造にも採用されています。[ 11 ]開発者のChris Youngは、インタラクティブ性を提供し、アクセシビリティの問題を抱える人々を支援するために、赤外線送受信ソフトウェアをCircuitPythonに移植しました。[ 12 ]
ユーザーコミュニティのサポートには、Discord チャット ルームと製品サポート フォーラムが含まれます。[13] CircuitPython のニュース専用の Twitterアカウントが2018年に開設されました。[ 14 ] Adafruitは、CircuitPython、MicroPython、およびシングルボード コンピュータ上の Python に関するニュースと情報を提供するために、2016 年 11 月 15 日から毎週ニュースレター Python on Microcontrollers を発行しています。[ 15 ] Redditのサブレディット r/CircuitPython は、CircuitPython および関連するニュースやプロジェクトに関するニュースを提供しており、約 4,300 人のメンバーがいます。[ 16 ]
2025年7月6日現在、バージョン9.2.8は608種類以上のマイクロコントローラボードをサポートしています[ 17 ]。
バージョン9.1.0は「ポート」と呼ばれるさまざまなプラットフォームをサポートしています: [ 18 ]
これらの移植版はアルファ版とみなされており、バグや機能不足が存在する可能性があります。
以前のバージョンではESP8266マイクロコントローラがサポートされていましたが、バージョン4でサポートが終了しました。[ 19 ]
CircuitPython コードは、Adafruit が作成した Blinka 互換レイヤーを使用してMicroPythonまたはCPython上で実行できます。 [ 20 ]これは、CircuitPython コードと基盤となるコード間の変換レイヤーとして機能します。これにより、circuitpython.org に記載されているさまざまなシングルボードコンピュータを含む、より多くのデバイスで CircuitPython コードを実行できます。[ 20 ]これはpip でインストール可能な Python ライブラリです。CircuitPython ランタイムは使用されません。これは、ガイドCircuitPython Libraries on Linux and Raspberry Piに記載されています。[ 21 ]
Adafruit は、488 種類以上のセンサーとドライバー用のソフトウェアライブラリを提供するコミュニティを育成してきました。[ 22 ] [ 23 ]