Microchip社のbluetooth音声モジュールRN-52をコアにbluetoothスピーカーを製作しました。

注)RN-42ではSPPしか対応していないので音声を送ることはできません。

製作の経緯
マイカー(軽トラ)で音楽を聞く時にiphone6+のスピーカーで聞いていましたが、音量が小さい、低音が弱い、軽トラにカーオーディオを付ける気にもならず製作することにしました。

まずRN-52はピッチが1.2mmで、そのままではユニバーサル基板に載せられないので、Eagleでピッチ変換基板を製作、FusionPCBに発注、3週間で納品されました。
11921699_871772032917841_2929287568387104794_n
回路図
11863432_871772062917838_623011709573009265_n
基板
12002083_883953988366312_5352947581669733380_n
納品され基板にRN-52を実装
12047093_889040114524366_5521011144390558240_n
ユニバーサル基板にRN-52、D級アンプ2個と電源回路を実装
12006298_885125844915793_4334882795058067862_n
完成したBluetoothスピーカー
BOXとスピーカーはFostexです。
12011384_885078618253849_1009504678996494116_n
軽トラックへの搭載状況

実際にiphone6+とペアリングして車内で聞いてみましたが、明らかに音量不足でした。最初はアンプが1Wで軽トラックの走行音が大きいのでしょうがないのかなと思っていましたが、RN-52について調べてみるとデフォルトでは音量が最大から5番目(15段階中)になっているようです。またD級アンプモジュールの入力抵抗を変更してゲインを上げることで十分な音量を出すことができました。
RN-52の内部音量を上げるためにはシリアルコマンドでの設定が必要になります。GPIO9ピンをGNDに接続することでコマンドモードに入ります。RXピンとTXピン(3.3Vレベル)をPCに接続してteraterm等でコマンドを送り設定します。

音量UPコマンド AV+
音量DOWNコマンド AV-
*ちゃんと音量は電源を切っても保持されます。

実際、車に乗ったときに毎回スピーカーとiphone6+をbluetoothで接続してたのですが、実は地味に面倒なのですが、コマンドにより前回接続していたデバイスと自動接続するように設定することも可能です。

実は完成した後になって、最初に購入したRN52-I/RM(マルツで購入)はSBCという方式(高圧縮、低容量)で音声データを送っているらしく、音質はよくないとのことで、MicrochipDirectでAACに対応したモジュールを購入して比較してみました。

追試結果報告

RN52-I/RM(マルツで購入)
ファームウェア Ver 1.10
シリアルコマンドで確認しても、そもそもAudioCodecの項目が表示されない、SBC専用であるため表示されないと推測される。

RN52AAC-I/RM116(microchip directで購入)
ファームウェア Ver 1.16
MBAとぺアリングしてyoutubeで動画を再生し確認したところAudioCodec=SBCとなっていた。MBA内蔵のbluetoothモジュールがAAC未対応と推測される。
iphone6+とペアリングしてyoutubeで動画を再生し確認したところAudioCodec=AACとなっていた。MUSICを再生した場合もAACとなっていた。

SBCとAACの音質の差については私の耳では確認できませんでした。