2023年4月24日月曜日

USBラジオ

3年ほど前に作ったものなのですが、今回アップデートしました。
AndroidスマホのUSBコネクタに差し込んで、スマホアプリから音を鳴らすFMラジオです。

(技術的な細かいことはあまり書けないのですが・・)
今回は以前開発した円形チューナー基板をスマホに直接刺しても動作するよう、そしてAndroid最新版への対応でした。 

このスマホに差し込んでいる円形基板がチューナー基板です。あえて部品の少ない裏側が見えるようにしてますが、表側には部品がぎっしり。もう配線パターン増やすのもつらい状況です


基板設計は弊社ハードウェア担当者
基板上で動かすソフトウェア(ファームウェア)とAndroidアプリも私。

簡単そうに見えるのですが、実は超悪戦苦闘したもので開発の工数的には大赤字💦

でも完成したらとてもうれしくて感慨深いものとなりました。
 

チューナーチップから取り出した音データをI2Sでマイコンに取り込み、USBのIsochronous通信でスマホに送り込む。
スマホアプリはタイミングを計りながらUSBから音データを取り込み、スマホの音声出力モジュールに音データを送り込む。

言えばこれだけ。。でもこれがとても難しく、自分でもよく動くところまで持っていけたなという感じで、途中何度も泣きそうになりました。

オシロスコープで波形を確認しながらソフトウェア開発、このためにスマホアプリもオシロでタイミング見ながらデバッグする手法を使いした(詳細は以前のブログで記載済み)。


その成果として、当然ながらアプリはバックグラウンド再生対応でき、他のアプリをいじりながらFMラジオを聞くことができます。当然Bluetoothイヤホンでも聞くことできます。

実はAMラジオも受信対応しているのですが、アンテナが巨大になるので基板上に実装してません。

 

さすがに同じ製品は依頼主様を裏切ることになるので作ってあげることはできませんが、I2S通信、USBのIsochronous通信、AndroidスマホのC++によるUSBデータ取り込み(Javaでは追いつかない)~音声部取り込みなど実際に開発できると思います。

ということで、こんな感じのものなど、いろいろなご依頼お待ちしております笑

#I2S
#USB
#Isochronous通信

2023年1月13日金曜日

本年もよろしくお願いいたします。

2023年、本年もどうぞよろしくお願いいたします(今更感・・)

昨年はCOCONALAさん、ClowdWorksさんなどのプロフィールからこちらにたどり着いた方とたくさんのやりとりを行い、実際に開発依頼をいただきました。

・Xamarinにて開発したAndroid&iOSアプリでのDBサーバーアクセス

・CAN通信のシミュレータ

・I2C制御による電圧制御基板開発&制御用ファームウェア&Windowsアプリ

・ESP32でのAD変換取り込み&WindowsPCでのログ収集(Bluetooth経由)

・AndroidスマホのUSBコネクタに接続するFMラジオチューナー基板作成


たまに半田ごてと虫眼鏡を握りながら、オシロスコープで波形見てデバッガをいじり、ソースコードを構築していく・・これが自分の得意なスタイル。

そしてこれくらい簡単にできるぞと思って開発スタートしても、毎回何かのトラブルで悩まされます。

そのたびにどう対応したら良いかすごく悩み、たくさんの試行錯誤を行うけど、これも開発の楽しいところ。

そして一度依頼いただいたら最後までしっかり責任もって仕上げることが自分の責任。

今年もまた新しい方と出会い、依頼いただいた開発案件では冷や汗かきながらなんとか納品する・・こんなことができる楽しい一年になるようがんばります。

ご依頼お待ちしております(笑)


写真は2022年7月 夫婦で乗鞍岳(標高2700m)を登ったときのワンシーン。
自転車で坂登るのが楽しんどすぎて最高の2日間。
妻も押し歩きすることなく最後まで登ってくれました。今年も行ったことない坂を登りたいです。