今回は、非常にコンパクトなシングルコアマイコン「ESP32-C3 Super Mini」を用いて、アマチュア無線の受信機の感度測定に活用する SINAD メーターの試作と評価を行いました。
これまでは、M5Stack Core2 や ESP32 DevKitC といった デュアルコア構成の ESP32マイコン を使用し、FFT 処理や画面描画といった重い処理を効率的に分担させていました。たとえば、ADC によるサンプリング処理を Core 0 に、FFT や表示処理などのメインタスクを Core 1 に割り当てるといったマルチタスクな動作です。
一方、今回採用した ESP32-C3(ESP32-C3 Super Mini を使用)は、RISC-V アーキテクチャを採用したシングルコアのマイコンで、処理はすべて1つのコアで完結させる必要があります。そのため、従来のデュアルコア向けの構成を、シングルコア向けに最適化したプログラムへの移植が必要となりました。
ESP32 DevKitC vs ESP32-C3 Super Mini 比較表
項目 | ESP32 DevKitC(WROOM-32) | ESP32-C3 Super Mini |
---|---|---|
CPUコア数 | デュアルコア(Xtensa LX6) | シングルコア(RISC-V) |
最大クロック周波数 | 最大240 MHz | 最大160 MHz |
SRAM | 約520 KB | 約400 KB |
Flash容量 | 通常 4MB(SPI) | 通常 4MB(SPI) |
Wi-Fi | 802.11 b/g/n(2.4GHz) | 802.11 b/g/n(2.4GHz) |
Bluetooth | BLE + Classic(v4.2) | BLE 5.0 のみ |
GPIO数 | 約30(機種により異なる) | 約22(機能制限あり) |
ADC | 12-bit x 18ch(ADC1+ADC2) | 12-bit x 6ch(ADC1のみ) |
I2S | 2チャンネル(TX/RX) | 1チャンネル(ステレオ非対応) |
USB | USB-UARTブリッジ(外付け) | USB 2.0 デバイス内蔵 |
サイズ | 約51 × 25 mm | 約25 × 18 mm |
価格 | 約700〜900円 | 約400〜500円 |
大きさを100円玉と比較してみました。ご覧の通り非常に小型です。スペースの限られるプロジェクトや組込み用途に適しています。
実際の測定環境と結果
測定には、SSG として tinySA を用い、アルインコ製ハンディトランシーバー DJ-G7 の受信感度を測定しました。結果として、M5Stack Core2 及び ESP32 DevKitC を用いた場合と同様の SINAD 特性を得ることができ、一定の信頼性が確認できました。
ただし、ESP32-C3 のようなシングルコア環境では、FFT 処理と OLED への表示処理が同時に重なるタイミングで、画面描画が遅れる現象が見られる場合があります。この問題を軽減するため、描画更新の間引きや、DMA バッファの使用を避ける簡素な ADC 処理方式といった軽量化バージョンへの修正も必要と感じています。
実用性の考察
リアルタイムに波形を描画しながら正確なピークを追従するような用途では、やはりデュアルコアの M5Stack Core2 や ESP32 DevKitC に軍配が上がります。特に、連続した画面描画や高速なピーク検出を求める場合には、コアの分離による処理の安定性が重要です。
とはいえ、ESP32-C3 Super Mini は「小型・低価格・低消費電力」という大きな利点を持っており、用途を割り切れば、アマチュア無線での 簡易的な SINAD 測定器として非常に有用です。特に、携帯性や省電力が求められる屋外運用などでは、本マイコンの真価を発揮する場面も多いと考えられます。
■ ■ ■
ここまで、M5Stack Core2、ESP32 DevKitC、そしてESP32-C3 Super Mini の3種類のマイコンを用いて、SINAD メーターの試作を行ってきました。将来的には、これらを1枚の基板にまとめて頒布することも検討していましたが・・・どのマイコンを採用するのが最適かという以前に、「12dB SINAD で受信感度を測定する」というテーマ自体に、興味を持つ方がほとんどいないのではないかという懸念も感じています。
そのため、現時点では、自分用にケースを含めて1台だけ製作するかたちで、本プロジェクトは一区切りを迎えることになりそうです。