こんにちは、Make WakのWak (@wak198)です。
今回は、「Arduino / ESP32 / M5Stack / M5StickCの違い」について整理してみたので、紹介していきます。
突然ですが、電子工作やArduinoに興味はあるけれど…こんな悩みがあります、という方、けっこういるんじゃないですか?
- IoTや電子工作に興味があってはじめてみたけれど、
- Arduinoってのが有名らしい
- でも、調べてみたら、ESP32ってのがイマドキらしい
- で、M5Stackとかいうのが出てきて、もうパニック
- わけわかんない。結局どれ使えばいいの?
どうでしょうか?実は僕もつい先日まで、この状態でした。わけわかんない。
なので、一度きちんと調べてみました。
その結果、けっこう色んなことが分かってきたので、今回はその解説をしていこうと思います。
今回は同じように電子工作初心者で悩んでいる方へ向けて、できるだけわかりやすくまとめていきますので参考にしていってください。
それでは、さっそくいってみましょう!
結論:これがまとめた比較表です
いきなり結論から貼っていきます。
これが今回調べた結果のまとめです↓
で、個人的な結論として、
超初心者のうちはArduino、
慣れてきたらESP32か、M5StickC
を使うのがいいと思っています。
でも、これだけ言われてもよくわからないですよね?
というわけで、以降でもう少し詳しく見ていきましょう!
詳細①:各ボードの概要
まず、各ボードの概要について説明していきますね。
「そもそもESP32とかM5Stackってなんやねん」状態ですから。
Arduino
Arduinoは言わずと知れた電子工作用のマイコンボードの定番機種ですね。
パソコン上でArduino IDEという開発環境(ソフト)でプログラムを書いて、Arduinoボードに書き込みをすれば、さまざまな電子工作がこれ1台でできてしまうという優れものです。
この辺の詳細は省きますので、興味のある方は個別に勉強してみてください。最近はかなりわかりやすい方が何冊も出ているので、書店に行ってみることお勧めします。
Arduinoは最近の電子工作やIoTブームの火付け役と言っても過言ではないでしょう。
ベンチマークとして比較をするのに、これ以上ない題材ですので、一番最初に登場してもらいました。
ESP32
ESP32はArduinoの後追いで出てきた、全く別のマイコンボードです。
正確には、ESP32という「チップ」のことです。こんな感じのやつ。
で、ESP32で何ができるか、何が凄いかというと、「Arduinoと同じこと」を、「はるかに高いスペックで」、もっと「安く」できる、というところにあります。
つまりいうなればArduinoの上位互換品というイメージです。
このため、ESP32は最近どんどん人気が出てきています。
ちなみにESP-WROOM-32とは、ESP32の「技適取得済み」の意味です。ESP32にはWi-FiとBluetoothが内蔵されていますから、日本で扱うには技適の取得がいるんですね。
M5Stack
M5Stackは、上で出てきたESP32チップを使った製品のことです。簡単に試作検証ができるキットとして、人気です。
こんな感じの箱形になっています。
ただでさえ便利なESP32に、最初からバッテリーや液晶などを内蔵することで、さらに便利に仕上げています。
さらに専用の拡張モジュールを縦に積み重ねていくことで機能を追加することができます。こんな感じのやつですね。
M5StickC
M5StickCは、上で出てきたM5Stackを更に小型化させた派生商品です。
こんな感じの、ポップでおしゃれなオレンジ色のスティックになっています。
とても小型ながら、安価で、液晶パネルや、六軸センサーなども付いており、開発キットとしてかなり完成度の高いものになっています。
このため、M5Stackが先に発売されたにもかかわらず、M5StickCのほうが注目を集めていることも少なくありません。
また以上のように、ESP32ボード、M5Stack、M5StickCはいずれもESP32を搭載しているため、Arduino IDEを使ってプログラムを組むことが可能です。
ここが便利なポイントでもあり、初心者にとってややこしい部分ですね。
M5StickCはESP32なの?Arduinoなの?という混乱を引き起こします。
(M5StickCはESP32を搭載したマイコンボードで、ESP32はArduino言語で開発ができます、というのが答えです)
詳細②:比較とどれがおすすめか
さて、少しボードの違いが理解できたところで、先程のスペック比較表をもう一度見てみましょう。ポイントになる所に丸をつけておきました。
一つずつ詳しく見ていきましょう。
スペック
まずスペックを見比べてみると、ArduinoとESP32ではクロック数が16MHzと240MHzと、10倍以上の開きがあります。
また、メモリもおおよそ100倍以上の開きがあります。
※ちなみに、SRAMはプログラム内で利用する変数を格納するのに使います。揮発性メモリなので、マイコンボードを本体の電源を落とすとデータも飛んでしまいます。フラッシュメモリには、スケッチが保存されます。こちらは不揮発性なので、電源が落ちてもデータは消えません。
ここではざっくりと、「ESP32はArduinoの10~100倍の能力がある」と理解しておけば十分でしょう。
ただ、電子工作初心者が、Arduinoでスペック不足に陥るということも考えにくいですから、ESP32は少しスペックに物足りなさを感じて来てから、ステップアップするのに使うのがいいと思います。
Wi-Fi、Bluetooth
ここがかなり重要なところですが、「ESP32にはWi-FiとBluetoothが最初から内蔵されています」
そもそも、ESP32というのは正確にはSoC(System-on-a-chip)の一種であり、これはプロセッサコアだけでなく一般的なマイクロコントローラが持つような機能や、応用目的などのいろいろな機能などが集約された1つのチップ、ということを意味します。
ESP32のウリは、その機能の中に、Wi-FiとBluetoothも採用されていることなんです。
ちょっと専門的になりましたが、要するにESP32では、いきなり無線通信が使えるということです。(プログラミングはいりますけどね)
これは特にIoTの試作や量産にすごく向いている特徴です。センサーを繋いで集めたデータを無線ですぐに飛ばせるわけですからね。本体をコンパクトに作るのにも向いていますし。
これがESP32が最近大きな注目を集めている理由です。
価格
価格も大事ですね。個人でやるにしても、企業で試作するにしても安い方がいいですから。
その点、ESP32はArduinoの半額以下と、驚異的な値段になっています。
正確にはArduinoも、純正品ではなく、互換機などを使えばもっともっと値段を下げられるのですが、それでもESP32のほうがスペックが高いのに、値段が同等以下、というのは恐るべきことです。
その他(ケース・液晶パネル・6軸センサー)
ここまででESP3人が優れているということが分かってきましたが、M5StackやM5StickCにすると更にさまざまな機能がついてきます。
特に便利なのが「ケース」「液晶パネル」「6軸センサー」でしょうか。
やっぱり剥き出しの基板で使うよりも、ケースに入っていた方が安心感もあるし、お洒落です。それから液晶パネルが最初から付いているとさまざまなコンディションを単体で表示することができるので、便利です。
また、M5StickCには六軸センサーも最初からついています。
個人的には、今使いたいプロジェクトに、加速度センサーが必要だったので、ちょうどいい機能です。
M5StickCは小型でオシャレなこともあって、せっかくESP32を買うならM5StickCからスタートしてもいいんじゃないでしょうか。
こんな感じで、実際に作りたいものに合わせて、むき出しのESP32を買うか、M5StickCのような半完成品を買うか、選んでいくのがいいと思います。
まとめ
以上をまとめると、こんな結論になります。
- 超初心者のうちはArduino、
- 慣れてきたらESP32
- 用途に応じてM5StickC
まずは、スペックやコスパの観点から、ArduinoよりESP32の方がはるかに優れているということがわかりました。
しかし、本当に電子工作を始めたての初心者のうちは、情報や教材が豊富にあることということの方が重要だったりします。
なので、超初心者のうちはArduinoからスタートするのが良いでしょう。最近では、ネットや本屋さんでさまざまな情報をきちんと整理されて、状態で手に入ることができますからね。
で、電子工作に慣れてきたら & Arduinoのスペックに不満を感じるようになってきたらESP32にステップアップしていくのがいいと思います。
更にESP32のなかでも、用途に適した機能があればM5StickCなどの半完成品をチョイスしていくというステップになります。
以上が「どれを買ったらいいかわからない!」と迷っている人に向けてのWakなりの答えになります。
おわりに
今回は、電子工作やIoT開発を手早く安価に進めることができるマイコンボードについて比較解説してきました。
Wakも最初「ArduinoもESP32もArduino IDEで開発できます」と聞いた時には、もう頭の中がこんがらがって「???」状態でした。
「ESP32はArduinoなの?何なの?」
「M5StickCが人気!って言われても、ESP32なの?Arduinoなの?」
「もう訳わからんし…」
って感じでした。
でも、こうやって整理してみるとそれぞれのボードの良さも分かって、スッキリしてきました。
まだまだ自分も、電子工作は始めたばかりで、初心者ではありますが、こうやって少しずつノウハウを貯めていて、スキルアップを図って楽しく開発していけるようになりたいと思います。
本当に最近はわかりやすい書籍も増えましたし、マイコンボードもセンサーも数百円で買えるようになってきました。
どんどん安くなってきて、学生でも初心者でも手がつけやすくなってきています。
IoTやデジタルトランスフォーメーションなど、時代の波もやってきていますので、ぜひ皆さんもこれを機に勉強を始めてみてはいかがでしょうか。
今までやったことはないことを始めるというのはとても楽しいですよ!
それでは良いモデリングライフを! Wak
コメント