YouTubeで「還暦ラジオ」を観て気に入ってしまい,SI4732が1つ残っているので同様なラジオを作製することにした
ボード(T-Display)
ディスプレイ付きのESP32である「TTGO T-Display」「Lilygo T-Display S3」を利用したラジオは他でも紹介されている
先ずはボードを安価に手に入れるためAliexpressにて「TTGO T-Display」(16MB)を¥1,525で購入
到着はしばらく掛かると思っていたら1Wで届いたので早速環境整備と動作確認


ケース入りでピンヘッダーとバッテリ用のミニPHコネクタが付属


ボードは非常にコンパクトで薄い
技適がないので申請前の在庫品だと思われる(なので安価だったようだ),無線通信(WiFi,Bluetooth)は使用しないので問題なし

初期プログラムが書き込まれていて,USB(このボードはTypeC)を接続して電源投入すると画面がカラーで数回変わり最後に文字が表示されるので動作確認できるようだ
arduinoIDEの設定
ESP32をarduinoIDEで使えるようにしているので簡単に利用できた

ボードはESP32>TTGO LoRa32-OLEDを選択

Flash Frequency を40MHzに変更
USBを接続するとボード名が表示,サンプルとして「GetChipID.ino」を書き込んで実行
書き込み時はなんらかの操作は必要はなく自動で書き込みモードになるようだ


ラジオの実装
回路図,ソフトウェアは以下で公開されている
Ralph Xavier Github: https://github.com/ralphxavier/SI4735
(ソフトウェア)
ATS-20/25の開発で環境は整っていたので追加で行ったのは以下
ledcSetup(), ledcAttachPin()は無くなったためコメントアウト2行(行削除で構わない)
他(以下の3関数)は修正する必要なし(使用しているのはledcWrite()のみ)
bool ledcAttach(uint8_t pin, uint32_t freq, uint8_t resolution);
bool ledcAttachChannel(uint8_t pin, uint32_t freq, uint8_t resolution, int8_t channel);
bool ledcWrite(uint8_t pin, uint32_t duty);
TFT_eSPI/User_Setup_Select.hを修正
//#include <User_Setup.h> // Default setup is root library folder
・・・
#include <User_Setups/Setup25_TTGO_T_Display.h> // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT
コンパイルし書き込んで実行すると

接続してないので正常にエラー表示された
(ハードウェア)
必要パーツを準備してブレッドボードで試行

結線が少ないのもあってか,あっさり動作した(アンテナが短く音は良くない)
ロータリーエンコーダーの方向が逆だったので接続を変更

前回購入したロータリーエンコーダーの結線図の記録が無かったので記載しておく

後は基盤に実装してケースを作製するのだが,今回はいかにコンパクトにできるかとなる
(追加:2024.11.25)
左側をUSBにしたいので画面表示を上下反転できないかソースを観ると
//tft.setRotation(0); // Rotate 0
//tft.setRotation(1); // Rotate 90
//tft.setRotation(2); // Rotate 180
//tft.setRotation(3); // Rotate 270
とあるので,Rotate 180を選択すれば良いかと思ったら,先に
#ifdef IhaveTDisplayTFT
tft.setRotation(1);
#endif
があり,現状がRotate 90なのでRotate 270を指定(tft.setRotation(3);にする)
