ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
UIAPduino を USB-HID(WebHID)で操作する拡張機能。Xcratch 版(インストール不要)と Scratch Desktop 版の両方を提供。基板への書き込みもブロックからできます。
翻译准备中
正在加载完整 README。
查看完整 README ↗Scratch 3.0 から UIAPduino を USB-HID (WebHID) で操作する拡張機能です。
使い方は 2 通りあります。ブロックの実装は同じものを共有しています。
| 使い方 | 中身 | |
|---|---|---|
| Xcratch 版 | 下の URL を「拡張機能を追加 → Extension Loader」に入れる | インストール不要。Chrome か Edge が要る |
| デスクトップ版 | インストーラを入れる | Scratch Desktop に組み込んだもの |
https://tarosay.github.io/scratch3-uiapduino/uiapduino.mjs
PWM を 8 本使う「UIAPduino Remap3」もあります。 ブロックは同じで、PWM を出せるピンが 5 本(2 / 5 / A1 / A2 / A3)から 8 本(3 / 5 / 9 / TX / RX / A1 / A2 / A3)に増えます。 基板の LED(D2)は、Remap3 版では点灯と消灯だけになります。 デスクトップ版では、拡張機能の一覧に 2 枚のカードが並びます。
https://tarosay.github.io/scratch3-uiapduino/uiapduino-remap3.mjs
利用者向けの案内は 公開ページ にあります。
Xcratch 版の作り方は xcratch/README.md にあります。
デスクトップ版の構成は scratch3-tello と同じ オーバーレイ方式 です。そちらはこのリポジトリ単体では動きません。上流の scratch-vm / scratch-gui / scratch-desktop を clone した上に、このリポジトリのファイルを 被せてビルドします。
v0.2.4 から、Arduino IDE は要りません。 パレットの末尾にある
スケッチ (プロトコル 8) を書き込む を押すだけです。焼かれるのは
拡張機能に同梱してあるスケッチなので、拡張機能とスケッチの版は必ず一致します。
スケッチ (プロトコル 8) を書き込む をクリックする。
デバイス選択のダイアログに 32V003 が出るので、それを選びます書き込みの ようす に出ます。焼き終わると基板は自動で繋ぎ直りますプロトコルが合わないと言われたときも、その画面から直せます。 パレットが説明に差し替わっているとき、その説明の下に同じ 2 つのブロックが並びます。
⚠ ブロックを直接クリックしてください。 緑の旗では焼けません。
⚠ Chrome か Edge が要ります。
⚠ Linux では先に udev ルールの追加が要ります(「Linux で使うとき」)。
⚠ 「UIAPduino への接続が失われました」と出たら、× で閉じてください。 ケーブルを抜いたときに出るもので、焼き終わって繋がり直しても消えずに残ります。
書き込みブロックの詳しい話は「スケッチの書き込みについて」にあります。
Linux では udev ルールの追加が要ります。 無いとブラウザがデバイスを開けず、 デバイス選択のダイアログに基板が出てこなかったり、選んでも繋がらなかったりします。 Windows と macOS では要りません。
sudo nano /etc/udev/rules.d/99-minichlink-uiap-hid.rules
エディタで次の 4 行(コメントを除く)を書きます。
# tarosay/scratch3-uiapduino
# 通常のスケッチ
SUBSYSTEM=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="d004", GROUP="plugdev", MODE="0660"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="d004", GROUP="plugdev", MODE="0660"
# 書き込みモード (rv003usb ブートローダ)
SUBSYSTEM=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="b803", GROUP="plugdev", MODE="0660"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="b803", GROUP="plugdev", MODE="0660"
書けたら読み込ませます。
sudo udevadm control --reload-rules && sudo udevadm trigger
リロードのあとブラウザを更新してください。 既に開いているページには効きません。
⚠ VID:PID は 2 組あります。 基板は通常のスケッチで動いているとき 1209:d004 を
名乗り、書き込みモードに入ると d004 は消えて 1209:b803(rv003usb ブートローダ)が
現れます。別のデバイスです。 d004 だけを書くと、ブロックは動くのに
「スケッチを書き込む」だけが失敗します。
⚠ plugdev グループに入っている必要があります。 Ubuntu などでは普通そうなって
いますが、id -nG | grep plugdev で何も出なければ、
sudo usermod -aG plugdev $USER を実行して一度ログインし直してください。
公式ドキュメントの udev ファイルの追加方法 とは別のファイル名にしてあります。 共通のファイルに追記していくと煩雑になるためです。
動作を確認した環境(Issue #1、 YuukiUmeta-UIAP さんの報告):
Ubuntu 24.04 (Linux 7.0.0-28-generic)
Google Chrome 151.0.7922.137 (x86_64)
Scratch から実機の LED を点灯するところまで確認済みです。
| 項目 | 状態 |
|---|---|
| ブロック定義 | 汎用 Arduino 相当。実機確認済み |
| マウスのブロック | 全ブロック実機確認済み(移動・クリック・ダブルクリック・ドラッグ・囲みブロック・ホイール) |
| キーボードのブロック | 全ブロック実機確認済み(タイプ・キー・押しながら〔 〕) |
| サーボのブロック | バージョン 6 で追加。SG-90 で実機確認済み(可動域を実測して duty 上限を 29 に決めた) |
| 距離計のブロック | バージョン 6 で追加。HC-SR04 で実機確認済み |
| シリアル通信のブロック | バージョン 7 で追加。GNSS ロガー(NMEA を受信してキーボードでエディタに打つ)で実機確認済み |
| NeoPixel のブロック | バージョン 8 で追加。WS2812B 12 連リングで実機確認済み(2026-08-13)。色の並びの補正は 6 通りとも実機確認済み(2026-08-31) |
| 音のブロック | バージョン 9 で追加。Xcratch 版(HID 版)とデスクトップ版で実機確認済み(2026-10-25)。圧電ブザーで鳴らす・メロディ・ピアノの記録・音量・エフェクト・止める。Remap3 版はメニューの表示を確認 |
| 書き込みのブロック | v0.2.4 で追加。Xcratch 版で実機確認済み(2026-08-14)。プロトコル 5 の基板を、パレットのブロックだけで焼き直せた |
| WebHID 通信層 | 実機で確認済み(接続・切断・再接続・入出力) |
| 接続フロー | ステータスボタンと接続モーダルに対応。実機確認済み |
| GUI の日本語 | 拡張カードと接続モーダルを ja / ja-Hira で表示。実機確認済み |
| コマンドプロトコル | uiap-hid-web と同じ 0x52 方式に統一済み |
| デバイス側スケッチ | sketches/ScratchUiapduino/ にあり・実機で全コマンド確認済み |
| バージョン照合 | 実機確認済み |
| ビルド | Windows で通過。インストーラ生成まで確認済み |
| アイコン | 差し替え済み(カード 600x372 / 小アイコン 80x80) |
| ビルドスクリプト | scratch3-tello の実績あるものを流用 |
| Xcratch 版 | 全ブロック実機確認済み(読み込み・日本語・接続モーダル・接続・ピン・キーボード・マウス・切断・再接続) |
| Xcratch 版の非対応ブラウザ | WebHID の無いブラウザでは説明 3 行だけを出す。Firefox で確認済み |
| Xcratch 版の抜線 | 押しっぱなしの解除はブラウザではできないが、実機では問題にならなかった |
| プロジェクトの相互運用 | Xcratch で保存した .sb3 をデスクトップ版で開けることを確認済み |
| スケッチの版の照合 | PING の上位バイトで名乗る。版は HID 版 (0) と Remap3 版 (1)。Remap3 版は Xcratch と実機で 8 本すべての PWM 出力を確認済み。デスクトップ版の Remap3 版も実機で確認済み |
ピン操作のブロックは実機で確認済みです。 そのほか以下も確認しています。
true を返すfalse を返すA0 の値〜A3 の値 はチェックを入れるとステージに 4 つ別々に並び、
緑の旗を押していなくても値が更新されるマウスのブロックも実機で確認済みです。
ドラッグしながら〔 〕 の中に「動かす」を並べて、折れ線や曲線が 1 本のストロークになるKeyboard+Mouse+WebHID に変えても接続フローがこれまでどおり動くTools → USB が Keyboard+Mouse+WebHID でないと、スケッチがコンパイル時に止まる既知の制限:押しっぱなしのまま USB を抜いたとき、操作していた他アプリの ドラッグは残ります。 どこかを 1 回クリックすれば消えます(その 1 回は消費されます)。 自動で直せない理由と、試して捨てた 3 つの案は 「🔌 「ケーブルを抜く」を最終手段として成立させる」に書いてあります。
なお 押したままにする のブロックを廃止したので、この状態を作れるのは
ドラッグしながら〔 〕 の中身が動いている間だけになりました。
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗
| D11 (PD1) | v0.3.1 から使える(コア 1.2.15 でビルド)。HID 版・Remap3 版とも、Xcratch 版で出力と入力を実機確認済み(2026-09-28) |