ブラウザから実機に書き込む
プロジェクトがシミュレータで動作したら、何もインストールせずに実機のボードに書き込むことができます。Velxioはコンパイル済みファームウェアをUSB経由で、ブラウザから直接フラッシュします。
- Chromiumベースのブラウザ(ChromeまたはEdge)。フラッシャーはブラウザのWeb Serial APIとWebUSB APIを使用しますが、FirefoxとSafariにはこれらが搭載されていません。Picoファミリーのボードでは、これらのブラウザでもDownload .uf2ボタンが表示されます(下記参照)。
- データ通信対応のUSBケーブル(ボード接続用)。
- 先にポートを使用している他のソフトウェア(シリアルモニタ、IDE、picotool)をすべて閉じてください。ブラウザが排他的にアクセスする必要があります。

フラッシュ方法
Section titled “フラッシュ方法”- キャンバス上のボードを右クリックし、Flash to real board(実機のボードにフラッシュ)を選択します。
- Connect & flash(接続してフラッシュ)をクリックします。ブラウザがどのUSBデバイスにアクセスを許可するか尋ねるので、自分のボードを選択します。
- Velxioは、そのボード用にすでに作成したビルド(シミュレータが実行していたものと同じバイナリ)を使用します。その後コードが変更された場合は、最初に再コンパイルされ、コンパイラの出力がダイアログにストリーミング表示されます。
- 進行状況バーを確認します。完了すると、ボードが再起動してプロジェクトが実行されます。
ダイアログはターゲットに応じてプロトコルを選択します:
| ファミリー | 書き込み方法 | ボードの状態 |
|---|---|---|
| ESP32、S3、C3、C6 | シリアルポート経由のesptool、マージされた.bin |
接続済みであること。応答しない場合はBOOTボタンを押したままにする |
| Arduino Uno、Nano、Mega、ATtiny85 | ボードのブートローダに対するSTK500、.hex |
接続済みであること(ATtiny85:ArduinoISPを実行しているArduinoを経由) |
| Raspberry Pi Pico、Pico W、Pico 2、Pimoroni RP2040 / RP2350ボード | WebUSB経由のPICOBOOT、picotoolがビルドした.uf2 |
BOOTSELモードであること(次のセクション) |
Picoファミリーボード:最初にBOOTSEL
Section titled “Picoファミリーボード:最初にBOOTSEL”RP2040またはRP2350は、チップがBOOTSELモードでのみ表示する別のUSBパーソナリティであるブートローダによってプログラムされます。そこに到達するには2つの方法があります:
- 手動: BOOTSELボタンを押したままボードを接続し、その後離します。ボードは
RPI-RP2(RP2040)またはRP2350という名前のUSBドライブとしてマウントされます。 - ダイアログから: これらのボードのフラッシュダイアログには、Reboot into bootloader over USB(USB経由でブートローダに再起動)ボタンがあります。これは、ボードがVelxioがビルドしたスケッチ(Arduinoコアが1200ボーオープンで再起動する)またはMicroPython(REPLが
machine.bootloader()を実行する)を実行している場合に機能します。ブラウザがボードのシリアルポートを尋ね、ボードは切断され、ブートローダとして戻ってきます。次にConnect & flash(接続してフラッシュ)をクリックし、RP2 Boot/RP2350 Bootデバイスを選択します。
2回のクリック、2つの権限プロンプト:再起動用のシリアルポートと書き込み用のUSBデバイスです。ボードがBOOTSELモードになると、以降のフラッシュでは2番目のプロンプトのみが必要です。
同じボードの2つのリビジョン
Section titled “同じボードの2つのリビジョン”Pimoroniは、2025年1月までStellarおよびGalactic UnicornをPico W(RP2040)搭載で販売し、それ以降はPico 2 W(RP2350)搭載で販売しています。シミュレータは現在のものを実行します。フラッシュダイアログには、これらのボード用のReal board revision(実機のボードリビジョン)セレクタがあります。古いユニットには「Pico W aboard」を選択してください。ダイアログはそのチップ用の2番目のイメージをビルドし、フラッシュまたはダウンロードします。シミュレータは独自のビルドを実行し続けます。選択はボードごとに記憶されます。ボード背面のラベル(またはBOOTSELモード時のドライブ名、RPI-RP2とRP2350の違い)で、どちらのボードかを確認できます。
ダイアログは、応答したチップと一致しないイメージ(RP2040へのRP2350ビルド、ARM構成へのRISC-Vビルドなど)を、何かを消去する前に拒否し、書き込み後にすべてのバイトを検証し、ボードをプログラムで再起動します。
WindowsとRP2040:WinUSBを一度インストールする
Section titled “WindowsとRP2040:WinUSBを一度インストールする”RP2040ブートローダにはWindowsドライバ記述子が同梱されていないため、WinUSBがバインドされるまでブラウザはそれを要求できません。一度だけのセットアップ:
- ボードをBOOTSELモードにして接続します。
- Zadigをダウンロードして実行します。
- リストから
RP2 Boot (Interface 1)を選択し(非表示の場合はOptions、List All Devices)、ドライバとしてWinUSBを選択し、Install Driver(ドライバをインストール)をクリックします。
RP2350ボード(Pico 2、Pico 2 W、Pimoroni「Pico 2 W Aboard」Unicorn、Badger 2350)は何も必要ありません。これらのブートローダには記述子が含まれており、Windowsが自動的にWinUSBをバインドします。macOSはどちらのチップでも何も必要ありません。
Linux:udevルール
Section titled “Linux:udevルール”LinuxはUSBデバイスをデフォルトでrootに割り当てます。/etc/udev/rules.d/99-velxio-rp2.rulesを作成します:
SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", MODE="0666", TAG+="uaccess"次にsudo udevadm control --reload-rules && sudo udevadm triggerを実行し、ボードを接続し直します。再起動ステップで使用されるシリアルポートには、通常のdialoutグループメンバーシップも必要です。
任意のブラウザ:.uf2をダウンロードするか、ドライブにコピーする
Section titled “任意のブラウザ:.uf2をダウンロードするか、ドライブにコピーする”Picoファミリーボードのフラッシュダイアログには、常にDownload .uf2オプションがあります(FirefoxとSafariでは、ブラウザがフラッシュできないため、これがダイアログのすべてです)。ファイルを保存し、ボードをBOOTSELモードにして、RPI-RP2 / RP2350ドライブにファイルをドロップします。コピーが完了するとすぐにボードが再起動してスケッチが実行されます。
ChromeとEdgeには、Copy to the board’s drive(ボードのドライブにコピー)もあります。ブラウザがドライブの選択を求め、ファイルをそこに書き込みます。ドライバは関与しないため、WinUSBをインストールせずにWindowsでRP2040をプログラムする方法です。ダイアログは、選択したフォルダがBOOTSELドライブであること(INFO_UF2.TXTが含まれていること)を、何かを書き込む前にチェックします。
PicoでのMicroPythonプロジェクト
Section titled “PicoでのMicroPythonプロジェクト”ダイアログは、プロジェクトの.pyファイルをREPL経由でアップロードし、main.pyで再起動します。MicroPython自体は最初にボードにインストールされている必要があります:
- PicoおよびPico W: ダイアログがインストールします。REPLが応答しない場合は、ボードをBOOTSELモードにしてRetryをクリックするよう求められます。そのクリックで、シミュレータが実行するのと同じMicroPythonビルドが書き込まれ、もう一度Retryするとファイルがアップロードされます。
- Pimoroni RP2350ボード(Badger 2350、Pico Plus 2W):これらにはPimoroni独自のMicroPythonが同梱されています。紛失した場合は、pimoroni-pico-rp2350から
.uf2をダウンロードし、BOOTSELドライブに一度ドロップしてから、ダイアログからフラッシュします。
トラブルシューティング
Section titled “トラブルシューティング”- 「No board in BOOTSEL mode was found」(BOOTSELモードのボードが見つかりません): デバイスピッカーが空でした。再起動ボタンを使用するか、接続中にBOOTSELを押したままにして、再度接続してください。
- 「The board in BOOTSEL is an RP2040 but this project is built for RP2350」(BOOTSELのボードはRP2040ですが、このプロジェクトはRP2350用にビルドされています): Pico Wを搭載した古いUnicornです。ダイアログのReal board revision(実機のボードリビジョン)セレクタで「Pico W aboard」を選択し、再度フラッシュしてください。
- WindowsでRP2040を使用時に「Could not claim the USB device」(USBデバイスを要求できませんでした): 上記のZadigの手順を実行してください。Linuxの場合:上記のudevルールを実行してください。
- シリアル再起動が機能しなかった: USBスタックが無効な状態でビルドされたスケッチは、USB経由で再起動できません。接続中にBOOTSELを押したままにしてください。
最初にシミュレート、次にフラッシュ
Section titled “最初にシミュレート、次にフラッシュ”これにより、Velxioを実際の作業に役立てるためのループが完成します。シミュレータで高速に反復処理(ケーブル不要、ハードウェアの摩耗なし、即時リセット)を行い、動作が確認できたら、まったく同じビルド成果物をフラッシュします。