For my group's SDP/Capstone we are doing a bluetooth headset of sorts. We are using a CYW20706 SoC from Cypress. Specifically, we are using a this CYBT-343026-01 Cypress module whch includes that CYW20706 SoC.

Initially, we were going to use the SPH0645LM4H MEMS I2S microphone from Adafruit/Knowles and after weeks of trying to get it to work we realized that the MCU only takes 16 bits while the microphone outputs 24 bits.

We are using the Bluetooth HFP, and we are able to get an output from the MCU to a Maxim MAX98357A amplifier, to our transducers. However, we are looking for alternative ways to implement an input to the I2S_IN and get the microphone working. We posted a bunch in the Cypress forums and unfortunately they were no help.

I realize that we will probably use an analog mic and use some kind of codec, but the issue is we cannot find any codec that takes in analog signals and outputs an I2S signal. Any advice would be greatly appreciated.

  • \$\begingroup\$ Such a codec is called an ADC. Some ADCs do have I2S outputs. NB you'll need a gain stage or mic amp ahead of the ADC. \$\endgroup\$ – user_1818839 Mar 4 '20 at 18:50
  • \$\begingroup\$ Would something like this work? ti.com/product/PCM1801 We were also advised by one of the professors that we might not necessarily want to use an ADC and instead use something like an SPI mic, but from what we can tell the HFP code only supports I2S. \$\endgroup\$ – user244360 Mar 4 '20 at 18:57
  • \$\begingroup\$ Unfortunately most of the relevant ADCs I can find come with a 24 bit resolution, with very few options for 16 bit. Is there a way to make the ADC "down sample"? \$\endgroup\$ – user244360 Mar 4 '20 at 19:33
  • \$\begingroup\$ Hahaha you just ignore the bits you don't need. \$\endgroup\$ – user_1818839 Mar 4 '20 at 20:01
  • \$\begingroup\$ I know it seemed like a silly question and I thought we could just shift the bits on the microphone initially. However, it appears we do not have access to the I2S buffer in the SDK according to this post I created on their forums: community.cypress.com/message/… Will getting a 24 bit I2S ADC not cause us into running into the same issue as just using the MEMS I2S mic? Would using a PDM mic be an option? \$\endgroup\$ – user244360 Mar 4 '20 at 21:53

This page offers a few options.

  • \$\begingroup\$ I believe this this might be a better option. It however does not feel good paying more than a lower resolution ADC compared to what's available on the market. \$\endgroup\$ – user244360 Mar 5 '20 at 0:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.