Using I2S with Boron

Is it possible for the Boron to use I2S from the GPIO/SPI pins and libraries?
I am trying to use with the adafruit I2S MEMS Microphone breakout.
The requirements are:

  • 48kHz sampling rate
  • 2 Channel
  • 32 bit resolution
1 Like

I2S is not supported on the mesh devices at this time.

The nRF52840 does have support for I2S, but it’s not set up or exposed by system firmware so you can’t really use it.

You could probably set up a modified system firmware with a monolithic build to use it, but that would be unsupported. In the normal modular builds, the user firmware and system firmware are separated by an abstraction layer so you can flash the small user builds separately. In a monolithic build everything is built into one big binary, the main advantage here being that the user firmware binary now has access to more of the underlying hardware capabilities.

@rickkas7 Do you have any recommendations for microphones? I want to wake the device on a sound for my alarm clock. I’m considering porting i2s to Gen 3 Devices but right now looks like I’m forced to use Analog. I would consider writing a pull request to expose i2s someday… not sure what priority that would be.

I would also like to see I2S Audio features available.

What is possible when it comes to audio playback via I2S?

I see some I2S amplifiers on Adafruit.

I2S works on the Gen 3 platform, however you will probably not be able to get any I2S microphone to work. The reason is that every I2S MEMS microphone I could find uses a sample format that is incompatible with the nRF52. Audio sampling and playback with normal 16-bit samples should work with I2S. It’s tricky to set up and I don’t think I have example code handy but it should be possible.

If you’d like a digital microphone for voice-quality use with built-in DMA hardware support, PDM (pulse density modulation) is a good choice. Here’s a library and sample code to use it on Gen 3 devices including the Boron:

So in theory the Argon that had I2S audio enabled could be connected to an I2S Audio Amplifier and it could playback the recorded audio files or any audio file with the same codec settings?

That would eliminate the need for an external audio processing chip.

Pretty cool that these Microcontrollers are capable of so many different tasks.