microphone error with teensy 4.1 and audio shield

colobertello

New member
hi, i’m doing an audio project with teensy 4.1 and the audio shield, i’ve bought a electrect microphone with the amplifier max4466, I connected it to the line in connection and the serial monitor says something like the signal is too low, then i tried connecting it to others inputs and have the same signal level… I measured with a digital oscilloscope and its really low, almost 5mV
any recommendations? thank u
IMG_7122.jpeg
 
The easiest way to use a microphone with the Teensy Audio Adapter is to hook it straight to the MIC pins on the front of the module without an amplifier board.

That MAX4466 module has a small potentiometer on the back which allows you to adjust the gain. Turning it CCW usually increases the gain. You should be able to get a signal amplitude of over 1V out of it fairly easily if you want to use it to drive the Line In. If you are still only getting 5mV or so, you probably have a bad module as long as you have ground and 3.3V hooked up to the module.

Keep in mind that the output of that module is DC coupled and so will usually be sitting at 1/2 Vcc with no signal. If you need AC coupled, you'll need to add a fairly large capacitor on the output.
 
The easiest way to use a microphone with the Teensy Audio Adapter is to hook it straight to the MIC pins on the front of the module without an amplifier board.

That MAX4466 module has a small potentiometer on the back which allows you to adjust the gain. Turning it CCW usually increases the gain. You should be able to get a signal amplitude of over 1V out of it fairly easily if you want to use it to drive the Line In. If you are still only getting 5mV or so, you probably have a bad module as long as you have ground and 3.3V hooked up to the module.

Keep in mind that the output of that module is DC coupled and so will usually be sitting at 1/2 Vcc with no signal. If you need AC coupled, you'll need to add a fairly large capacitor on the output.
thank you! i've been traying with a microphone (without amp) and using this code (below) and the output i have is 0.00

#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>

AudioInputI2S i2s1;
AudioOutputI2S i2s1_out;
AudioControlSGTL5000 sgtl5000_1;
AudioAnalyzePeak peak1;
AudioConnection patchCord1(i2s1, 0, peak1, 0);
AudioConnection patchCord3(i2s1, 0, i2s1_out, 0);

void setup() {
AudioMemory(8);
Serial.begin(9600);
sgtl5000_1.enable();
sgtl5000_1.volume(0.5);
sgtl5000_1.inputSelect(AUDIO_INPUT_MIC);
sgtl5000_1.micGain(45);

Serial.println("Iniciando captura de audio...");
}

void loop() {
if (peak1.available()) {
float picoIzquierdo = peak1.read();
Serial.print("Pico Izquierdo: ");
Serial.print(picoIzquierdo);
}
}
 
I just ran your code with no changes and I get about 0.05 with no sound and if I tap on the mic or talk into it, it maxes out at 1.00 because you have the gain set pretty high.

Would seem you have a hardware or wiring issue. Any chance the mic is connected backwards?
 
Hi! Im pretty sure that the connection is OK, I tried with anothers mic and also i changed the input to the mic and gnd, then line in.. and i have the same signal, I dont know if i use the line in signal it must be with a mic with i2s output and not analogic one.
The solution I've found so far is using an analogic pin from the teensy as an input but i dont get the same resolution due to it doesnt use the audio adaptor to process de analogical input
 
Back
Top