商品の説明

I2SのモジュールPCM5102の説明です。Amazon等で  ”PCM5102 I2S IIS デジタルオーディオDACデコーダモジュール” として売っているモジュールです。

設定用のパッド

”PCM5102 I2S IIS デジタルオーディオDACデコーダモジュール” には表と裏面に設定用のパッドがあります。

  • 表面:向かって左上にパッド
    • このパッドをショートする。
      • SCKにモジュールに内部クロックが使用されます。
      • 本体とSCKパッドをつなぐ必要が無くなる。
      • 3本の信号のみでコントロール出来る。
      Front side of PMC5102
  • 裏面:H1L,H2L,H3L,H4Lの4つのパッド
    • 各パッドを下記の様にショートさせます
      パッドショート機能
       H1L 向かって右FLT(Filter select)の設定。
      L(Normal latency)
       H2L 向かって右DEMP (De-emphasis control for 44.1kHz sampling rate)の設定。
      L(OFF)
       H3L 向かって左 XSMT (Soft mute control)の設定。
      H(soft un-mute)
       H4L 向かって右FMT (Audio format selection)の設定。
      L(I2S)
      Back side of PMC5102

動作確認

ESP32につないでMP3ファイルを再生してみました。

ハード

表のパッドをショートさせているので信号線は3本。 ESP32にBCK/DIN/LCK用のデフォルトピンが有りますが今回は デフォルトと違うピンを使用しました。

PCM5102Default今回
 BCK GPIO26GPIO27
 DIN GPIO22GPIO26
 LCK GPIO25GPIO25
Control Panel

スケッチ

30行 out->SetPinout(bck, lck, din); でピンアサインを変更しています。このサンプルは、約6秒位のハープシコードの演奏を繰り返します。

PCM5102A.ino arduino
<#include <Arduino.h> #include <LittleFS.h> #include "FS.h" #include "AudioFileSourceFS.h" #include "AudioGeneratorMP3.h" #include "AudioOutputI2S.h" #define bck 27 //default 26 #define lck 25 //default 25 #define din 26 //default 22 void setup() { Serial.begin(115200); delay(1000); // Initialise FS if (!LittleFS.begin()) { Serial.println("LittleFS initialisation failed!"); while (1) yield(); // Stay here twiddling thumbs waiting } } void loop() { AudioGeneratorMP3 *mp3; AudioFileSourceFS *file; AudioOutputI2S *out; out = new AudioOutputI2S(); out->SetPinout(bck, lck, din); out->SetGain(0.5); mp3 = new AudioGeneratorMP3(); Serial.println("Start"); file = new AudioFileSourceFS(LittleFS, "/Harp.mp3"); mp3->begin(file, out); while(mp3->isRunning()){ if (!mp3->loop()){ mp3->stop(); delete file; Serial.println("Done"); } } delay(1000); }

最後に

値段が安い。使いやすい。これとAM8403 とセットで使ったらちょっとしたオーディオシステムが安価に出来ると思います。

SINCE 2026