Why MEMS i2s microphone ICS-43432 with teensy audio library not working?

Status
Not open for further replies.

ifelipeg

Member
Hello, I am trying to make the same set-up work but I get no values other than zeros from the mic ICS-43432.

Let me show you my set-up, may be you can help me finding where is the problem.

First of all this is a picture of how I did to take out some jumper-conections from the mic

Sol.jpg
Cable.jpg


Micro -> Teensy 3.6
SEL -> GND
LRCL -> 23
DOUT -> 13
BCLK -> 9
GND -> GND
3V -> 3.3V

I'm using a capacitor and a resistor which were recommended by the DataSheet of the mic. With or without these elements I get the same zero values.

attachment.php

attachment.php


I implement the RMS analyzer for my code, I analyze both channels, here is my code:
Code:
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>

AudioInputI2S            i2s1;           
AudioAnalyzeRMS          rms1;
AudioAnalyzeRMS          rms2;
AudioConnection          patchCord1(i2s1, 0, rms1, 0);
AudioConnection          patchCord2(i2s1, 1, rms2, 0);

void setup() {
  Serial.begin(9600);
  AudioMemory(4);
  delay(1000);
}

void loop() {
  if (rms1.available() && rms2.available())  {
    
        float volume_level_l = rms1.read() * 100.0;
        float volume_level_r = rms2.read() * 100.0;

        Serial.print("Volume level L: ");
        Serial.println(volume_level_l);

        Serial.print("Volume level R: ");
        Serial.println(volume_level_r);
        Serial.println();
  }
 
}

And this is the result

attachment.php


I have tried with two mics and is the same result for both.

Im using Teensy Loader 1.41 and Arduino 1.8.5
 
There is only one reliable way to diagnose such problems: Not asking for blind guessing in the forums, but first of all connecting a logic analyzer or an oscilloscope and checking the signals between the microphone and the Teensy.

”Without eating hay, the best horse may not fart” (Albanian proverb)
 
Hello, I am trying to make the same set-up work but I get no values other than zeros from the mic ICS-43432.

Let me show you my set-up, may be you can help me finding where is the problem.

First of all this is a picture of how I did to take out some jumper-conections from the mic

Micro -> Teensy 3.6
SEL -> GND
LRCL -> 23
DOUT -> 13
BCLK -> 9
GND -> GND
3V -> 3.3V

I'm using a capacitor and a resistor which were recommended by the DataSheet of the mic. With or without these elements I get the same zero values.

The pin connections seem to be OK
If the ground wire solder does not closing the micro hole, the system should work.

If you tap on mic, does the LED light up?
If there is I2S activity then the led should light.
If led is not lighting then wiring is wrong on Mic. Note the manual says "Top View, Terminal Side Down"
 
This really should work, if connected properly.

I tried to follow the wires, but I can't quite match up the colors and see where things go in the blurry/small picture.
 
Hello, thank you for your responses.

WMXZ, there is no led activity.

Paul, here you will find some much more detailed pictures of the set-up.

Mems.PNG

Mems Teensy.PNG

I asked for some help with the measurements and here are the results.

Without connecting the Mic into the Teensy I got;

LR.PNG

BL.PNG

Then, I connected the Mic and the Clock signals changed dramatically

This is the new FS.

nLR.PNG

And this is the new SCK

nB.PNG

I have no idea what could be wrong with the set-up or the Mics.

I tried with TWO mics and I got the same results

Thank you very much for the support.
 
Ah yes, those pictures are much better. I believe I can see the problem.

Looks like you've got pins flipped / backwards. Hopefully this picture will make it clear.

mems.png
 
Glad you got it working. :)

I believe it's important to remember everyone starts out as a beginner. I know I made this same mistake several times many years ago. It happens! Like most of the solutions I post here every day... I know about them because I've personally made those same mistakes at some point.
 
Yes, the wires should be kept short. A few inches is probably fine.

These mics don't use MCLK, which is a higher frequency, so the issue isn't as strong as with other I2S chips using MCLK. Still, good to avoid long wires since they are digital data at ~2.8 Mbit/sec.
 
Status
Not open for further replies.
Back
Top