USB-UART アダプター¶
USB-UART アダプターは、コンピューターまたは Linux ホストが USB を介して UART デバイスと通信するために必要です。USB を通常のシリアルライン TX、RX、GND に変換します。
このアダプターは、適切な USB コネクターを持たないボードのフラッシュ書き込み、ログ確認、診断、復旧によく使用されます。
使用場面¶
USB-UART アダプターが役立つ場面:
- 一部のマイコンボードへのフラッシュ書き込み;
- シリアルログの読み取り;
- デバイスコンソールへのアクセス;
- ブートローダーモードの診断;
- Arduino Pro Mini および一部の Nano クローンの接続;
- 内蔵 USB を持たないボードでの作業;
- フラッシュ失敗後の復旧;
- シリアル経由でのホストへの一時的な MCU 接続。
ボードにすでに適切な USB があり、シリアルデバイスとして認識される場合、別途 USB-UART アダプターは不要な場合があります。
端子の構成¶
典型的な端子:
TXまたはTXO— アダプターからデバイスへの送信;RXまたはRXI— デバイスからの受信;GND— 共通グラウンド;VCC、3V3、または5V— 必要に応じた電源供給;DTR— 自動リセット/フラッシュによく使用される;RTS、CTS— フロー制御ライン、またはブート/リセットシナリオ用。
接続図:

出典: Wikimedia Commons, SparkFun Electronics, CC BY 2.0
単純なログ読み取りには、TX、RX、GND だけで十分なことが多いです。電源は、ボードをアダプターから給電することが明確な場合にのみ接続します。
TX と RX の接続方法¶
接続はクロス接続です:
接続できない場合、最初に確認すること:TX と RX が逆になっていないか、共通 GND があるか、速度が一致しているか、正しい COM/tty ポートが選択されているか。
3.3V と 5V¶
USB-UART アダプターの種類:
3.3Vのみ;5Vのみ;3.3V/5V切り替えスイッチ付き;- ジャンパーまたはハンダジャンパー付き;
VCCはある電圧で、信号は別の電圧レベルのもの。
注意点:VCC のレベルと TX/RX のレベルは、ラベルだけでは必ずしも明確ではありません。
ESP32、RP2040、STM32 は通常 3.3V ロジックを使用します。Arduino Uno/Nano は 5V ロジックを使用することが多いです。3.3V 入力に 5V 信号を印加すると、ボードが損傷する可能性があります。
接続前に、アダプターとボードのドキュメントを確認してください。ジャンパーの色やケースのラベルだけを頼りにしないでください。
TTL UART と RS-232¶
マイコン向けの USB-UART アダプターは通常 TTL/CMOS UART を出力します:3.3V または 5V。
これは本物の RS-232 とは異なります。
RS-232 は異なる電圧レベルを持ち、マイコンの GPIO に直接接続できません。実際の RS-232 ポートで作業する必要がある場合は、通常の USB-UART TTL ではなく、USB-RS232 アダプターまたはレベル変換器が必要です。
アダプターからの電源供給¶
アダプターの VCC ピンは便利ですが、誤用されることが多いです。
安全なアプローチ:
- ログや診断では、まず
TX、RX、GNDのみ接続する; - ボードがすでに USB、電源、または他の回路から給電されている場合は
VCCを接続しない; - USB-UART 経由でモーター、サーボ、リレー、ヒーター、LED ストリップに給電しない;
- アダプターが実際に供給できる電流量を確認する;
VCCが3.3Vか5Vかを把握する。
回路を理解せずに 2 つの電源を接続すると、逆流給電、不安定動作、またはボードの損傷を招く可能性があります。
DTR と RTS¶
一部のボードは自動リセットまたはブートローダー起動に DTR と RTS を使用します。
例:
- Arduino Pro Mini はフラッシュ時のリセットにコンデンサを通じた
DTRをよく使用する; - ESP32 ボードは
ENとBOOTを自動制御するためにDTR/RTSを使用することがある; - 一部のブートローダーシナリオでは、これらのラインが接続されていない場合、手動でボタンを押す必要がある。
フラッシュが自動的に開始しない場合、必ずしも TX/RX の問題ではありません。DTR/RTS が接続されていない、誤ったブートローダーが選択されている、または BOOT/RESET を手動で押す必要があるかもしれません。
CH340、CP2102、FTDI¶
代表的な USB-UART チップ:
- CH340/CH341 — 安価で広く普及しているアダプター;
- CP2102/CP210x — Silicon Labs の一般的な USB-UART;
- FT232/FTDI — クラシックな選択肢で、多くの場合より高価;
- PL2303 — 古いアダプターやケーブルに見られる。
現代のシステムではドライバーが自動的にインストールされることが多いですが、常にそうとは限りません。ポートが表示されない場合は以下を確認してください:
- USB ケーブルが充電専用ではないか;
- デバイスがシステムに認識されているか;
- ドライバーが必要かどうか;
- 古いドライバーが競合していないか;
- ポートが別のプログラムに占有されていないか。
アダプターのテスト方法¶
シンプルなループバックテスト:
- アダプターをコンピューターに接続する。
- アダプターの
TXをアダプターのRXに接続する。 - シリアルターミナルを開く。
- ポートと速度を選択する(例:
115200)。 - 文字を入力する。
- 正常に動作していれば、文字がエコーバックされる。
これにより、外部ボードなしでアダプター本体、ドライバー、ケーブル、ターミナルプログラムをテストできます。
購入前の確認事項¶
USB-UART アダプターを購入する前に確認すること:
TX/RXのレベル:3.3V、5V、または切り替え可能か;- レベルの選択方法;
- 使用チップ:CH340、CP2102、FTDI、またはその他;
- 使用システム向けのドライバーがあるか;
- 自動フラッシュが必要な場合、
DTRとRTSがあるか; - USB コネクターの種類;
GND、TX、RX、VCCピンが使いやすい順になっているか;- 回路図または十分なドキュメントがあるか;
- 必要に応じて
VCCから引き出せる電流量。
ESP32/RP2040/STM32 の診断には、3.3V 信号で明確なマーキングのあるアダプターがより便利です。
よくある間違い¶
TXとTX、RXとRXを接続してしまう;- 共通
GNDを忘れる; 3.3Vボードに5Vレベルを選択する;- すでに給電されているボードに
VCCを接続する; - USB-UART アダプター経由で負荷に給電する;
- USB-UART TTL と USB-RS232 を混同する;
- 充電専用 USB ケーブルを使用する;
- CH340/CP2102/FTDI ドライバーをインストールしない;
- 誤った COM/tty ポートを選択する;
- 自動フラッシュに必要な
DTR/RTSを接続しない; - シリアルターミナルを開いたままにして、フラッシャーがポートを開けない原因を不思議がる。
まとめ¶
USB-UART アダプターは、コンピューターの USB とデバイスの UART ピンを繋ぐブリッジです。最小限の接続には、クロス接続した TX/RX と共通 GND が必要です。
主なリスク:3.3V/5V レベルの誤り、不要な電源接続、TTL UART と RS-232 の混同、フラッシュ用の DTR/RTS ラインの欠如。
関連資料¶
- SparkFun: Serial Basic CH340C Hookup Guide — USB-UART CH340C の実践ガイド、
DTR/RX/TX/VCC/CTS/GNDピン、電圧選択、ループバックテスト。 - SparkFun: Serial Basic Overview — ピン配置の説明とアダプターの
3.3V/5V切り替え。 - Adafruit: FT232H Serial UART — USB シリアルアダプターの例、
TX/RX、フロー制御ライン、デバイスへの接続。 - Silicon Labs: CP2102 USB to UART Bridge — USB-UART ブリッジチップと Virtual COM Port ドライバーの公式例。
- Klipper Configuration Reference:
[mcu]— Klipper でシリアル MCU 接続をserial経由で記述する方法。