Description
Board
ESP32S3 (LOLIN S3 PRO)
Device Description
LOLIN S3 PRO has just one native USB (OTG), no uart chip. it has 8MB PSRAM and 16MB flash.
Just the board and i2s DAC.
Hardware Configuration
GPIOs 5(BIT), 6(DAT) and 7(WS) are used to connect I2S DAC PCM5102.
Version
v3.1.3
IDE Name
Arduino IDE 2.3.4
Operating System
Windows 10
Flash frequency
40MHz
PSRAM enabled
yes
Upload speed
921600
Description
I2S doesn't work
Sketch
#define I2S_BCLK_PIN 5 // I2S BIT CLOCK pin (BCL BCK CLK)
#define I2S_DOUT_PIN 6 // to I2S DATA IN pin (DIN D DAT)
#define I2S_WCLK_PIN 7 // I2S WORD CLOCK pin (WCK WCL LCK)
const i2s_port_t i2s_num = I2S_NUM_0; // i2s port number
I2SClass I2S;
void i2sInit() {
pinMode(I2S_BCLK_PIN, OUTPUT);
pinMode(I2S_DOUT_PIN, OUTPUT);
pinMode(I2S_WCLK_PIN, OUTPUT);
I2S.setPins(I2S_BCLK_PIN, I2S_WCLK_PIN, I2S_DOUT_PIN); //SCK, WS, SDOUT, SDIN, MCLK
I2S.begin(I2S_MODE_STD, SAMPLE_RATE, I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO);
}
Debug Message
E (2005) gdma: gdma_register_tx_event_callbacks(464): user context not in internal RAM
E (2005) i2s_common: i2s_init_dma_intr(734): Register tx callback failed
E (2008) i2s_std: i2s_channel_init_std_mode(236): initialize dma interrupt failed
E (8983) i2s_common: i2s_channel_write(1211): The channel is not enabled
E (9983) i2s_common: i2s_channel_write(1211): The channel is not enabled
E (10983) i2s_common: i2s_channel_write(1211): The channel is not enabled
Other Steps to Reproduce
it was working with cores up to v.3.1.1 inclusively, v.3.1.2 introduced this bug. This issue can be reproduced on other ESP32S3 boards.
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.