最初の開発ボードは何を作りたいかで決まる
※本記事にはアフィリエイトリンクを含む場合があります。内容は広告の有無に影響されません。
結論
開発ボードは性能ではなく守備範囲で選ぶもので、通信する装置なら ESP32、Linux が要るなら Raspberry Pi、回路そのものを組むなら FPGA になる。
守備範囲がまるで違う
3枚は競合しません。役割が別です。
| ボード | 守備範囲 |
|---|---|
| ESP32 | 安く無線で動かす入口。WiFi / Bluetooth 内蔵で、通信するもの・飛ばすものを作る |
| Raspberry Pi | Linux が載る小型 PC。AI 処理や常時稼働のサーバまでこなす |
| FPGA(DE10-Lite) | ハードを回路として理解する。ソフトではなく論理回路そのものを組む |
作りたいものが「通信する装置」か「小さいコンピュータ」か「回路の学習」か ── これで最初の一台は外しません。
ESP32 — 通信するものを作る
WiFi と Bluetooth を1チップに内蔵していて、小さくて安い。
実際に組んだのは、機体に積んで地上の PC と双方向通信させる構成です。機体から姿勢やセンサのデータを送ってリアルタイムに表示し、地上から制御パラメータをその場で調整して送り返す。
本番で混線した
いちばん詰まったのがこれです。会場では他にも一斉に WiFi で飛ばしていて、通信が混線して自分の受信ができなくなりました。最初は原因すら分かりませんでした。
解決は、受信側にも相手の MAC アドレスを設定して、狙った相手とだけ通信することでした。電波が飛び交う場所では「誰と通信するか」を明示してやる必要があります。
**実験机では絶対に気づけません。**電波が自分のものしかないからです。
切れる前提で組む
もう一つ、通信は切れる前提で設計すること。WiFi は常に安定しません。途切れても安全側に動くフェイルセーフを最初から織り込む必要があります。
繋がっている前提で作ると、切れた瞬間に制御を失います。
センサ値をブラウザに出す構成は ESP32 のセンサ値を Web Serial でブラウザに出す にまとめています。
Raspberry Pi — 小さいコンピュータ
Linux が載るので、表示以外の常駐処理・自動化・細かい設定まで何でも仕込めます。激安のマイコン版(Pico)も同じ一族です。
用途が広いぶん「何に使うか」を決めていないと持て余します。実際に組んだものは2つあります。
- Raspberry Pi Pico で力率計を自作する — クランプ電流センサと位相差
- Raspberry Pi 5 で顔認証を組んで速度の壁に当たった — 動くことと使えることの距離
サイネージ端末としての選定は サイネージ端末は Google TV か Raspberry Pi か に分けてあります。
FPGA — 回路そのものを組む
ソフトウェアと違い、自分で回路の構造を考えて組む部分が多くなります。書いた回路が LED や7セグで即座に動くので、抽象的になりがちな論理回路が体で分かります。
- FPGA 入門ボードに DE10-Lite を選ぶ理由 — 何が基板に載っているか
- Quartus で最初に詰まるのは回路ではなく環境 — ドライバとピン配置
選び方の軸について
3枚を並べて分かるのは、比較しても選べないということでした。
スペック表を見比べても、ESP32 と Raspberry Pi と FPGA は同じ軸に乗りません。性能の優劣ではなく守備範囲の違いなので、目的が決まっていれば選択肢は最初から1つしかない。
逆に言えば、選べないときは作りたいものが決まっていないというサインです。ボードを選ぶ前に、そちらを先に決めるほうが早く着地します。
よくある質問
Q1最初の1枚をどう選べばいいですか?
作りたいものが「通信する装置」か「小さいコンピュータ」か「回路の学習」かで決まります。スペックを比較しても選べません。守備範囲がまるで違うので、目的が決まっていれば迷う余地はほぼありません。
Q2無線が混線して受信できないときはどうしますか?
受信側にも相手の MAC アドレスを設定して、狙った相手とだけ通信するようにします。電波が飛び交う環境では「誰と通信するか」を明示するのが効きます。実験机では起きないので、現地で初めて踏むことになります。
Q3無線を使うとき、最初から入れておくべき設計は?
フェイルセーフです。通信は切れる前提で組み、途切れても安全側に動くようにしておきます。繋がっている前提で作ると、切れた瞬間に制御を失います。