Arduinoでポートが見つからない原因と対処法|初心者向け

プログラミング・電子工作






Arduinoの「ポートが見つからない」原因と解決策まとめ。9割はケーブルとドライバで解決する。


HOW-TO / Arduino

Arduinoの「ポートが見つからない」原因と解決策まとめ。9割はケーブルとドライバで解決する。

Arduino IDEでボードを選んでも、ポート(パソコンとArduinoをつなぐ通信の窓口)が見つからない――そんな時に確認すべき順番を、原因の出現頻度順に整理しました。専門知識がなくても、上から順に試せば大抵は解決します。

YOFUKASI LAB編集部
公開日:2026年8月21日
更新日:2026年9月13日
読了目安:13分

執筆・実機検証:YOFUKASI LAB運営者

理学療法士/Arduino・Pythonを使った医療機器制作・学会発表経験あり

🔌この記事を3分でざっくり理解する(かんたん版)

  • 1パソコンにArduino(電子工作の小さなコンピューター)をつないでも「ポート」というつなぎ先の名前がでてこない時、いちばん多い原因は「充電専用のケーブルを使っている」こと。見た目はふつうのケーブルでも、中の線が「電気を送るだけ」で「データを送る線」が入っていないものがある。
  • 22番目に多いのは「ドライバ」という案内係のソフトが入っていないこと。特に安いArduinoの仲間(互換ボード)は、パソコンに「これはArduinoですよ」と教える係のソフトを自分でインストールする必要がある。
  • 33番目は「ほかのソフトがすでにそのポートを使っている」こと。1つのポートは1つのソフトしか使えないので、開いたままの画面を閉じるだけで直ることが多い。
  • 4それでも直らない時は、パソコンを再起動するか、別のUSB差し込み口に挿し直すとうまくいくことがある。

※ここから先は、なぜそうなるのかという仕組みや、パソコンの種類(Windows・Mac・Linux)ごとの違い、さらに詳しく調べたい人向けのコマンドの使い方まで、順を追って詳しく説明していきます。

Chapter 01 / Introduction

01なぜ「ポートが見つからない」が起こるのか

結論から言うと、Arduino IDEで「ポートが見つからない」トラブルの原因は、頻度順に「①充電専用USBケーブルを使っている」「②USBシリアル変換チップのドライバが未インストール」「③他のアプリがポートを使用中」の3つでほぼ説明がつきます。つまり、特別な故障や難しい設定ミスよりも、この3つのどれかであることが圧倒的に多いのです。

Arduinoのポートが見つからない状態を示すイメージ図

編集部想定シナリオ

新品のArduinoを購入したQさんは、USBケーブルを挿すと本体のLEDは点灯するのに、Arduino IDEの「ツール」→「ポート」を開いても何も表示されず困っていた。調べてみると、使っていたケーブルはスマートフォンの充電専用として同梱されていたもので、データ通信用の信号線が入っていない製品だった。そこでデータ転送対応のケーブルに交換したところ、一瞬でポートが表示された。これは非常によくあるつまずきパターンです。

編集部見解

「ポートが見つからない」というエラーは、Arduino本体の故障を疑う前に確認すべきことがたくさんあります。特にケーブルとドライバの2点は、Arduinoを使う人なら誰もが一度は通る道であり、慌てずに順番通り確認すれば大抵は数分で解決します。

本記事では、シリアルポートの基礎知識、認識される仕組みという技術的背景、OS別の違い、そして実際に原因を切り分けて解決するまでの手順を解説します。さらに後半では、ケーブルの内部構造やコマンドラインを使った上級者向けの切り分け方法、意外と見落とされがちなLinux環境での対処法まで、一歩踏み込んで解説していきます。



Chapter 02 / Background

02シリアルポート・USBシリアル変換チップの基礎知識

シリアルポートとは何か

シリアルポートとは、パソコンとArduinoがUSB経由でデータをやり取りするための仮想的な通信窓口です。たとえるなら、荷物(データ)を送るための「郵便受け」のようなものだと考えるとイメージしやすいでしょう。WindowsではCOM3やCOM4のような番号で、MacやLinuxでは/dev/tty.usbmodemXXXXのような名前で表示されます。つまり、Arduino IDEでスケッチ(プログラム)を書き込む際は、この番号・名前を正しく選択する必要があるということです。

USBシリアル変換チップの役割

多くのArduino(特に純正品以外の互換ボード)は、内部にUSBシリアル変換チップと呼ばれる部品を搭載しており、USB信号とマイコンが使うシリアル信号を相互に変換しています。代表的なものが「CH340」や「CH341」というチップです。このチップはPCとArduino互換機との通信を仲介するもので、中国製の互換機でよく使われていることが技術ブログで紹介されています。

ドライバが未インストールだとどうなるか

WindowsやMacには、このCH340用ドライバが標準搭載されていないことが多い点に注意が必要です。ドライバが入っていない場合、パソコンがArduinoを正しく認識できず書き込みできないという状態になると解説されています。一方、純正のArduino(Uno R3など)はATmega16U2という別チップを使っており、多くの場合OS標準のドライバで動作します。しかし、安価な互換ボードではこの一手間が必要になるケースが多い点を押さえておきましょう。

Chapter 03 / How it works

03認識される仕組みという技術的背景

Arduinoがパソコンに正しく認識されるまでには、次の3段階があります。それぞれの段階でつまずくポイントが異なります。

Arduinoがパソコンに認識されるまでの3段階を示す図解

  • ①USBによる給電・通電:ケーブルを挿すとArduino本体のLEDが点灯する段階。ここまでは充電専用ケーブルでも到達できてしまいます。
  • ②USBデバイスとしての認識:OSがUSB機器としてArduinoを検出する段階。ここでUSBシリアル変換チップのドライバが必要になります。
  • ③シリアルポートとしての割り当て:OSがCOM番号やデバイス名を割り当て、Arduino IDEの一覧に表示される段階。

給電できていても通信できるとは限らない

多くの初心者がつまずくのは「①はできているのに②③に進めない」というケースです。充電専用のマイクロUSBケーブルはMacに挿して通電はするものの、IDEとの接続に必要なUSBシリアルポートは認識されないという事例が技術記事で報告されており、給電できているからといって通信できているとは限らないことがよく分かります。

データ・編集部見解

技術ブログの検証記録では、USB Type-Bケーブルが奥までしっかり差し込まれていなかったことが原因で、給電はされるもののデータ通信ができずポートが認識されなかった事例が紹介されており、ケーブルの種類だけでなく「挿し込みの甘さ」も見落としやすい原因であることが分かります。ケーブルを一度抜き差しし直すだけで解決することも珍しくありません。



Chapter 04 / Comparison

04比較:Windows/Mac/互換ボードでの違い

項目 Windows(純正Arduino) Windows(互換ボード) Mac(共通)
基本的なドライバ OS標準で対応することが多い CH340等のドライバが別途必要な場合が多い CH340系は署名許可が必要な場合あり
確認する画面 デバイスマネージャー デバイスマネージャー システム情報/システムレポート
典型的な症状 比較的少ない 「ほかのデバイス」に警告アイコン付きで表示 USB機器として認識されない
参考 編集部見解 CH340ドライバ導入記事 Mac向けドライバ更新記事

※「基本的なドライバ」「典型的な症状」の一部は編集部見解によるものです。実際の挙動はOSのバージョンや搭載チップによって異なります。

結論として、純正Arduinoではドライバ関連のトラブルは比較的少ない一方、価格の安い互換ボードを使う場合はCH340系ドライバのインストールをほぼ前提として考えておくとスムーズです。Macユーザーは、ドライバインストール後にセキュリティ設定での許可が必要になる場合がある点も覚えておきましょう。Linux環境については、後述する第9章で個別に取り上げます。

Chapter 05 / Practice

05実践:原因を切り分ける5ステップ

ポート認識トラブルの原因を切り分ける5つのステップのイラスト

01

USBケーブルを疑う

まず、使用しているUSBケーブルをスマートフォンのデータ転送などで動作確認済みの別のケーブルに交換してみます。特に付属品として同梱されていたケーブルや、100円ショップなどの充電専用ケーブルは要注意です。あわせて、ケーブルの両端がしっかり奥まで差し込まれているかも確認しましょう。

02

OS側でデバイスが認識されているか確認する

Windowsでは「デバイスマネージャー」を開き、「ポート(COMとLPT)」の欄に何か表示されているか確認します。Macでは「システム情報」(Appleメニュー→このMacについて→システムレポート)でUSBデバイスの一覧にArduinoらしき機器が表示されているか確認します。

編集部想定シナリオ

Rさんがデバイスマネージャーを確認したところ、「ポート(COMとLPT)」ではなく「ほかのデバイス」の欄に黄色い警告アイコン付きでArduinoらしきデバイスが表示されていた。これはドライバが未インストールであることを示すサインで、CH340用のドライバをインストールし再起動したところ、正常に「ポート」欄へ移動して認識されるようになった、という典型的な解決パターンです。

03

USBシリアル変換チップのドライバをインストールする

基板上のチップの型番(CH340、CH341、FTDIなど)を確認し、メーカー公式サイトから対応するドライバをダウンロード・インストールします。インストール後は必ずパソコンを再起動し、再度デバイスマネージャーやシステムレポートで認識状況を確認してください。

04

ポートを使用中の他のアプリを閉じる

シリアルポートは一度に1つのアプリケーションしか使用できません。Arduino IDEのシリアルモニタを開いたままPythonなど別のプログラムからも同じポートを開こうとするとエラーになります。他にシリアル通信を行うアプリが起動していないか確認し、不要なものは閉じてください。

データ・編集部見解

編集部の見解として、「さっきまで書き込めていたのに急にポートがエラーになった」という場合、真っ先に疑うべきはシリアルモニタの開きっぱなしです。書き込み前には一度シリアルモニタを閉じる習慣をつけると、このタイプのエラーの多くを未然に防げます。

05

それでも解決しない場合はOSの再起動・別ポートを試す

ここまでの対策で解決しない場合、パソコン自体の再起動、別のUSBポート(特にUSBハブを経由している場合は直接パソコン本体のポートに挿し直す)への差し替えを試してください。USBハブや不安定な電源経由での接続は、認識トラブルの原因になることがあります。

Chapter 06 / Caution

06注意点・よくある誤解

!

誤解1:LEDが点灯していれば通信もできている

電源LEDの点灯は「給電されている」ことを示すだけで、「データ通信ができる」こととは別問題です。充電専用ケーブルでもLEDは点灯するため、この誤解が多くのつまずきの原因になっています。

!

誤解2:ポートが認識されない=本体が壊れている

実際には、本体の故障よりもケーブルやドライバが原因であるケースが圧倒的に多いです。すぐに買い替えを検討する前に、本記事のステップを一通り試すことをおすすめします。

!

誤解3:一度ドライバを入れれば二度とトラブルは起きない

OSの自動アップデートによってドライバの挙動が変わり、それまで使えていたボードが突然認識されなくなる事例が報告されています。急に認識しなくなった場合は、OSやドライバが最近更新されていないか確認してみましょう。



Chapter 07 / Deep Dive

07なぜ「見た目は同じケーブル」で挙動が違うのか(深掘り)

ここからは、他の解説記事ではあまり踏み込まれない「そもそもなぜ充電専用ケーブルだと通信できないのか」という構造の話をします。仕組みを理解しておくと、初見のトラブルにも自分で対応できるようになります。

USBケーブルの中には4本(またはそれ以上)の線が入っている

標準的なUSBケーブルの内部には、大きく分けて次の線が通っています。

  • VBUS(赤線):電源(+5V)を送るための線
  • GND(黒線):電気の帰り道(グラウンド)
  • D+/D-(緑・白線):データを送受信するための信号線

スマートフォンの急速充電などに付属する「充電専用ケーブル」は、コストダウンや発熱対策のために、このD+/D-の信号線をあえて省略している、あるいは細い線しか通していない製品が存在します。そのため、VBUSとGNDだけは生きているのでArduinoへの給電(LED点灯)は成立しますが、D+/D-が無い・細すぎることでデータ通信が成立せず、OSからはUSB機器として認識すらされないという状態になります。これが「LEDは点くのにポートが出てこない」という現象の正体です。

ケーブルの長さ・太さも通信品質に影響する

見落とされがちですが、ケーブルが長すぎたり、線が細く電気抵抗が大きいものだと、信号が減衰してUSB機器としての列挙(enumeration、パソコンが機器の種類を問い合わせるプロセス)に失敗することがあります。特に3m近い延長ケーブルや、100均のケーブルを複数連結して使っているようなケースでは、給電はできても通信が不安定になりやすい点に注意してください。可能であれば、1m前後の信頼できるメーカー製ケーブルを使うのが最も確実な対策です。

USBハブを経由すると起きやすい「電流不足」という別の問題

もう一つ見落とされがちなのが、セルフパワーではないバスパワー型のUSBハブを経由した場合の電流不足です。Arduino本体に加えてモーターやLEDテープなど電流を多く消費する部品を接続していると、USBポートやハブから供給できる電流の上限(多くの場合500mA前後)を超えてしまい、ボードが再起動を繰り返したり、認識が不安定になることがあります。この場合はケーブルやドライバの問題ではないため、セルフパワー式のUSBハブに切り替える、あるいは外部電源をArduインに供給するといった対策が有効です。

Chapter 08 / Advanced

08上級者向け:コマンドラインで原因をピンポイント特定する

GUI(画面操作)だけでは切り分けが難しい場合、コマンドラインを使うと「OSはUSB機器として認識しているのか」「シリアルポートとして割り当てられていないだけなのか」を厳密に切り分けられます。ここではArduino公式が提供するarduino-cliと、各OS標準のコマンドを紹介します。

arduino-cliでポート一覧とボード候補を確認する

arduino-cliをインストール済みであれば、次のコマンドで接続中のシリアルポートと、可能であればボードの型番候補までまとめて表示できます。

arduino-cli board list

このコマンドの結果に何も表示されない場合、OSがそもそもArduinoをUSB機器として認識できていない可能性が高く、ケーブルまたはドライバの問題である可能性がさらに強まります。逆に、ポート自体は表示されるのにボード名が「不明」と出る場合は、認識自体はできているので、次に述べるVID/PID(ベンダーIDとプロダクトID)の確認に進みます。

VID/PIDでチップの正体を特定する

USB機器は、接続時に自分の製造元とチップの種類を示す「VID(ベンダーID)」「PID(プロダクトID)」という4桁の識別番号を名乗ります。これを確認すると、搭載されているUSBシリアル変換チップの正体をピンポイントで特定できます。

チップ 代表的なVID:PID 備考
CH340/CH341 1a86:7523 安価な互換ボードで最も多く使われる
FTDI FT232R 0403:6001 やや高価だが安定性に定評がある
CP2102(Silicon Labs) 10c4:ea60 ESP32系の開発ボードでもよく使われる
ATmega16U2(Arduino純正) 2341:0043 など Arduino公式ボードに多い、型番により変動

※VID/PIDは製品ロットやリビジョンによって変動することがあります。あくまで目安としてご利用ください。

Windowsでは、デバイスマネージャーで対象デバイスを右クリック→「プロパティ」→「詳細」タブ→「プロパティ」欄で「ハードウェアID」を選択すると確認できます。Macではsystem_profiler SPUSBDataTypeをターミナルで実行し、接続機器の一覧からVendor ID/Product IDを探します。Linuxでは後述するlsusbコマンドで一発表示できます。

avrdudeのエラーメッセージから原因を読み解く

書き込み時に表示されるavrdude: stk500_recv(): programmer is not respondingのようなエラーは、多くの場合「ポート自体は開けたが、ボードからの応答がない」状態を示しています。これは、①選択しているポートが実際のArduinoとは別の機器のものである、②ボードのブートローダーが破損している、③書き込み中にリセットタイミングがずれている、のいずれかが典型的な原因です。特に①は非常に多く、Bluetoothモジュールなど別の仮想シリアルポートを誤って選択しているケースが少なくないため、まずは「ツール」→「ポート」で候補が複数ある場合、Arduinoを抜き差しして増減するポートがどれかを見比べるのが確実な特定方法です。

Chapter 09 / Linux

09Linux(Raspberry Pi OS/Ubuntuなど)での対処法

Windows・Macに関する情報は多く出回っていますが、Raspberry Pi OSやUbuntuなどLinux環境でArduinoを扱う際の注意点は意外と見落とされがちです。Linuxではドライバの有無よりも「権限(パーミッション)」が原因になるケースが独特で、ここを知らないと延々と原因不明のまま時間を浪費してしまいます。

lsusbコマンドでUSB機器としての認識を確認する

lsusb

ここにCH340やFTDIなど、それらしきデバイスが表示されていれば、USB機器としての認識(前述の②の段階)はできています。表示されない場合は、Windows・Macと同様にケーブルを疑ってください。

デバイスファイルの存在とdmesgでの確認

ls /dev/ttyUSB* /dev/ttyACM*
dmesg | tail -n 20

/dev/ttyUSB0/dev/ttyACM0のようなデバイスファイルが存在するかを確認します。dmesgコマンドは直近のカーネルログを表示するもので、USBを挿した直後に実行すると「ch341-uart converter now attached to ttyUSB0」のようなメッセージが確認でき、OS側がどのデバイス名で認識したかがわかります。

Linux特有の落とし穴:dialoutグループの権限不足

Linuxでは、シリアルポートのデバイスファイルはroot権限またはdialoutグループに属するユーザーしかアクセスできないよう権限設定されているのが一般的です。デバイスファイル自体は存在するのに、Arduino IDEのポート一覧に出てこない、あるいは書き込み時に「Permission denied」というエラーが出る場合は、これが原因である可能性が非常に高いです。次のコマンドでユーザーをdialoutグループに追加し、一度ログアウト・再ログイン(またはOS自体を再起動)することで解決します。

sudo usermod -a -G dialout $USER

この対処法はWindowsやMacの解説では出てこない、Linux環境ならではの重要なポイントです。教育現場でRaspberry PiとArduinoを組み合わせて授業を行う場合など、Linux環境での運用を前提とするケースでは特に押さえておきたい知識です。



Chapter 10 / FAQ

10よくある質問

Q.USBケーブルを挿しても電源ランプが点灯するのにポートが認識されません。原因は?
A.最も多い原因は「充電専用(給電専用)USBケーブル」を使っていることです。見た目が同じUSBケーブルでも、内部の信号線が省略されておりデータ通信ができないケーブルが市販されています。電源は入るのにポートが出てこない場合は、まず別のケーブル(スマートフォンのデータ転送や写真同期に使えることが確認済みのケーブル)に交換して試してください。

Q.デバイスマネージャーに「ほかのデバイス」として黄色い警告付きで表示されます。どうすればいいですか?
A.これはUSBシリアル変換チップ(CH340やCH341など)のドライバが正しくインストールされていない状態です。チップメーカーが配布している公式ドライバをダウンロード・インストールし、パソコンを再起動することで解決することがほとんどです。特に安価な互換ボードでは、ドライバが同梱されていないことが多いため注意が必要です。

Q.Macでポートが全く表示されません。Windowsと原因は違いますか?
A.基本的な原因(ケーブル・ドライバ・ポート競合)はWindowsと共通ですが、MacではUSBシリアル変換チップ用ドライバの署名許可が必要になる場合があります。macOSの「システム設定」→「プライバシーとセキュリティ」で、ブロックされた拡張機能の許可を求められた際は「許可」を選択し、再起動してください。

Q.昨日まで使えていたポートが急に見つからなくなりました。何が原因ですか?
A.OSやドライバの自動アップデートが影響しているケースが報告されています。特にWindowsのアップデート後にUSBシリアル変換チップ用ドライバが更新され、それまで使えていた互換ボードが認識されなくなる事例があります。この場合は、ドライバの再インストールや、デバイスマネージャーから該当デバイスを一度アンインストールして再認識させる操作で改善することがあります。

Q.Linux(Raspberry Pi OSやUbuntuなど)でもポートが見つからないことはありますか?
A.はい、あります。Linuxではドライバの有無よりも「権限」が原因になることが多く、ユーザーがdialoutグループに入っていないためシリアルポートへのアクセス権がなく、ポート自体は/dev/ttyUSB0のように存在していてもArduino IDEの一覧に出てこない、または書き込み時に権限エラーになるケースが典型的です。sudo usermod -a -G dialout $USERを実行し、一度ログアウト・再ログイン(またはOS再起動)することで解決することが多いです。

Q.コマンドラインでArduinoのポートを直接確認する方法はありますか?
A.arduino-cli board listコマンドを使うと、OSが認識しているシリアルポートと、可能であればボードの型番候補まで一覧表示できます。Windowsではデバイスマネージャーのプロパティからハードウェアの詳細でVID(ベンダーID)とPID(プロダクトID)を確認でき、MacやLinuxではsystem_profiler SPUSBDataType(Mac)やlsusb(Linux)で同様の情報を確認できます。これによりOSがUSBデバイスとしては認識しているのか、それともシリアルポートとして割り当てられていないだけなのかを切り分けられます。

参考文献

  1. Adireeek「USB typeCのArduinoに書き込めない!CH340 チップのドライバーのインストール方法」2025年, https://blog.adireeek.com/ch340c_driver/
  2. Qiita「ArduinoやESP32でUSBのシリアルポートがMacで認識されない場合(初歩)」2021年, https://qiita.com/Asuka_Saito/items/5e019d3d7acd2632a2b1
  3. openillumi「Arduino IDE ポート表示されないMacの解決策」2025年, https://openillumi.com/mac-arduino-ide-port-fix/
  4. ekit-tech「Arduino IDEで『シリアルポートが選択できない』『USBを認識しないとき』はドライバをインストールしよう」2021年, https://www.ekit-tech.com/?p=1506
  5. Qiita「Arduino互換機でシリアルポートを認識しなくなった場合の対処」2018年, https://qiita.com/snumano/items/e268ed48b34eba6b6af0

※出典の明記がない数値・シナリオ・コマンド例は「編集部見解」または「編集部想定シナリオ」として本文中に明示しています。第7〜9章の技術的な深掘り部分(ケーブルの内部構造、VID/PID表、avrdudeのエラー解釈、Linuxのdialout権限など)は編集部による技術的知見のまとめであり、実際の動作はハードウェアやOSのバージョンにより異なる場合があります。実機での作業前には、ご自身の環境で必ず確認・自己責任のうえ実施してください。※本文中の内部リンクはyofukasi-lab-wp.com内の関連記事です。


関連記事

特集記事

コメント

この記事へのコメントはありません。

TOP
CLOSE