· 

Rpi4版 タカチケース+秋月OLED

はじめに

Takazineさんが2015年にタカチケースを使い、たいへん見栄えの良いRaspberry Pi2 + SabreBerry+ DAC用の有機ELディスプレイ(OLED)搭載ケースを作られました。
タカチケースに組み合わせる前後パネルで、SabreBerry+と有機ELディスプレイをキレイに見せる
それから9年が経ち、既に Raspberry Pi2とSabreBerry+ DACは入手できず、Raspberry Pi3でさえ入手困難です。そこで今回それをRaspberry Pi4 + SB32+PRO DoP DAC用に改造しました。以下、オリジナルケースとの変更点を解説します。
 MPD(Music Player Daemon)以外にもSpotify Connect、AirPlay、Roon BridgeでRAATにも対応するので、ラズパイは相変わらず最強のミュージックプレイヤーと思います。「作ってみたい」という方のために最後に部品一覧も掲載します。

1. 前後のアクリルパネル

 最初の課題は前後のアクリルパネルです。かつてemerge+ショップさんでRaspberry Pi2/3用のパネルを販売していました(写真右)。しかしPi4はLANとUSBの位置が逆です。そこでレーザーカッターでPi4用を作成しました(写真左)。

 この前後パネルの加工データは、工房Emerge+さんのレーザー加工サービスに依頼できるようEmerge+さんのテンプレートで作り直し、工房Emerge+さんにチェック・不具合修正いただきました。工房Emerge+さんに見積り・発注をご希望の方には、加工データを差し上げますので Open Audio Lab 鈴木まで依頼ください。フロントパネルは3.5mmステレオジャック取付け穴の有り・無し両方のデータを用意します。(写真左のフロントパネルは取付け穴の無いものです。)加工データの依頼方法は部品リストをご覧ください。


2. 3.5mm ステレオジャック

SB32+PRO DoPはヘッドホンドライバ搭載DACなので、ヘッドホンアンプ無しでダイレクトにヘッドホンを駆動できます。そこでフロントパネルに3.5mm ステレオジャックを取り付けました。
 SB32+PRO DoPはL/RのGNDを分離した4極の3.5mmステレオジャックを搭載しています。フロントパネルにも例えば秋月の「3.5mm4極ミニジャック MJ-064H パネル取付用」を使えば良いのでしょうが、MJ-064HはM8の取付け穴(Φ 8.2)とナットが必要なので、OLEDと並べて配置すると取付ナットがタカチケースのサイドパネルと干渉ギリギリになります。それに私は3極ヘッドホンしか持っていません。
 そこでM6の穴で取り付けられる3極のMJ-074Nを使いました。MJ-074Mジャックのネジ切り部分の長さは4.5mmで、取付リングの厚さは2mmです(図面参照)。問題は3mm厚のアクリルパネルに取り付けるとジャックの先端が0.5mmだけ取付リングより引っ込むことです(CAD画像参照)。プラグによっては接触不良をおこすかも?と思いましたが、手持ちのヘッドホン/ステレオイヤホンのプラグはいずれも問題ありませんでした。


3. 2.1mm標準DCジャック

Takazineさんのオリジナル版では2.1mm標準DCジャック パネル取付用 MJ-14が使われましたが、MJ-14の定格電流は0.5Aです。Raspberry Pi2ではそれで十分でしたが、Pi4は1A程度の電流が流れます(Pi4のスペックは3A推奨)。そこで今回は4A対応の22234を使用しました。22234は大電流対応のため差し込みはMJ-14より固くなっています。
 SB32+PRO DoPは抵抗R19を外すことでDAC/ラズパイの電源分離に対応していますが、今回は分離給電とはせず、SB32+PRO DoPボード上の5VポートからGPIO経由でラズパイにも給電しました。(Raspberry Pi4はUSB-C、GPIO、PoEの3種類の給電方法に対応しています。)

4. 高熱伝導シリコンシート

Raspberry Pi4はPi2/3と比べて発熱量が多いです。CPUにヒートシンクを付けてもCPU温度が2℃か3℃下がる程度の効果しかありません。一方でAllo Boss2 PlayerはCPUにはヒートシンクが付いていませんが、Pi4基盤裏から高熱伝導シリコンシート経由でアルミケースに放熱して絶大な冷却効果がありました。(下記参照)

Rpi3B+ vs Rpi4B 温度・消費電流・CPU%・クロック周波数
そこでPi4のCPU、メモリ、USBコントローラの基盤背面に5mm厚の高熱伝導シリコンシートを貼り、タカチケースに放熱することにしました。シリコンシートの厚さに合わせ、スペーサーもオリジナルの高さ7mmから、5mmに変更しました。(タカチ AST2.5-5B

 写真の通りシリコンシートには保護用のビニールが付いていますが、これを剥がしても粘着力は弱いです。先にシリコンシートをケース底面に位置決めして配置した後、AST2.5-5Bスペーサーの両面テープでPi4を貼り付けました。

 Pi5はPi4よりさらに発熱量が多いそうですが、この方法でファンレスでいける可能性もあります。HiFiBerryからPi5対応のドライバーがリリースされたらテストしてみます。


5. microSDカード交換用 30mm穴

このタカチケースとアクリ版の組み合わせはたいへん見栄えが良いのですが、microSDカードを交換するにはケースの上蓋を空け、交換後に戻す必要があります。慣れれば簡単ですが、microSDカード交換用に底に30mmの穴を開けました。普通のドリル刃では30mmの穴は開きませんのでホールソーを使いました。当然、バリが出ますので指を怪我しないように穴開け後に回転リーマーで面取りしました。

30mm ホールソー


6. OLED表示用のスクリプト軽量版

Takazineさん作成のOLED制御用スクリプトのPython3版は、こちらのページから入手できます。

Volumio/MoodAudioに秋月電子のI2CタイプOLEDを接続して曲名などを表示するPython3版

再生中の曲のアーティスト名、曲名、サンプルレートをOLEDに表示するスクリプトですが、OLEDは漢字を表示できないので漢字はKAKASIを使ってカタカナに変換してくれて、OLEDの幅が16文字しかないので横スクロール表示してくれるという超優れものです。

 

ところが私は主にクラシックを聴くため、アーティスト名と曲名が長くなりサンプルレートを確認するまでしばらく待つことになります。

 アーティスト名の例:Hilary Hahn; Hugh Wolff: Oslo Philharmonic Orchestra

 曲名の例:Mendelssohn Violin Concerto In E Minor, Op. 64 - 3. Allegretto Non Troppo, Allegro Molto

アーティスト名と曲名はMPDコントロールアプリ(yaMPC)で確認できますので、アーティスト名と曲名を表示せず、常にサンプルレートを固定で表示するように変更しました。(そもそも曲名を表示するスクリプトですから)機能的には大幅に劣ることになりますが、MPDに与える負荷も大幅に減ります。オリジナル版はPLAY/PAUSE中に再生経過時間を表示するため0.25秒毎にMPDをポーリングします:

while True:

    time.sleep(0.25)

    try:

        oled.disp()

しかし変更したスクリプトはMPDの再生ステータスが変わるまで停止します。

while True:

    oled.soc.send(b'idle\n')

    ret = oled.soc.recv(bufsize).decode()

    try:

        oled.disp()

スクリプト自体の負荷も、MPDに与える負荷も大幅に減りますから、mpd_oled_ctrl_lite(軽量版)と呼ぶことにしました。元のスクリプトがたいへん優れているので、どれだけ欲しい方がいるかわかりませんが、軽量版のスクリプトは以下GitHubより入手できます。

 https://github.com/yasuyukisuzuki8/mpd_oled_ctrl_lite

 

APPENDICES

Takazineさんのオリジナル版との変更点は以上6点です。以下は組み立てのための追加情報と余談になります。

タカチケースの上蓋を外した写真を添付しますので、配線等を確認ください。詳細はTakazineさんの下記ページを参照ください。

 配線には0.2sq(概ねAWG 24)の電線を使いました。ハンダ除去しなくても取り外せるよう一部にピンヘッダとQIコネクタを使いましたが、給電以外の配線はAWG 26か28が良いでしょう。0.2sqでは外径が大きすぎてハウジングに挿入しにくかったです。

 このタカチケースはスペースに余裕があるので、ほとんどのI2S DAC HATは取り付けられると思いますが、5VとI2Cに配線できるようDAC HAT上からGPIOにアクセスできる必要があります。SB32+PRO DoPは基盤上に5VポートとI2Cのランドがあるので配線がとても楽です。


余談ですがタカチケースは黒がカッコいいと思います(下写真の左)。私はRaspberry Pi 3B+が入った黒ケースと区別がつくように今回はPi4用にシルバーのケースにしました。さらに余談ですが、SabreBerry+はより小型の別のタカチケースに入れています。もともとはSabreberry+が入っていた黒ケースには(North Fox Digiを開発し販売されているTakazineさんには申し訳ないのですが)Pi3B+と共にHiFiBerry Digi+ Pro DDCが入っています。


余談が続きますが、今回、タカチケース内の部品配置、ケースの穴開け位置、前後パネルの穴あけ位置とレーザー加工データは個人用のSOLIDWORKSライセンスである 3DEXPERIENCE SOLIDWORKS for Makers で設計しました。for Makers版は次のような制限がありますが、

  • 個人的なプロジェクトや商用目的でない用途に限る。
  • ただし年間2,000米ドル以下の利益であれば、作成した製品を販売してもよい。
  • for Makers版で作ったデータはfor Makers版でしか開けない。商用版SOLIDWORKSでは開けない。

年間$48(+消費税)という格安でサブスクできます。趣味で3D設計して制作のために図面を描くには適したツールと思います。

注記:ステマにならないよう一応書いておきますが、私は2023年12月までソリッドワークス・ジャパン(株)に勤めていました。

3DEXPERIENCE SOLIDWORKS for Makers


最後に部品リストです。

 

Takazineさんオリジナル版と共通の部品:

Raspberry Pi4B版の部品:

工房Emerge+さんにチェック&不具合修正いただいた加工データをお送りします。A5のアクリル板から2セット(前後パネルx2)取れます。フロントパネルは3.5mmステレオジャック取付け穴の有り・無し両方のデータを用意します。リアパネルのラズパイLAN/USB用の穴は、たかじんさんオリジナルの7mmスペーサー対応ではなく、タカチのスペーサーAST2.5-5B(5mm)対応になっていますのでご注意ください。工房Emerge+さんのご協力で、私が材料を買ってレーザーカッターを借りて作るより安く出来ます。以前、emerge+ショップさんで販売されていた時とほぼ同じ金額です。正確な金額は工房Emerge+さんに見積り依頼をお願いします。(2024.3.12追記)

- 以上