UIAPduinoを使ったCW Decoder【お試し版】
2025/11/06 Version 1.0対応 written by JA1AOQ/JA9OIR
hr.icon
概要
OZ1JHM Skovholm Hanson Hjalmar氏によって公開されているCWデコーダーを、Arduino Pro Micro互換マイコンUIAPduino(https://www.uiap.jp/uiapduino/ )に移植したお試しキットを用意しました。UIAPduinoは、Switch Science等で最近安価に購入できます。また、各イベントで無償配布されています。このマイコンを使用することにより手軽にCW Decoderを製作することができます。
 注)本配布物は、ソフトウェアのチューニングや実際のフィールド試験が不十分なため、お試し版としております
https://scrapbox.io/files/6919199a19422ada61782550.JPG
hr.icon
特徴
■ ハードウェア仕様
CPU:UIAPduino(CH32V003) 48MHz RAM2kB、ROM16kB
0.96inch カラーTFT液晶(SPI接続)
MAX4466マイクモジュール搭載
MODE/UP/DOWN切換えのタクトSW搭載
電源:USB Type-C(5V、50mA以下)
WCH-LinkEエミュレータ接続可能
専用プリント基板による簡単組立て
■ ソフトウェア仕様:以下の2種類のモードをMODE SWで切換え可能
CWデコード機能:欧文・和文(自動/SW切換え)、TONE周波数(600,800,1000Hz)SW切換え
スペクトラムアナライザ機能:約40~2.5kHzまでのスペクトル解析 (分解能 約50Hz)
hr.icon
回路図
https://scrapbox.io/files/691916e352b031dd126147b4.png
schematic.pdf
hr.icon
プリント基板
基板は両面スルーホールの72mm x 47mmサイズ(秋月C基板サイズ)です。
https://scrapbox.io/files/6919173dc1513d905e75b9a1.pnghttps://scrapbox.io/files/6919179220b443224e27b1c1.png
hr.icon
製作方法
CW Decoderを簡単に体験できるように、以下の3種類を用意しました。それぞれの製作方法はリンク先を参照してください。
UIAPduino CW Decoder【お試し版】簡単キットの製作方法
UIAPduino CW Decoder【お試し版】フルキットの製作方法
UIAPduino DW Decoder【お試し版】完成品
hr.icon
使用方法
UIAPduinoのUSB Type-Cコネクタに、モバイルバッテリーやUSB電源アダプタを接続します。ノイズやリップルのない良質な電源を接続してください。
電源接続後、LCDにバージョン等が表示された後、CW Decode画面になります。CWデコーダ画面では上1/4のステータス行に、速度、欧文/和文、デコード周波数(600/800/1000Hz)が表示されます。デコード結果は下部に13列3行で表示されます。画面右橋にはデコードレベル(音量)を示す黄色のバーが表示されます。バーの高さが80%程度になるように音量調整を行ってください。
https://scrapbox.io/files/690d4eb4cae65b2263c679a2.JPGhttps://scrapbox.io/files/690d4ebdcbc1e7737d8b1913.JPG
左下のMODE SWを押下することにより、スペクトラムアナライザ画面になります。MODE SWは、スペクトルアナライザ画面とCW Decoder画面をトグル切換えします。
https://scrapbox.io/files/690d4ed8cae65b2263c67bc6.JPGhttps://scrapbox.io/files/690d4ede7dcc18709a564783.JPG
マイクから音声等が入力されると、音のスペクトルが表示されることを確認してください。マイク入力をFFT解析した結果が表示されます。分解能は約50Hzです。
https://scrapbox.io/files/690d4eed197698a67601135c.JPG
マイクのゲインは、マイクモジュールの裏の半固定抵抗を調整することで変更できます。左に廻すとゲインが大きくなります。ケース裏蓋の穴から精密ドライバ等で調整してください。テスト時には、写真の半固定抵抗の位置が良好な状態でした。マイクモジュールのロットにより半固定抵抗の位置にズレがあることがあります。
https://scrapbox.io/files/690cbf34443fe930a8923762.JPGhttps://scrapbox.io/files/690d4fbfcae65b2263c68663.png
MODE SWを1回押下し、CW Decoder画面を表示します。欧文/和文は自動切換えしますが、デコードミスがある場合は、中央下のボタンを押下することで強制的に切り替えることができます。また、右下のボタンで、デコードする中心周波数を600Hz/800Hz/1000Hzから選択することができます。
以下のA1 Clubのサイトのモールス符号受信練習ソフトを利用にモールス音をPCのスピーカーから発生させることにより、CWのデコード機能を確認することができます。
https://scrapbox.io/files/690d4fd1f842a27900aab097.JPG
https://a1club.org/practice/
hr.icon
ソフトウェア開発環境
ソースファイル、回路図、gerberファイル等はGitHubから取得してください。(https://github.com/pokibon3/UIAPduino)
開発環境はVisual Studio Code+PlatformIO+ch32v003funです。VSCodeにPlatformIOをインストール後、src以下のフォルダを開くことでビルド環境が構築できます。
ソフトウェアの書込みやデバッグにはWCH LinkEエミュレータ(https://akizukidenshi.com/catalog/g/g118065/ )を使用します。基板左下のデバッグ用ヘッダに、GND、VCC(5V)、SWDの3本を接続してください。(L型のピンヘッダ等をはんだ付けしてください)これにより、VSCodeのPlatformIO環境から直接書き込みやデバッグを行う事ができます。また、基板のTXDをWCH LinkEのRTXに接続することにより、Serial経由でprint文によるデバッグができるようになります。
https://scrapbox.io/files/690d5e4c79f032566be33a04.JPG
hr.icon
ファームウェア書き込み
Windows環境であれば、以下の手順により開発環境を構築しなくても、コンパイル済みのファームウェアをUIAPduinoのUSB Type-Cコネクタ経由で書き込むことができます。
GitHubからダウンロードしたリポジトリのtools/firmwareUpdateフォルダに移動する。
UIAPduinoのリセットボタンをアクリルカバーの穴から細いピンなどで押しながら、Windows PCとUSBケーブルで接続します。ケーブル接続後、リセットボタンを離すことによりUIAPduinoはUSB BootLoaderモードになります。
エクスプローラからflash.batファイルをダブルクリックします。commandプロンプトが開き、ファームウェア書込が開始されます。ファームウェア書き込み中は、UIAPduinoのLEDが薄く点滅します。書き込み時間は20~30秒程度です。
書込み完了後、何かキーを押下することでウインドウを閉じます。
https://scrapbox.io/files/691498918a56ccb4d0cc4f17.png
この後、UIAPduinoの電源を再投入するか、リセットボタンを押下することで新しいプログラムが起動します。起動後のバージョン表示でアップデートされたことを確認してください。