概要
ArduinoでMicroPythonであれば、Arduino Lab for MicroPythonを利用するのが公式ですが、 Jupyter Labから、Arduino Nano 33 BLE Sense上のMicroPythonにアクセスしてみました。
自分で何かを作ったわけではなく、他の方が作成したものを、想定していない組み合わせて動かしただけです。たまたま動作したというのが正しく、動作保証があるわけでもありません。また、REPL以外は試していません。
システム構成
Windows 10のWSL2上でJupyter Labを実行し、Windows 10に接続したArduino Nano 33 BLE Sense上のMicroPythonを操作します。
Jupyterには、MicroPythonを操作するための、MicroPython Kernelをインストールします。このカーネルは、ESP8266/ESP32用と書いてあるのですが、Arduino Nano 33 BLE SenseのMicroPythonでも利用できました。
Jupyter kernel to interact with a MicroPython ESP8266 or ESP32 over its serial REPL.
今回利用したのは、以下のような環境です。

システム構成
インストールしたのは、以下の通りです。
- Arduino Nano 33 BLE Sense
- MicroPython: MicroPython.Installer-1.4.0
- Windows 10
- USBデバイス共有: usbipd-win(4.4.0)
- WSL2(Ubuntu 24.04.2 LTS (Noble Numbat))
- Jupyter: Jupyter Lab(4.3.5)
- MicroPython Kernel: Jupyter MicroPython Kernel
MicroPythonのインストール
MicroPythonをArduino Nano 33 BLE Senseで動作させるためには、MicroPythonをボードにインストール必要があります。この操作は、Windows上から実行しました。
具体的な方法は、MicroPythonのインストールを参照してください。
WSL2からUSBポートを利用する
Windows 10のUSBポートに接続したデバイスを、WSL2から利用するには、usbipdというソフトウェアを利用します。
WSL2を利用しない場合は、この部分の設定は不要です。
usbipdのインストール
usbipdをWindows 10にインストールします。
ここから、最新版のmsiファイルをダウンロードし、実行することで、インストールできました。
詳細な方法は、インストール方法を参照してください。
設定
usbipdをインストールした後は、USBポートをWSL2から操作するために、usbipdを実行します。
管理者モードで、Powershellを立ち上げます。ArduinoをPCに接続した状態で、usbipd listコマンドを実行してみます。例えば、以下のような結果になります(一部の結果だけを抜粋しています)。
|
|
私の環境では、COM6はArduinoを示しています。上記の場合、STATEが「Not shared」となっているので、WSL2とは共有されていません。
このとき、WSL2上で、lsusbを実行すると、私の環境では以下のようになりました。
|
|
次に、usbipdを使い、デバイスのbindとattachを行うことで、COM6が、WSL2から利用できるようになります。
まず、bind処理を行います。busidは、usbipd listで出てきたBUSIDです。この時点で、状態は、「Not shared」から「Shared」に更新されています。
|
|
次に、attach処理を行います。この時点で、状態は、「Shared」から、「Attached」に更新されています。この状態で、WSL2からUSBポートが見えるようになります。
|
|
このとき、WSL2上で、lsusbを実行すると、私の環境では以下のようになりました。3行目で、Arduinoが認識されているのがわかります。
|
|
最後に、デバイスファイル名を確認します。
私の場合は、/dev/ttyACM0でした。
|
|
当該ファイルへ、jupyterを実行するユーザーがアクセスできるようにアクセス権を設定してください。
Jupyter Lab
Jupyter LabからArduino Nano 33 BLE上のMicroPythonにアクセスします。
以下では、Pythonの仮想環境(venv)を利用しています。
Jupyter Labのインストール
Jupyter Labのインストールは、こちらを参照してください。
MicroPython Kernelのインストール
Jupyter Labから、Arduino上のMicroPythonにアクセスするには、Jupyterに、MicroPython Kernelをインストールする必要があります。
https://github.com/goatchurchprime/jupyter_micropython_kernel/ にインストール方法が記載されています。
私は、以下の方法でインストールしました。
|
|
このあと、カーネルを確認すると、MicroPython Kernelが追加されていることがわかります。
|
|
Jupyter Labの起動
Jupyter Labを起動します。
|
|
ブラウザが開かれない場合は、jupyter labを起動した際に表示されるURLにアクセスしてください。

Jupyter Labの起動
Notebookの下にある、MicroPython - USBを選択します。
通常の、Jupyter Labの画面に移行します。

MicroPython Kernel
まず、シリアルポートと接続する必要があります。%serialconnectコマンドを実行します。
|
|
私の環境では、ポートや通信速度を指定しないでも動作しました。

シリアルポートへの接続
MicroPythonのコマンドを実行します。1つ目は「Hello World」の表示、2つ目はLチカです。

実行中の様子
その他
- Lチカを無限ループにしてしまうと、割り込みが効かず、ブラウザからは停止できませんでした。
- MicroPython関連のドキュメントは、MicroPythonを参照してください。
バージョン
| Hardware: | Arduino Nano 33 BLE Sense |
| Software: | Jupyter |
最終更新日
August 16, 2026