Connections for I2S echo sample

I was facing some buffer issues while setting up I2S, so I decided to flash and test out the i2s echo sample provided in the sample programs in the SDK. I changed the DT_NODELABEL to use i2s0 for both I2S_RX_NODE and I2S_TX_NODE. I also added debug print statements to print out the values captured by the mic as follows:

while (k_sem_take(&toggle_transfer, K_NO_WAIT) != 0) {
			void *mem_block;
			uint32_t block_size;
			int ret;

			ret = i2s_read(i2s_dev_rx, &mem_block, &block_size);
			if (ret < 0) {
				printk("Failed to read data: %d\n", ret);
				break;
			} else if(ret == 0) {
				// printk("Successfully read data (%d)...\n", block_size);
			}
			
			int16_t *sample_data = (int16_t *)mem_block;
			for (int i = 0; i < block_size / BYTES_PER_SAMPLE; ++i) {
				printk("Sample %d: %d\n", i, sample_data[i]);
			}

			process_block_data(mem_block, SAMPLES_PER_BLOCK);

			ret = i2s_write(i2s_dev_tx, mem_block, block_size);
			if (ret < 0) {
				printk("Failed to write data: %d\n", ret);
				break;
			} else if(ret == 0) {
				// printk("Successfully wrote data (%d)\n\n", block_size);
			}
		}

(There are no build or flash errors in this code)

This helps me make sure that the mic is being interfaced properly as it prints -1 whenever some pin connections are wrong, otherwise it will print corresponding values captured by mic. So I believe I have interfaced the microphone properly. However, I'm facing issues interfacing the speaker now as I cannot hear anything from the speaker and it seems the data is being sent properly as there are no errors.

Here are the pin connections I made:

Mic: INMP441 MEMS MIC

SD: P0.15 (DOUT)

L/R: GND

WS: P0.16 (FSYNC)

SCK: P0.14 (BCLK)

Speaker: I2S MAX98357 Amp

DIN: P0.13 (DIN)

LRC: P0.16 (FSYNC)

BCLK: P0.14 (BCLK)

SD: NC

GAIN: GND

End result which Im planning to achieve: Receive audio from USB or BLE over I2S and play it to the speakers. I tried implementing a tone generator for the i2s_write function as well but that didn't work either.

Parents Reply Children
No Data
Related