世界を動かす技術を、日本語で。

デスク用のESP32ベースの航空機レーダー

2026年7月26日原文(blog.ktz.me)

概要

  • ESP32-Plane-Radar の製作体験を紹介
  • Makerworld で話題の3Dモデルを活用した事例
  • ファームウェアの カスタマイズ による機能拡張
  • 3Dプリント筐体 の課題と代替案
  • 今後の展望と改善ポイント

忙しい週の後のリラックスプロジェクト

  • Devrelcon NYC での講演後の週末、ゆったりとしたものづくり体験
  • Makerworld で注目されたモデルのパーツを利用
  • GitHubリポジトリ「 ESP32-Plane-Radar」のオープンソースファームウェア活用
    • ESP32-C3 と1.28インチ円形ディスプレイを使用
    • 近隣のADS-B航空機をソナー風に表示
    • 各航空機を距離と方位でプロット、詳細情報を画面表示
  • 組み立ては簡単ながら多少のはんだ付けが必要
    • 薄型シリコンワイヤーで配線が容易
    • 約15分で組み立て完了

ファームウェアの書き込みと初期セットアップ

  • ESPHome のブラウザベースWebフラッシングツールで簡単にファームウェア書き込み
    • 30秒以内に完了する手軽さ
  • 初期設定後、すぐに動作確認可能

3Dモデルと筐体の課題

  • Makerworld で人気のオリジナル3Dモデルを使用
    • 見た目は良いが、実際には基板とのクリアランスが厳しく使いづらい
    • 今後は自作筐体の設計を検討中
  • 代替として「 ESP32-S3 1.28" Waveshare Plane Radar」モデルを印刷して利用
    • 適合性が高く、組み立てやすい

ファームウェアのカスタマイズと機能拡張

  • ESP32 Plane Radar プロジェクトのフォークを改良
    • 航空機の発着地表示やコールサインのフォールバック対応
    • 航空機種名を「B737-800」のように詳細表示
    • ローカル天気・温度・湿度・日時 情報の追加
  • Webインターフェースの機能強化
    • 座標を初期設定後でも修正可能
    • 表示オプションをWi-Fi再設定なしで変更可能
    • 単位・滑走路・気象・温度形式・12/24時間表示の切替対応
    • デフォルトでテキストサイズ10%拡大、80–130%のスライダー調整機能
  • 認証付きOTAアップデート に対応
    • ブラウザ経由で無線ファームウェア更新可能
    • ローカルPCでバイナリをビルドし、ESP32へワイヤレス転送

今後の展望

  • より大きなディスプレイ への移植検討
  • 組み立てやすい3Dプリント筐体 の自作設計計画
  • 継続的な機能追加とコミュニティ貢献

Hackerたちの意見

かっこいいけど、adsb.fiから引っ張ってるのはちょっと「ズルい」感じがするな。でも、ADS-Bを受信してデコードするにはESP32よりもっとパワフルなものが必要だと思う ;)

ADS-Bトラフィックをデコードするための数学は、例えばTLS接続よりもずっと複雑じゃないと思ってたんだけど。

ADS-Bを使って「レーダー」って呼ぶのはなんか違和感があるな。(でも、クールなプロジェクトではある)

実際、ESP32でADS-Bを受信してデコードすることは可能だけど、MLATがうまくいかない(頑張ったけどまだコツが見つからない)。一番の問題はパワー不足じゃなくて、USBポートの帯域幅がほとんどのSDRと合わないことなんだ。ちょっとした工夫をすれば、遅いUSBでもメッセージの一部を受信してADS-Bをデコードできるよ。

Pi ZeroとRTLを、印刷されたケースよりもあまり大きくないケースに収めることができるよ。

こんなの: https://github.com/CoolNamesAllTaken/adsbee

じゃあ、レーダーっぽいディスプレイってことかな。でも、レーダーではないね。

誰かが単にオープンソースのADSBデータを引っ張ってきて画面に表示するだけじゃないものを作ったのかと思って、すごく早くクリックしちゃった。

ESP32ベースのレーダー発信機でレーダーディスプレイが作れたら面白かっただろうな。

ちゃんと読めてなかったかもしれないけど、「レーダー」の緯度・経度はユーザーが入力することになってるみたいだね。Wi-Fi位置情報を使えば大いに助けになると思うし、MCU自体からウェブポータルを使わずにできるはずだけど、もしかしたらポータルがすでにやってるかも(見れなかったけど)。

https://ipgeolocation.ioを使えば提供できるけど、やっぱりAPIキーの設定が必要だね。小さな飛行機の「レーダー」がバックエンドにアクセスできるような感じで。WiFiの設定にはcomitupみたいなものを使えるよ。[1] これを組み合わせれば、デバイスにログインする必要がなくなるね。1. http://davesteele.github.io/comitup/

ADS-Bはレーダーじゃないのに、ATCがこういうのを「セカンダリーレーダー」って呼ぶのは変だよね。

Hacker Newsで議論の続きを見る