「SnapDragon X」搭載の「Surface」を使用しARM版Windows環境で「M5Stack」や「Raspberry Pi Pico」の開発環境や書込みが問題なく動作できるかを確認していきます。
私の開発環境では「Mac」と「Windows」両方を使用していますが、Windows10のサポート終了が10月14日と迫っており、次のWindowsパソコンを探していました。
Windowsパソコンは「Surface Go」を使用していたため、次もSurfaceを検討しましたが、ARM系アーキテクチャの「SnapDragon」搭載機種が増えてきています。
ARM版Windowsで「ArduinoIDE」等のソフトが問題なく動作するのか?マイコンデバイスがUSBで認識されるのか?情報も少なく購入を迷っていましたが、性能やコスト的には魅力的なことと、ARM環境でどこまでできるのか逆に興味も出てきたので、購入することを決めました^^
1.SnapDragonとは
2.Surfaceとは
3.開発環境のインストール、動作確認
・ArduinoIDE
・VSCode(PlatformIO)
・UiFlow
・Thonny
4.M5Stack系のUSBドライバについて
・公式ページのドライバ(x64系)は使用不可
・ARM対応ドライバの入手方法
5.M5Stack系の書き込み
・サンプルプログラム
・書き込み、動作確認済機種一覧
6.Raspberry Pi Pico系の書き込み
・サンプルプログラム
・書き込み、動作確認済機種一覧
7.まとめ
1.SnapDragonとは
「Snapdragon」とは、アメリカの半導体企業「Qualcomm(クアルコム)」によって開発された「SoC」です。(製造は TSMC(台湾) や Samsung(韓国) に委託)
「SoC」とは、「System on Chip(システム・オン・チップ)」の頭文字をとったもので、その名の通り一枚の「基板(チップ)」上に様々な「システム(CPUやGPU、メモリ等)」を統合したものです。
「Snapdragon」のプロセッサには、「ARM(Advanced RISC Machines)アーキテクチャ(設計思想)」が採用されています。
ARMアーキテクチャとは
「ARMアーキテクチャ」とは、主にモバイルデバイスや組み込みシステム向けに設計された「RISC(Reduced Instruction Set Computer)」ベースの命令セットアーキテクチャ(設計思想)です。
ARMアーキテクチャの特徴は以下のようになります。
- 低消費電力: 設計当初から低消費電力を重視しており、バッテリー駆動のデバイスに非常に適している。
- 高い電力効率: 限られた電力で高い処理能力を発揮。
- シンプルな命令セット: 命令セットがシンプルであるため、回路設計が比較的容易で、処理にかかる消費電力を低くできる。
- ライセンスモデル: 「ARM」自身はチップを製造せず、その設計をQualcomm、Apple、Samsung等の半導体メーカーにライセンス供与しています。
これにより、各メーカーは「ARM」の基本設計をベースに独自のカスタム「SoC」を開発しています。 - 互換性の問題:従来のWindowsパソコンで採用されているIntel/AMDの「x86/x64系アーキテクチャ」とは全くの別物で、ARM環境で開発されたアプリはx86/x64環境では基本的には動作できない。
ARM版 Windowsの登場
モバイル機器向けに「ARM」ベースで開発された「Snapdragon」ですが、Microsoftが「ARMアーキテクチャ」上で「Windows 10/11」を動作させる「Windows on ARM」プロジェクトを推進したことで、「Snapdragon」を搭載したPCが市場に投入される道が開かれました。
従来のIntel/AMDの「x86/x64アーキテクチャ」だけでなく、「ARMアーキテクチャ」でもWindows が利用可能になり、2017年頃から「Snapdragon」搭載PCが登場、2024年以降にはAI処理に特化した「Snapdragon Xシリーズ(X Elite / X Plus)」を搭載したPCが本格展開されています。
「Snapdragon」がパソコンへ搭載されていった背景には、他にも以下の要因があります。
- モバイルデバイスでの成功: スマートフォンやタブレットで培った低消費電力・高性能のSoC技術をPCにも応用することで、バッテリー駆動時間の長いモバイルPCの実現が可能。
- 常時接続のニーズ: スマートフォンと同じように常にインターネットに接続できる「Always Connected PC」のコンセプトが提唱され始め、モデム機能を統合しているSnapdragonはこのコンセプトに最適。
- Apple Mシリーズの成功: 「Apple」が自社設計のARMベースチップ「Mシリーズ」をMacに搭載し、その高い性能と電力効率を示したことで、ARMアーキテクチャがPC市場で競争力を持つことが証明された。
AIパソコン時代の幕開け
近年、「生成AI」や「リアルタイムの画像・音声処理」など、AI技術を利用した高度なタスクの需要が急増しています。これに対応するため、PCにも専用のAIプロセッサ(NPU: Neural Processing Unit)を搭載する「AIパソコン」が登場し始めました。
「Snapdragon Xシリーズ(X Elite / X Plus)」は、CPU・GPUに加え、強力なNPUを内蔵しており、ローカルでAI処理を行える性能を備えています。これにより、以下のような新しいPC体験が可能になってきています。
- 文書作成や画像生成、編集など、「生成AI」を活用したクリエイティブ作業をクラウドに頼らず高速に実行。
- リアルタイムの音声文字起こしや翻訳、議事録作成等をノイズキャンセリングや音声識別を行うAIを使用し、業務の効率化やスマートなコミュニケーション支援が可能。
- パーソナルAIアシスタントによる生産性向上(スケジュール管理、要約、リライトなど)
Intelパソコンとの主な性能比較
モデルや価格帯で違いはありますが、特徴的なところをIntelパソコンと比較すると以下表のようになります。
項目 | Snapdragon PC | Intel PC |
---|---|---|
消費電力 | 非常に低く、ファンレス設計も可能 | 高性能だが発熱・消費電力が大きい |
バッテリー持ち | 最大20時間以上の長時間駆動も可能 | モデルによっては短め |
AI処理性能 | NPU搭載で最大45TOPS | NPU性能はモデルによって45TOPS以上 |
互換性 | 一部x86アプリが動作しないことも ドライバはARM対応ドライバが必要なものもある | 互換性は非常に高い |
価格帯 | 高性能モデルでも比較的安価 | ハイエンドは高価になりがち |
2.Surfaceとは
「Surface」とは、「Microsoft(マイクロソフト)」社 が製造・販売しているパソコン、タブレット、のブランドです。Windows OSを開発しているマイクロソフト自身が手掛けるハードウェアとして、Windowsの機能や性能を最大限に引き出せることが期待されます。
主なシリーズと特徴
- Surface Pro: タブレットとしてもノートPCとしても使える、Surfaceの代表的な2-in-1モデル。高い携帯性とパフォーマンスを両立。
- Surface Laptop: スタイリッシュで高性能なクラムシェル型ノートPC。快適なタイピングとディスプレイが特徴。
- Surface Go: 軽量・コンパクトで手頃な価格のエントリーモデル。持ち運びやサブ機として最適。
- Surface Laptop Studio: クリエイター向けの高性能な2-in-1デバイス。ディスプレイを様々な角度に調整でき、ペン入力での創作活動に特化。
- Surface Studio: 大画面のオールインワンデスクトップPC。クリエイティブ作業に最適な、ディスプレイを傾けられる特徴を持つ。
Surface Pro 12について
今回動作確認に使用した「Surface Pro 12」の外観は下写真のようになります。


「Surface」の上に載っているのは「M5CORE2(50x50mm)」です。
最近のパソコンは13インチ以上のものがほとんどですが、12インチでも十分な画面サイズで場所も取らないので、机上での小型デバイスのプログラムに最適と思います。
仕様や特徴は以下表のようになります。
機能 | 仕様 |
---|---|
プロセッサ | Snapdragon® X Plus (8 コア) |
NPU | Qualcomm® Hexagon™ (45 TOPS) |
グラフィックス | Qualcomm® Adreno™ GPU |
メモリ | 16GB LPDDR5x RAM |
ストレージ | 256GB/512GB (UFS) |
ディスプレイ | タッチスクリーン: 12 インチ PixelSense LCD ディスプレイ 解像度:2196 x 1464 (220 PPI)、縦横比: 3:2 最大 90Hz の動的リフレッシュ レート (既定値 60Hz) 10 点マルチタッチ、強化ガラス ディスプレイ |
バッテリー駆動時間 | 最大 16 時間のローカル ビデオ再生 最大 12 時間のアクティブな Web 使用 |
サイズ | W274 × D190 × H7.8 mm |
重量 | 686g(本体のみ) ※別売り専用キーボード340g |
カメラ | フロント Surface Studio カメラ:フル (1080p) HD リア カメラ:10MP Ultra HD サインイン セキュリティの強化を使用した Windows Hello 顔認証対応カメラ |
オーディオ | Dolby® Atmos® オーディオ搭載 2W ステレオ スピーカー Bluetooth® LE Audio 対応 |
マイク | 音声フォーカス搭載 デュアル スタジオ マイク |
USBポート | 2 × USB-C® / USB 3.2 ポート (以下に対応): 充電&データ転送 DisplayPort 1.4a (最大 2 台の 4K モニター @60Hz 対応) Surface Thunderbolt™ 4 ドックとその他のアクセサリ |
充電 | USB-C® を介した定格出力 45 W 以上の充電ケーブルを使用した急速充電をサポート ※ACアダプターの付属は無し |
ネットワークと接続 | Wi-Fi 7/Bluetooth® Core 5.4 テクノロジ |
専用ペン | Surface スリム ペン (2nd エディション) ※別売 12インチの背面にある Surfaceスリム ペン用の収納部とワイヤレス充電器 |
専用キーボード | Surface Pro 12 インチ Keyboard ※別売 |
ソフトフェア | Windows 11 Home Microsoft 365 Personal (24か月間のサブスクリプション) |
付属品 | USB-C® 充電ケーブル クイック スタート ガイド、安全性および保証に関する書類 ※充電器、ペン、キーボードは付属していません |
3.開発環境のインストール、動作確認
「ARM」版のWindows11環境で、マイコンデバイス(M5Stack系、Raspberry Pi Picoシリーズ)の開発環境が問題なく動作できるのか、実際にインストールして確認していきます。
・ArduinoIDE
ArduinoIDEは、「M5Stack系」と「ラズパイPicoシリーズ」の「C言語」の開発環境です。
インストールには以下のリンクをクリックします。

下画像のようなページが表示されますが、「ARM」版は無いため[ Windows Win 10 and never, 64 bits ]をクリックしてインストールしました。

ArduinoIDEのインストール方法は以下のリンクで詳しく紹介しています。


従来通りインストールを進めたところ、途中でUSBドライバのインストールもありましたが、特に問題なくインストール完了し、ライブラリのインストールやコンパイルも問題なく動作できました。
・VSCode(PlatformIO)
「VSCode」とは、Microsoft社が開発したオープンソースのソースコードエディタで様々なプログラム言語に対応しています。
「C言語」や「Python」を使用したプログラムの開発はもちろん、拡張機能の「PlatformIO」をインストールすることで、プログラムの書き込みやデバッグも行うことができます。
インストールには以下のリンクをクリックします。

下画像のようなページが表示されたら、左上の[Douwnload]ボタンをクリックします。

下画像のようなページが表示されたら[Windows Windows10,11]をクリックします。

インストール方法は、以下のリンク先で日本語化も含めて詳しく紹介しています。

PlatformIO
インストール方法については以下のリンクで詳しく紹介しているものと同じです。

[env:m5stack-atoms3]
platform = espressif32
board = m5stack-atoms3
framework = arduino
lib_deps =
m5stack/M5AtomS3@^1.0.2
fastled/FastLED@^3.10.1
m5stack/M5Unified@^0.2.7
; 以下を追記する
build_flags =
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
upload_speed = 115200
upload_flags =
--after
no_reset
platform_packages =
tool-esptoolpy@https://github.com/Jason2866/esptool/releases/download/v4.8.7/esptool.zip
・UiFlow
「UIFlow」とは「M5Stackシリーズ」のための「ビジュアルプログラミング」の開発環境で、「ブラウザ版」と「インストール版」があり、どちらも無償で使用することができます。
「M5Burner」を使用したファームウェアの書き込みから「UIFlow」の使い方は以下のリンクで詳しく紹介しています。

・Thonny
「Thonny」とは「Python」の開発環境として使用されますが「Pico2」や「ESP32」「micro:bit」等のマイクロコントローラの開発環境としても使用できます。
インストールには以下のリンクをクリックします。

上画像のようなページが表示されたら[Windows]のところにカーソルを持っていきます。

上画像のような表示になったら[thonny-4.1.7.exe]をクリックするとインストーラーがダウンロードされるので、ダウンロードが終了したらこれをクリックするとインストールできます。
Thonnyのインストール方法からPicoへの書き込み方法については、以下のリンク先で詳しく紹介しています。(初回はSSL認証エラーが出る可能性があるため、対処方法も紹介しています)

4.M5Stack系のUSBドライバについて
「M5Stack」系デバイスにはデバイスごとに専用のUSBデバイスが採用されており、書き込みを行うためには専用のドライバをインストールする必要があります。
・公式ページのドライバ(x64系)は使用不可
以下のリンクをクリックすると「M5Stack」の公式ホームページでUSBドライバをインストールすることができますが、ほとんどが「x64」系のドライバのため「ARM」系Windowsでインストールしようとするとエラーになり、インストールすることができません。
・Arm対応ドライバの入手方法
今回動作確認に使用した「Surface Pro 12」は「ARM版Windows」のため、各デバイスを接続するだけでは認識しませんでした。
もし更新やアップデート等でもデバイスが認識されない場合は以下を確認して、必要に応じてARMのドライバをインストールしてみてください。
「M5Stack」系デバイスにはデバイスごとに以下の3種類のドライバが必要となります。
・CP210x:M5CORE2、M5Stack AWS
・CH9102:M5Stack CORE(Basic、Fire、Tough等)、CORE S3、
M5StickC Plus2、AtomS3、M5NanoC6、M5Stamp
M5Stack社にARM版ドライバについて問い合わせましたが「未対応でARM版ドライバはありません。」(2025/6/30時点)との回答だったため、下記メーカのサイトからダウンロードしてインストールしてみました。
FTDI Drivers
FTDI Driversは以下の「FTDI Chip」社のサイトからダウンロードすることができます。
以下のようなページが表示されたら、矢印部の[Click]をクリックするとダウンロードすることができます。

以下のように、デバイスマネージャの[ポート(COMとLPT)]を展開して表示される[USB Serial Port]を右クリックして表示されるメニューから[プロパティ]をクリックすると、下画像右側のようにドライバが正常に動作していることが確認できます。

CP210x
CP210xは以下の「SILICON LABS」社のサイトからダウンロードできます。
すでにARM版Windowsに対応したドライバが準備されており、ARM64のファイルを選択してインストールできます。

以下のようなページが表示されたら[CP210x Universal Windows Driver]をクリックするとダウンロードすることができます。

特に指定しなければ「ダウンロードフォルダ」に「CP210x _Universal _Windows_D.zip」ダウンロードされているので、これを開くと以下のように「atm64」フォルダがあるのが確認できます。

インストーラーはないため、インストールは以下のように手動で行う必要があります。

まずは、上画像のように[ウインドウズアイコン]を右クリックして表示されるメニューから[デバイスマネージャー]をクリックします。

デバイスマネージャが起動したら[ポート(COMとLPT)]を展開すると接続しているデバイスが表示されます。上画像は正常に接続された後ですが、最初はエラー状態(「!」が表示)になっているはずです。
エラー状態のデバイスを右クリックすると以下のようにメニューが表示されるため、[ドライバの更新]をクリックします。

以下のようなウインドウが表示されたら[→コンピューターを参照してドライバーを検索]をクリックします。

下画像左のように表示されたら[参照]をクリックし、下画像右のように「ダウンロードフォルダ」に解凍した「CDM2123620_Setup」フォルダを選択して[OK]ボタンを押します。

以下のようにドライバの場所の設定に間違いがなければ[次へ]をクリックするとインストールが始まります。

私の環境では既にインストール済みのため以下のような表示ですが、最適なドライバーがインストールされたことが確認できると思います。

以下のように、デバイスマネージャの[ポート(COMとLPT)]を展開して表示される[Silicon Labs CP210x〜]を右クリックして表示されるメニューから[プロパティ]をクリックすると、下画像右側のようにドライバが正常に動作していることが確認できます。

CH9102
CH9102については、別途専用のドライバをインストールすることなく使用できました。
以下のように、デバイスマネージャの[ポート(COMとLPT)]を展開して表示される[USB シリアルデバイス]を右クリックして表示されるメニューから[プロパティ]をクリックすると、下画像右側のようにドライバが正常に動作していることが確認できます。

5.M5Stack系の書き込み
「M5Stack」系デバイスの書き込みは、USBドライバーさえ設定できれば特に問題ないと思いますが、今回動作確認する中で他の問題も色々あって書けなかったりしたので、実際に動作確認した結果を順次紹介していきます。
・サンプルプログラム
・書き込み、動作確認済機種一覧
・M5StickC Plus/M5StickC Plus2
・M5CORE2
・ATOM Lite
・ATOMS3
・その他、確認出来次第追記していきます。
M5Stack Basic V2.6 / M5Stack Fire
特に問題なく書き込みできるはずですが、「ArduinoIDE」のバージョンと、「ボード情報のM5Stack」のバージョンによって以下のエラーが発生しました。

2つのエラーが発生していますが、1つ目は作業フォルダに日本語が含まれていてUTF-8で変換できないためエラーになっています。
これは以下のように[ファイル]→[基本設定]で[スケッチブックの場所]に日本語を含まない場所を指定すれば解決できます。

もう1つのエラーはヘッダーファイル「rom/miniz.h」が存在しないというものです。
実際にはボードの最新バージョンで名前が変わってしまったために発生しています。
これの解決方法は以下のように、ボードM5Stackのバージョンを「2.1.4」に変更してインストールし直すことです。

書き込んだプログラムは「Basic」と「Fire」で同じで、以下リンクで公開しています。

M5StickC Plus/M5StickC Plus2
「M5StickC Plus」はUSBドライバが「FTDIドライバ」のため、パソコンとUSBケーブルで直接接続すると書き込みエラーになりました。ハブ経由で書き込むと問題なく書き込めて動作確認できました。
書き込んだプログラムは以下リンクで公開しています。

「M5StickC Plus2」は特に問題なく書き込みと動作確認できました。(USBケーブル直接接続)
書き込んだプログラムは以下リンクで公開しています。

M5CORE2
「M5CORE2」は特に問題なく書き込みと動作確認できました。(USBケーブル直接接続)
書き込んだプログラムは以下リンクで公開しています。

ATOM Lite
「ATOM Lite」はUSBドライバが「FTDIドライバ」のため、パソコンとUSBケーブルで直接接続すると書き込みエラーになりました。ハブ経由で書き込むと問題なく書き込めて動作確認できました。
書き込んだプログラムは以下リンクで公開しています。

ATOMS3
「ATOM Lite」は特に問題なく書き込みと動作確認できました。(USBケーブル直接接続)
書き込んだプログラムは以下リンクで公開しています。

6.Raspberry Pi Pico系の書き込み
開発環境「Thonny」を使用した動作確認を以下のように行いました。

なぜエラーが出なくなったかはわかりませんが、「Windows Update」等で使用できるようになったのではないかと思います。今となってはよくわからないので・・・引き続き動作確認を進めることにしました。
・サンプルプログラム
動作確認には以下の簡単な「Lチカ」のプログラムで行いました。
from machine import Pin # 入出力モジュールを準備
import utime # タイマーモジュールを準備
led = machine.Pin("LED", machine.Pin.OUT) # LED端子をLedとして出力に設定
while True: # ずっと繰り返し
led.value(1) # LEDを点灯
utime.sleep(0.5) # 0.5秒待つ
led.value(0) # LEDを点灯
utime.sleep(0.5) # 0.5秒待つ
専用のライブラリを必要とする、有機ELディスプレイ「SSD1306」の動作確認についても問題なく動作確認することができました。
動作確認方法は以下のリンクで詳しく紹介しています。

・書き込み、動作確認済機種一覧
動作については以下の機種で動作確認済で特に問題なく動作できました。
・Raspberry Pi Pico
・Raspberry Pi Pico W
・Raspberry Pi Pico2
・Raspberry Pi Pico2 W
7.まとめ
「SnapDragon X Plus」搭載の「Surface Pro 12」を使用して「ARM版Windows」環境で「M5Stack」や「Raspberry Pi Pico」が問題なく動作できるかを確認していきました。
Windows10のサポート終了が10月14日と迫っており、パソコンの買い換えを検討していましたが、どうせ買うなら「AIパソコン」、Windowsなら「Copilot+PC」ということで、安価で省電力な「Surface Pro 12」を選定しました。
この価格(キーボードとセットで税込19万円[512GB]で購入)で「Copilot+PC」はお値打ちでしたが、「SoC」が「SnapDragon」で「ARM版Windows」ということで不安を感じながらも好奇心の方が勝ち購入を決定!今のところは今まで通りの環境で使用することができそうです。
「ARM版Windows」でも「エミュレータ」の性能が上がってきているようで、今では多くのアプリに対応しているようです。
ドライバの対応はまだ遅れているようですが、順次対応してくると思います。
今回つまづいたのは「ARM」への対応というより、「Surface」の問題かもしれませんが、USB Type-Cの変換コネクタを使用したり、USBケーブルで直接デバイスと接続すると動かなかったことです。
これに関してはハブを経由して接続するだけで解決できたので、USB接続したデバイスを認識しなかったり、動作しない場合はアプリの対応やドライバを疑うのではなく、まずハブを使用して動作確認してみてください。
まだ確認できていない環境やデバイスはありますが、他も問題なく動作できそうな印象です。
確認出来次第順次追記していきます。
興味が先行して購入した「Surface Pro 12」ですが、性能や操作性については何の不自由もなく、いい所ばかりでかなり快適に使用できています。心配だった「ARM版Windows」も、何だか新鮮で色々試すのも楽しいし♪結果、私の必要な環境では問題なく使用できて買って正解でした。
コメント