

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
はじめに:circuitpythonとは
circuitpythonは Adafruit が開発したマイコン用の Python 実装です。小さなボード上で動くプログラムを、Python のシンプルな文法で書けます。初心者にもやさしい設計となっており、学校の授業や趣味の工作にも向いています。
なぜ circuitpython が人気なのか
従来のマイコン開発はC言語が主流で難しく感じることが多いです。しかし circuitpython は 読みやすい文法と直感的な使い方を提供します。Python の基本が使えるので、複雑な環境設定を避けつつも動く仕組みを体感できます。
基本的な使い方
ボードを PC に接続すると、ディスクのように見えることが多く、その中に main.py というファイルを置くと実行されます。新しいファイルを作って保存するたびに、ボードは自動的に新しいコードを走らせます。これにより、試作が速く、失敗から学びやすいのが特徴です。
主なライブラリは board や digitalio、time などで、LED の点灯、ボタンの読み取り、センサーの値の取得などを行います。例えば以下のようなコードで LED を点滅させることができます。
import time
import board
import digitalio
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)
実践的な使い方と注意点
CircuitPython はデバイスと対話する入口として非常に便利ですが、ボードごとに搭載されているピン名やLEDの色が異なる場合があります。公式ドキュメントのボードリストを確認して、対応するボードを選ぶことが大切です。はじめは LED などの簡単な回路から始め、徐々にセンサーやモータ、無線通信などの要素を追加していくと良いでしょう。
表で見る CircuitPython の特徴
| 項目 | CircuitPython | 他の環境 |
|---|---|---|
| 開発のしやすさ | 初心者向けの設計 | 難易度は高い場合が多い |
| 実行方法 | main.py をコピーして実行 | コンパイルや設定が必要なことが多い |
| ライブラリの豊富さ | 初期から使えるライブラリが揃っている | 状況によりばらつく |
学習の進め方
初心者は公式のガイドやチュートリアルを順番に追うと理解しやすいです。実際に手を動かして、LED を光らせる、センサーの値を読み取る、結果を表示するという小さな課題を繰り返すと着実に力がつきます。わからないときは、同じボードを使う仲間やオンラインのコミュニティに質問すると良いでしょう。
まとめ
circuitpython は初心者の入り口として最適な Python ベースのマイコン環境です。ボードにコードを転送してすぐに動く体験は、学びのモチベーションを高めてくれます。まずは対応ボードを手に入れ、公式リソースを活用して、少しずつ自分のペースで作品を作ってみましょう。
circuitpythonの同意語
- CircuitPython
- 公式のマイクロコントローラ向けPython実装。Adafruit が中心となって開発・サポートしており、初心者にも扱いやすい設計が特徴です。
- Circuit Python
- CircuitPython のスペース入り表記。基本的には同じ意味で使われる表記です。
- Adafruit CircuitPython
- Adafruit が提供・管理する CircuitPython。Adafruit 製ハードウェアと深く連携して動作します。
- Adafruit's CircuitPython
- 英語表記の公式名称。Adafruit による CircuitPython のことを指します。
- CP
- CircuitPython の略称として使われることがある短縮形。コミュニティ内の会話やドキュメントで見かけます。
- Python for microcontrollers
- マイクロコントローラ上で動作する Python の総称。CircuitPython の用途や分野を示す表現として使われます。
- Microcontroller Python
- マイクロコントローラ向けの Python 全般を指す表現。CircuitPython を含む関連領域を示します。
- Python on microcontrollers
- マイクロコントローラ上で Python を動かすという概念を表す英語表現。日本語の解説でも頻出します。
- マイクロコントローラ用Python
- マイクロコントローラで動かすための Python のこと。教育・入門向けの説明で使われる表現です。
- 教育用Python
- 初心者向け・教育用途に設計された Python の総称。CircuitPython は教育・学習向けに使われる点から関連語として用いられることがあります。
- MicroPython
- CircuitPython の元となった別プロジェクトの Python 実装。機能は似ていますが別開発であり、厳密には同義語ではありません。
circuitpythonの対義語・反対語
- CPython
- 標準のPython実装で、PCやサーバー上で広く使われる。CircuitPythonが主にマイクロコントローラ向けの組み込み版であるのに対し、CPythonはデスクトップ/サーバー環境の想定。
- デスクトップ/サーバー向けPython
- PCやサーバーで動かすことを前提にしたPythonの使い方全般。ライブラリが豊富で高速性と互換性を重視する点が、組み込み向けの CircuitPython とは異なる点。
- ウェブブラウザ上のPython
- WebAssemblyなどでブラウザ内で動くPython。ハードウェア制御よりもウェブアプリ開発やデータ処理向けの実行環境。
- MicroPython
- 別の組み込み向けPython実装。 CircuitPythonと同じ目的地に向かうが、設計思想やライブラリが異なり競合関係にあたることが多い。
- 低レベル言語(C/C++/アセンブリ)
- 高レベルのスクリプト言語である CircuitPython の対極として、ハードウェアを直接制御できる低レベル言語を挙げる。開発難易度は高いが性能・資源管理に強い。
- 他言語での組込み開発(例:Rust)
- Python以外の言語を用いた組み込み開発。CircuitPythonとは別の思想・エコシステムだが、代替として検討されることがある。
circuitpythonの共起語
- Python
- CircuitPythonはPython言語のマイコン向け実装で、初心者にも読みやすい文法を提供します。
- Adafruit
- CircuitPythonの開発元で、教育用ハードウェアやライブラリを提供しています。
- Microcontroller
- マイクロコントローラ(マイコン)。CircuitPythonはこの小型デバイス上で動作します。
- CIRCUITPY
- USB接続時に現れる CIRCUITPY ドライブ。ここにコードとライブラリを置きます。
- Blinka
- BlinkaはLinux系デバイスでCircuitPythonの機能を使える互換レイヤーです。
- I2C
- I2Cはセンサや周辺機器と接続する2線式通信規格です。
- SPI
- SPIは周辺機器と高速にデータをやり取りする4線式通信規格です。
- UART
- UARTは非同期シリアル通信。デバイス間でデータを送受信します。
- GPIO
- GPIOは入出力用のピン。ボタンの読み取りやLEDの点灯などに使います。
- digitalio
- デジタル入出力を扱うモジュール。HIGH/LOWの制御などを行います。
- analogio
- アナログ入力/出力を扱うモジュール。A/D変換などに使います。
- busio
- I2C/SPI/UARTといった複数の通信バスを統合して扱うモジュールです。
- time
- 遅延や時間の計測を行う時間関連の機能を提供します。
- neopixel
- アドレス指定LEDを簡単に制御できるライブラリです。
- displayio
- ディスプレイ表示を扱うライブラリ。画像やテキストを表示します。
- libraries
- 機能を拡張する外部ライブラリの集合です。
- bundle
- 公式のライブラリバンドル。必要なライブラリをまとめて提供します。
- board
- ボードごとに定義されたピン名を提供するモジュールです。
- code.py
- 起動時に実行されるメインスクリプトとして使われることが多いファイル名です。
- REPL
- 対話的なPython実行環境。コードをその場で試すことができます。
- Firmware
- CircuitPython本体のファームウェア。アップデートで新機能を使えるようになります。
- Raspberry Pi Pico
- RP2040搭載の代表的なボード。CircuitPythonも動作します。
- RP2040
- RP2040はPicoなどに採用されるMCUファミリです。
- SAMD21
- SAMD21系MCU。多くの初心者向けボードで使われています。
- SAMD51
- SAMD51系MCU。高性能なマイコンファミリです。
- LED
- 発光ダイオード。デモや表示の基本的な出力部品としてよく使われます。
- servo
- サーボモーターを制御するための機能・モジュールです。
- Mu Editor
- CircuitPythonを学ぶのにおすすめの初心者向けエディタです。
circuitpythonの関連用語
- CircuitPython
- Adafruitが開発した、マイクロコントローラ上で動作する初心者向けのPython実行環境。コードをUSB経由でPCとやり取りしやすい特徴があります。
- Adafruit
- CircuitPythonの開発元で、教育向けデバイスや周辺ライブラリを提供する企業。
- Python
- 広く使われる高水準プログラミング言語。CircuitPythonはこのPythonの実装です。
- Microcontroller
- CPUと周辺機器を1つのチップに集約した小型の電子部品。CircuitPythonはこの上で動作します。
- MicroPython
- 別のマイクロコントローラ向けPython実装。CircuitPythonと比較して設計思想が異なる点があります。
- Blinka
- Raspberry PiやPCなど、CircuitPythonライブラリを他の環境で動作させるための互換レイヤ(adafruit_blinka)。
- Board
- CircuitPythonを動かすボードの総称。例:Feather、Metro、Circuit Playground Express など。
- RP2040
- Raspberry Pi Pico などのMCU。CircuitPythonにも対応しています。
- SAMD21
- SAMD21系MCUを搭載したボードで、低電力かつ入門向けの代表的な構成。
- SAMD51
- SAMD51系MCUを搭載した高性能ボード。処理能力が高いモデルに使われます。
- I2C
- I2C通信バス。センサや周辺機器を2本の配線で接続する一般的な方式。
- SPI
- SPI通信バス。高速通信が必要な周辺機器に使われるシリアル方式。
- UART
- UART通信。シリアルデバイスと対話する基本的な方法。
- busio
- I2C/SPI/UARTを操作するCircuitPythonのモジュール群。
- digitalio
- デジタル入出力ピンの制御を行うモジュール。
- analogio
- アナログ入力(ADC)を扱うモジュール。
- pwmio
- PWM出力を扱うモジュール。
- displayio
- ディスプレイを表示するためのライブラリ。グラフィック表示を実現します。
- neopixel
- WS2812系ネオピクセルLEDを制御するライブラリ。
- neopixel_write
- 低レベルでネオピクセルへデータを書き込む軽量ライブラリ。
- storage
- CircuitPythonの仮想ドライブ上のファイルシステム操作を提供。
- os
- ファイル操作やパス操作など、OS風のインタフェースを提供するモジュール。
- CodeFile
- CIRCUITPYドライブ上のメインスクリプト。通常はcode.pyとして配置します。
- BootFile
- 起動時に実行される設定用スクリプト。通常boot.pyとして配置します。
- CIRCUITPY
- CircuitPythonが動作している仮想ドライブ名。code.pyやlibディレクトリを配置します。
- UF2
- ボードのブートローダへファームウェアを書き込むためのファイル形式(UF2ファイル)。
- Bootloader
- ファームウェア更新を管理する小さなプログラム。新しいCircuitPythonの入れ替えにも関与します。
- Lib
- 外部ライブラリを置くlibフォルダ。AdafruitのライブラリBundleをここに展開して使用します。
- LibraryBundle
- Adafruitが提供するCircuitPythonライブラリのセット。プロジェクトに必要なライブラリをまとめて配布します。
- REPL
- USB経由で接続して使える対話型Pythonプロンプト。コードの実行やデバッグに便利です。
- USBHID
- USB HIDデバイスとして、キーボード・マウス・ゲームコントローラなどを動作させる機能。
- BLE
- Bluetooth Low Energyのサポート。対応ボードで無線通信が可能です。
- MuEditor
- 初心者向けの軽量エディタの一つ。CircuitPythonの学習に適しています。
- DisplayIO
- ディスプレイ用ライブラリDisplayIOの総称。ディスプレイ表示を簡単に実現します。
- Sensor
- センサー全般。温度・湿度・加速度など、データ取得の対象として扱われます。
- LIS3DH
- 加速度センサの代表的なモデルの一つ。データ取得デモの例としてよく使われます。
- Adafruit_Blinka
- CircuitPythonライブラリをPCやRaspberry Pi等で動かすための互換レイヤ。
- BoardPinNames
- boardモジュールが提供するピン名(例: D0, A0 など)。



















