How to play any audio file on Elecrow Display 4.3 inch
I am trying to play an MP3 file using ESP32-audioI2S** on my CrowPanel display. However, I am not hearing any audio output even though the MP3 decoding process seems to work fine.
Here is the serial log output when playing test1.mp3:
SD card initialized successfully. Now Playing: test1.mp3
Audio Info: MP3Decoder has been initialized, free Heap: 257352 bytes, free stack 5752 DWORDs
Audio Info: Content-Length: 372513
Audio Info: ID3 framesSize: 113
Audio Info: ID3 version: 2.4
Audio Info: ID3 normal frames
Audio Info: Audio-Length: 372400
Audio Info: stream ready
Here everything looks fine but I am not able to hear any audio from my speaker
Code I used:
include <Wire.h>
include <SPI.h>
include <SD.h>
include <FS.h>
include "Audio.h"
Audio audio;
define I2S_DOUT 20
define I2S_BCLK 35
define I2S_LRC 19
define SD_MOSI 11
define SD_MISO 13
define SD_SCK 12
define SD_CS 10
void setup() {
Serial.begin(9600);
while (!Serial);
pinMode(SD_CS, OUTPUT);
digitalWrite(SD_CS, HIGH);
SPI.begin(SD_SCK, SD_MISO, SD_MOSI);
SPI.setFrequency(1000000);
if (!SD.begin(SD_CS)) {
Serial.println("❌ SD card initialization failed!");
return; // Stop execution if SD card is not found
}
Serial.println("✅ SD card initialized successfully.");
audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
audio.setVolume(21); // Volume range: 0...21
Serial.println("🎵 Now Playing: test1.mp3");
audio.connecttoFS(SD, "/test1.mp3");
}
void loop() {
audio.loop(); // Necessary for continuous playback
}
void audio_info(const char *info) {
Serial.print("🔍 Audio Info: ");
Serial.println(info);
}
void audio_id3data(const char *info) {
Serial.print("📌 ID3 Metadata: ");
Serial.println(info);
}
void audio_eof_mp3(const char *info) {
Serial.println("✅ Song playback finished.");
}
void audio_showstation(const char *info) {
Serial.print("📡 Station: ");
Serial.println(info);
}
void audio_showstreamtitle(const char *info) {
Serial.print("🎶 Stream Title: ");
Serial.println(info);
}
My Questions
1. Are my I2S pin definitions compatible with the CrowPanel display?
2. Do I need any additional configuration for ESP32-audioI2S on CrowPanel?
3. Is there a way to verify if the I2S signal is actually being transmitted?
4. Any suggestions on debugging why no sound is output?
Comments
Since the decoding is clearly happening, this feels more like a hardware wiring or output > configuration issue rather than a problem with the MP3 file itself.