I2S help on nRF5340 Audio DK

Hi,

For my university masters group project I need to connect my nRF5340 Audio DK to another board (Ambiq Apollo 510B). I will need to send audio from the mic to the Apollo via I2S on the GPIO pins. The apollo will then send back processed audio via I2S. This will be output to the Nordic's headphone jack.

I have a basic understanding of nRF connect for VS code and I have got the nRF5340 audio applications working streaming bidirectional audio over bluetooth. 

My question is what is the best way to go about this? Is there some sample code I can modify? Can I use the nRF5340 audio applications and disable bluetooth? Should I start from scratch? Is there a course I can follow on I2S? The project ends in 2 weeks, is if feasible to get this working in that timeframe?

Many thanks,

Lawrence

Parents
  • The I²S peripherial can TX and RX at the same time, so that looks possible.

    But 2 weeks is short even for an experienced engineer. I've spend about this time trying to teach someone here (in this forum) about the I²S driver interface in zephyr, i.e. how the mem_slab stuff is supposed to work.

    There are generic I²S sample codes available.

    But trying to port libmikmod or minimp3 taught me a lot more than those samples. Unfortunately that was  in an older Zephyr version for a 600MHz Cortex-M7. I don't think minimp3 is fast enough on NRF5340 - but I have not run a test.

    BTW: MP3 decoder needs ~24KB stack IIRC. Might be worth a try, its just a big C header file.

Reply
  • The I²S peripherial can TX and RX at the same time, so that looks possible.

    But 2 weeks is short even for an experienced engineer. I've spend about this time trying to teach someone here (in this forum) about the I²S driver interface in zephyr, i.e. how the mem_slab stuff is supposed to work.

    There are generic I²S sample codes available.

    But trying to port libmikmod or minimp3 taught me a lot more than those samples. Unfortunately that was  in an older Zephyr version for a 600MHz Cortex-M7. I don't think minimp3 is fast enough on NRF5340 - but I have not run a test.

    BTW: MP3 decoder needs ~24KB stack IIRC. Might be worth a try, its just a big C header file.

Children
No Data
Related