BLE Audio Design Challengeに参加していました。
Bluetooth LE Audioを使ったハード・ソフトの実装・設計コンペです。
NordicのnRF5340を使った基板開発を行った旨を紹介します。
BLE Audio Design Challengeの実装コンペに参加した件
BLE Audio Design Challengeに参加していました。
Bluetooth LE Audioを使ったハード・ソフトの実装・設計コンペです。
NordicのnRF5340を使った基板開発を行った旨を紹介します。
何とか完走出来て、優勝もできました。
忘備録含めてブログ記事としてもアップしています。
まとめダイジェスト動画もアップしています。これが一番分かりやすいと思います。
またZephyr Project meetup: Sapporoでも今回のコンペの内容で発表してきました。
Zephyr Project meetup: Sapporoで発表してきた

発表テーマは「Zephyr RTOSを使った開発コンペに参加した件」でした。
下記が発表スライドです。
BLE Audio Design Challenge
Bluetooth LE Audioのプロジェクトを開発するコンペでした。
「Nordic Semiconductor」「PCBWay」のスポンサーがついていました。
詳細は下記公式ページを参照ください。
筆者のプロジェクトページは下記となります。基板概要からテストした内容を紹介しています。
■ざっくりコンペ概要
- Bluetooth LE Audio を使ったプロジェクト提案の募集
- 「Nordic nRF5340」+「NordicのPMIC」を含む
- 良い設計プロジェクト提案したものは、評価ボード送付 + 基板作成費用を全額サポート。
正直納期がかなり厳しく、趣味の2か月で開発~実装~評価~ドキュメント作成が必要でした。
「初めてのSOC・PMIC・Audio IC」 + 「6層+Pad on via」という条件です。
そのため、評価ボードのハード・ソフトをなるべく流用できる構成を取りました。
ハードウェアの設計
今回作成した基板としてはワイヤレスSOCのnRF5340を搭載したカスタムボードです。
Bluetooth LE Audio対応のトランスミッターとスピーカー出力を持つ基板です。
主な特徴としては下記となります。
- SOC…Nordic_nRF5340
- Audio_IC…Cirrus Logic_CS47L63
- PMIC…Nodic_nPM1300
- 基板…6層+Pad on Via
開発した基板のハードウェアIFが正常に動作するかは下記記事で紹介しています。
Bluetooth LE Audioの基板開発をして、デバッグしてみた。

また複合電源IC(PMIC)がTypeCとバッテリからも動作できていることも確認しています。
PMIC(nPM1300)で電源管理・バッテリ制御までしてみた。

音声出力も3.5mmジャックの他に、直接スピーカ接続してドライブできるかも確認しました。

回路図・アートワーク・BOM
開発した基板に関しては、KiCadで設計しています。
実際のKiCadのデータに関しては、下記GitHubに保存しています。
筆者がパターン専門の設計者でなく、また趣味で作ったものですが、動作確認は出来ています。
https://github.com/iotengineer22/Sonic-Sprint/tree/main/pcb
一番難しかったこと
今回SOC(nRF5340)とAudio_IC(CS47L63)の0.4mmピッチのBGAが一番ハードルでした。
単純に層数増やして6層にするだけでなく、Pad on Viaが必要でした。
下記記事でもまとめています。
Pad on ViaをKiCadで設計して、PCBWayで基板作成してみた

ソフトウェアの設計
このプロジェクトのソフトウェア設計について紹介します。
ソースコードやボードファイル(DeviceTree)は全てGitHubで公開しています。
回路図やガーバーデータ含めてオープンにしています。
ソフトウェア開発には、RTOSとして Zephyr RTOS を使っています。
そしてSDKとして Nordic Semiconductor nRF Connect SDK を利用しています。
開発環境の構築に関しては下記記事を参照ください。VSCode上で実施しています。
nRF Connectの開発環境をVSCodeで構築してみた

Bluetooth LE Audioのデバッグ
今回のプロジェクトでは主にBLE Audioの新規機能である、Auracast(Broadcast)をテストしました。
複数言語を音声出力するケースを想定してテストしました。
テストに使った、複数言語の音声データの作り方は下記で紹介しています。

またBroadcastを使ったデバッグ、BLE Audioの同期性の確認含めて、下記で紹介しています。
Auracast(Broadcast)対応のスピーカーを開発してみた

コンテストの感想
完走できたし、Bluetooth LE audioでやりたいことはほぼやり切ったと思います。
各テスト動画含めて、上手く紹介できました。
- 6層+Pad on Viaの基板設計
- PMICでの電源・バッテリ管理
- BLE AudioのUnicast/Broadcast実装
- 初めて使ったSOC(nRF5340)とAudio_IC(CS47L63)の対応
入賞できたのは、正直納期が厳しいコンペだったのが一番大きいと思います。
新規アイデア感はあまり無かったと思います
(正直ソフトウェアに関しては、ほぼ評価ボードの流用・応用させてもらった形)
また次回にオーディオのコンペがあったら、より面白さ兼ねたプロジェクトにしたいと思います。
まとめ
BLE Audio Design Challengeに参加していました。
Bluetooth LE Audioを使ったハード・ソフトの実装・設計コンペです。
NordicのnRF5340を使った基板開発を行った旨を紹介しました
コメント