pipeline_play_sdcard_music not working with custom board (ESP32-S3, MAX98357A, SDMMC)
Posted: Wed Jul 17, 2024 9:26 pm
Summary:
I need help debugging this issue and perhaps figuring out what pins should be used for the audio and SD reader components.
The example used is the pipeline_play_sdcard_music, which produces the error listed below.
I am using a custom board definition, which is attached here.
Importantly, the same setup works fine with:
- pipeline_http_mp3 example (ESP-ADF), showing the config for the MAX98357A alone is correct.
- storage/sd_card/sdmmc example (ESP-IDF), showing the config for the SDMMC reader is correct.
So it is the combination of both components and their setup in pipeline_play_sdcard_music that is likely becoming problematic.
Setup:
Hardware: ESP32-S3 devkit + MAX98357A + SDMMC reader.
Example: pipeline_play_sdcard_music
I2S pins (get_i2s_pins:board_pins_config.c):
i2s_config->bck_io_num = GPIO_NUM_5;
i2s_config->ws_io_num = GPIO_NUM_6;
i2s_config->data_out_num = GPIO_NUM_16;
SD pins (board_def.h):
#define ESP_SD_PIN_CLK GPIO_NUM_15
#define ESP_SD_PIN_CMD GPIO_NUM_7
#define ESP_SD_PIN_D0 GPIO_NUM_4
Both MAX98357A and the SDMMC reader are being powered by the 3.3V Vout from the ESP32-S3 devkit board.
Issue:
The SD card reader fails to be initialized with the following errors:
I need help debugging this issue and perhaps figuring out what pins should be used for the audio and SD reader components.
The example used is the pipeline_play_sdcard_music, which produces the error listed below.
I am using a custom board definition, which is attached here.
Importantly, the same setup works fine with:
- pipeline_http_mp3 example (ESP-ADF), showing the config for the MAX98357A alone is correct.
- storage/sd_card/sdmmc example (ESP-IDF), showing the config for the SDMMC reader is correct.
So it is the combination of both components and their setup in pipeline_play_sdcard_music that is likely becoming problematic.
Setup:
Hardware: ESP32-S3 devkit + MAX98357A + SDMMC reader.
Example: pipeline_play_sdcard_music
I2S pins (get_i2s_pins:board_pins_config.c):
i2s_config->bck_io_num = GPIO_NUM_5;
i2s_config->ws_io_num = GPIO_NUM_6;
i2s_config->data_out_num = GPIO_NUM_16;
SD pins (board_def.h):
#define ESP_SD_PIN_CLK GPIO_NUM_15
#define ESP_SD_PIN_CMD GPIO_NUM_7
#define ESP_SD_PIN_D0 GPIO_NUM_4
Both MAX98357A and the SDMMC reader are being powered by the 3.3V Vout from the ESP32-S3 devkit board.
Issue:
The SD card reader fails to be initialized with the following errors:
Code: Select all
I (404) PLAY_SDCARD_MUSIC: [ 1 ] Mount sdcard
E (434) vfs_fat_sdmmc: sdmmc_card_init failed (0x107).
HINT: Please verify if there is an SD card inserted into the SD slot. Then, try rebooting the board.
E (434) SDCARD: Failed to initialize the card (263). Make sure SD card lines have pull-up resistors in place.
E (434) PERIPH_SDCARD: mount sdcard error!
E (1444) spi: spi_bus_initialize(800): SPI bus already initialized.
E (1444) SDCARD: Failed to initialize bus.