「Arduino IDEに慣れてきた」「VS Codeで本格的にArduino開発をしたい」という方へ。この記事では、VS Code+PlatformIOでArduinoの開発環境を作る手順を、現役エンジニアが順番に解説します。

結論、PlatformIOはVS Codeに入れる拡張機能で、これを入れるとVS Codeで本格的なマイコン開発環境を構築できます。設定に少しクセはありますが、この記事のとおり進めれば初学者でも構築できます

筆者は現役の車載組込みソフトエンジニアで、普段の開発で実際に使っているのがこのVS Code+PlatformIOです。だからこそ「なぜこの環境なのか」も実体験をふまえてお伝えします。なお、Arduino IDEとどちらが良いかの比較はArduino開発環境の選び方にまとめています。

PlatformIOとは?Arduino IDEとどう違う

手順に入る前に、PlatformIOが何者なのかを押さえておきましょう。

VS Codeの拡張という位置づけ

PlatformIOは、マイコン開発のためのプラットフォーム(ツール群)です。単体のソフトではなく、エディタである「VS Code」に拡張機能として入れて使うのが一般的です。つまり構成はこうなります。

VS Code高機能エディタ(コードを書く側)
PlatformIO 拡張ビルド・書き込み・管理
本格マイコン開発環境実務に近い開発ができる
図:VS Code(エディタ)にPlatformIO(ビルド・書き込み)を足して開発環境にする

Arduino IDEから移るメリット

Arduino IDEと比べたPlatformIOの主なメリットは次のとおりです(詳しい比較は開発環境の選び方へ)。

  • 複数ファイルに分けて開発しやすい(規模が大きくなっても整理できる)
  • コード補完・定義ジャンプが優秀(VS Codeの恩恵で開発効率が上がる)
  • 設定ファイル(platformio.ini)で環境を固定・再現できる
  • 複数のボードやマイコンを1つの環境で扱える(実務に近い)
  • Git連携やAI支援(GitHub Copilot等)がそのまま使える

環境構築の手順【VS Code → PlatformIO】

ここから実際の構築です。大きく「VS Codeを入れる → PlatformIO拡張を入れる → プロジェクトを作る」の3ステップです。

① VS Codeをインストールする

まずエディタ本体となるVS Code(Visual Studio Code)を入れます。VS Code公式サイトからOSに合ったインストーラをダウンロードし、案内に従ってインストールします。すでにVS Codeを使っている方はこの手順は不要です。

② PlatformIO IDE拡張を入れる

VS Codeを起動し、拡張機能(Extensions)から「PlatformIO IDE」を入れます。

  1. 左側の拡張機能アイコン(四角が4つのマーク)をクリック
  2. 検索欄に「PlatformIO IDE」と入力
  3. 表示されたPlatformIO IDEを「Install(インストール)」
  4. 初回はセットアップに少し時間がかかる。完了後、VS Codeを再読み込みする

インストールが終わると、左側にPlatformIOのアイコンが追加され、ここから操作できるようになります。

③ 最初のプロジェクトを作る

PlatformIOのホーム(PIO Home)から新規プロジェクトを作ります。

  1. PlatformIOホームの「New Project(新規プロジェクト)」を開く
  2. プロジェクト名を入力
  3. ボード(Board)を選ぶ(例:Arduino Uno)
  4. フレームワーク(Framework)で「Arduino」を選ぶ
  5. 「Finish」でプロジェクトが生成される

プログラム本体は、生成された「src」フォルダの中(main.cpp など)に書きます。Arduino IDEの「スケッチ」にあたる部分です。

platformio.ini を理解する

プロジェクトを作ると、platformio.iniという設定ファイルができます。ここが「どのボードを・どのフレームワークで使うか」を決める心臓部です。中身は例えば次のようになります。

項目 意味
platform 使うマイコンの種類(例:atmelavr)
board 使うボード(例:uno)
framework 開発の枠組み(例:arduino)
monitor_speed シリアル通信の速度(例:9600)

このファイルを書き換えるだけで対象ボードを切り替えられるのがPlatformIOの強みです。設定がファイルに残るので、同じ環境を再現・共有しやすいのも実務的な利点です。

ビルド&書き込み(Lチカで動作確認)

環境ができたら、Arduino IDEと同じくLチカ(内蔵LEDの点滅)で書き込みを確認しましょう。src/main.cpp に点滅のプログラムを書いたら、下部のツールバーから操作します。

✓ Buildビルド(コンパイル)
→ Uploadボードへ書き込み
LED点滅成功!
図:下部ツールバーの「Build(✓)→ Upload(→)」で書き込む
  1. 下部ツールバーの「Build(✓)」でビルド(エラー確認)
  2. 「Upload(→)」でボードへ書き込み
  3. ボードのLEDが点滅すれば成功。シリアルモニタ(プラグのアイコン)で出力も確認できる

つまずきやすいポイントと対処

PlatformIOはArduino IDEより少しだけ設定が複雑なので、最初に引っかかりやすい所を先回りでまとめます。

  • ボードが書き込めないplatformio.iniboard が実物と合っているか確認。USBはデータ通信対応ケーブルを使う
  • ポートが見つからない:USBドライバが入っているか確認(Arduino IDEを入れているとドライバが入っていることが多い)
  • 初回が重い:プロジェクト作成時に必要なツールを自動でダウンロードするため、最初だけ時間がかかる

設定まわりは最初こそ戸惑いますが、一度作ってしまえばplatformio.iniを使い回せるので、2回目以降はぐっと楽になります。

現役がPlatformIOを使う理由

最後に、なぜ筆者がこの環境を本命にしているのか、実体験からお伝えします。手軽さで言えばArduino IDEに分がありますが、それでもPlatformIOを選ぶ理由があります。

<現役エンジニアの視点>
いちばんの理由は複数ファイルに分けて開発しやすいことです。Arduino IDEは基本的に「メインのファイルにまとめて書く」前提で、きちんと作り込む段階になると不便で、私はPlatformIOに移りました。
実際の現場でも、コードを書くのはVS Code、ビルドは専用のコンパイラ(GHSやGCCなど)という構成が多く、Arduinoの段階からVS Codeに慣れておくと学びがそのまま実務に地続きになります。これが、私がこの環境を勧める一番の理由です。

補完・Git連携・AI支援といった観点ごとの詳しい比較と「自分はどちらを選ぶべきか」は、Arduino開発環境の選び方で整理しています。

まとめ|実務に近い環境で一歩進む

要点を整理します。

  • PlatformIOはVS Codeに入れる拡張。VS Codeを本格的なマイコン開発環境に変える
  • 手順:VS Codeを入れる → PlatformIO IDE拡張を入れる → New Projectでボード選択 → src/main.cpp に書く
  • platformio.iniでボードを切り替え・環境を再現できる
  • Build(✓)→ Upload(→)で書き込み、Lチカで動作確認

まだArduino IDEを入れていない初心者の方は、まずArduino IDEのダウンロード〜インストール完全ガイドから。環境選びに迷ったらArduino開発環境の選び方を、学習全体の進め方は未経験から組込みエンジニアになる全体ロードマップをどうぞ。各ツールの公式情報はPlatformIO公式VS Code公式で確認できます。

よくある質問(FAQ)

初心者でもPlatformIOから始めていい?

できますが、まずはArduino IDEで「動かす成功体験」を得てからのほうがスムーズです。PlatformIOは設定が少し複雑なので、Arduinoやプログラムの基本に慣れてから移ると、つまずきにくくなります。とはいえ本記事のとおり進めれば、初学者でも構築は可能です。

Arduino IDEのスケッチは使える?

基本的な書き方(setup/loop など)は共通なので、Arduino IDEで書いたコードはほぼそのまま活かせます。PlatformIOでは src フォルダ内にコードを置き、フレームワークに「Arduino」を選ぶことで、同じ感覚で開発できます。

PlatformIOは無料?

はい、個人の学習・開発で使う範囲では無料です。VS Codeも無料なので、追加費用なしで本格的な開発環境を作れます。

Arduino IDEとどっちがいい?

初心者はArduino IDE、本格的・実務志向ならPlatformIOが目安です。まずIDEで始め、複数ファイルでの開発や補完・Gitが欲しくなったらPlatformIOへ。この順番がおすすめです。詳しい比較はArduino開発環境の選び方でまとめています。