I had the same exact question. I realize that we can use USB, but an analog mic input would be ideal.
Did anyone have any success on this? Cheers!
I had the same exact question. I realize that we can use USB, but an analog mic input would be ideal.
Did anyone have any success on this? Cheers!
I’m not sure what the big deal is that you guys are having. There are TWO analog microphone inputs on the audio header. How many do you need? All three? If you really need three analog microphones, you’ll have to connect to the mic1 blank on the board. Its probably one of those blanks on the back behind the low speed connector, but hard to say for certain without the schematics.
Hey doitright,
Thanks for the info!
I’m honestly a noob at this stuff, and I’m trying to learn as much as I can.
So I gather that within the Analog Expansion Connector there are 2 microphone inputs. That works perfect for my uses!
Thanks for the help. Cheers!
I will refer you to page 22 of the hardware manual.
Thanks. My questions are based on trying to understand page 22.
I’m not sure I understand the problem then. I thought the issue was in figuring out what pins to connect to for audio output and microphone inputs…? That being so, page 22 spells out exactly what pin everything is on.
Thanks for trying to answer my convoluted question, lol. Let me clarify.
I would like to have sound input (a mic/s), and analog sound output (speakers). What connectors/ parts do I need to be able to hook up a mic?
Also, since I am new at this. How do I identify the location of the pins (1,2 etc.) since they are not labeled on the board?
Cheers.
For the purpose of simplicity, since I’m sure you are using HDMI as a video output, HDMI also carries audio. If your HDMI display has an audio output jack, that would be the easiest place to take output from.
If you look at the audio header, one of the pads is SQUARE. That is pin 1.
Unlike an integrated circuit, which counts AROUND the chip (down one row and back the other), headers are counted across. So the one across from pin 1 is pin 2. The next one down the row from pin 1 is pin 3, across from pin 3 is pin 4, etc.
1 – 2
3 – 4
5 – 6
…
15 – 16
The reason why a header is numbered like this is because they are typically used with a ribbon wire, which interleaves the rows in such a manner that you count the wires in the ribbon starting at 1 on one side, and ending in whatever on the opposite.
So, pins you need are those corresponding to the lines described in the hardware manual page 22 section 7.2. Now I’m not an expert when it comes to dealing with microphones, so I can’t help you any further in figuring out what you need to do with GND_CFILT and MIC_BIAS1. I think, but I’m just learning this myself, that bias applies a constant to the microphone input pin, and that the microphone itself oscillates this against GND_CFILT.
Hey doitright,
You did that comment right! Thanks for explaining all that, that definitely helps!
I’ll let you guys know if it works out. I’m hoping it works in the next few days.
Cheers!
I am, of course, trying to figure out this microphone thing…
I think that what is supposed to happen, is;
microphone signal in → tip
bias → ring
ground/shield → sleeve
That would be on a 1/8" 3-conductor audio plug.
So checking out the power on the pins…
Pin 11 (CDC_MIC_BIAS1) is reading 1.68 V
Pin 5 (GND_CFILT) is reading 0 V
(so far, so good)
Pin 6 (CDC_MIC2_P) is reading 1.7 V
Pin 7 (CDC_MIC3_P) is reading 0.3 V
What the hell? Why is there a different voltage reading on the two microphone input pins?
Really wish I knew how these things were wired…
This could be useful for understanding microphones better;
https://www.commsandsound.com/computer_microphone_faq
First a correction of the headset jack pin outs. A normal headset has a tip and 3 rings, which I will number the rings starting with the ring closest to the tip. The Tip is the left speaker, the first ring is the right speaker. Many devices have the left and right swapped, and in most cases it makes no difference. Then it becomes ugly, if you have a North-American headset then the 2nd ring is the ground, and the 3rd ring is the microphone. If you have a European headset rings 2 and 3 are swapped. Elsewhere in the world you can get either order for rings 2 and 3. You will have to figure out what type headset you have.
The Mic2 input is intended to be connected to the audio headset. It has a Bias voltage (the 1.7V you see) applied. The microphone in a headset needs power.
The Mic3 input is more flexible, if you have a mic the uses separate power (a 3-pin mic) then the Bias voltage can be applied directly to the power pin, if you want to use the same type mic that is in a headset (a 2-pin mic), then you need to connect CDC_MIC_BIAS_1 to CDC_MIC3_P with a 2kOhm resistor.
I haven’t had a chance to try this out so I have no idea if it will work or not, but I think it should work.
Full Disclosure: I am an employee of Qualcomm Canada, any opinions I may have expressed on any post are my own and do not reflect the opinions of my employer.
That really isn’t a correction. That is an alternative. I.e., if you happen to want to hook up to one of those cheap headsets that used to come with cellphones. I wouldn’t though, since like you said, there isn’t much in the way of standardization.
I was referring to the simpler case where you are wiring up just the microphone. I.e., a microphone-only jack.
There are no speakers connected to a microphone-only jack.
That helps a lot that you mention that the mic2 input already has bias applied, so it would be appropriate for a 2-wire microphone, like this: http://www.amazon.com/Xtenzi-External-Bluetooth-Microphone-Navigation
Now since I have the attention of someone who knows what he’s talking about… I have THREE important questions for you that I hope you will be able to help with;
what would I need to do in order to achieve analog (obviously mono) line-in on mic3? (from, for example, one of these; https://www.silabs.com/Support%20Documents/TechnicalDocs/Si4736-37-38-39-C40.pdf)
How about mic1? There is supposedly an unpopulated point on the board to mount a first microphone, would it be possible to tap into that for a second channel line-in to make stereo?
i2s input. MI2S_1 aka pri_mi2s has its two data channels connected to the low speed expansion header, one of them at pin20 (PCM_DO) – the 96boards PCM-OUT pin, and the other reassigned as GPIO-E at pin27. None of the documentation I can find suggest that either of these are restricted to audio-output, and in fact, the snapdragon 410 device specification manual on page 47 has BOTH of these identified as bi-directional. Since it is obviously more desirable to use i2s than analog where possible, (a) is it possible to use i2s-input, (b) how? And I mean software-wise (Android).
The Xtenzi microphone specification says it needs 4.5V of bias to operate, it may or may not work with only 1.7V of Bias. The microphones used in headsets are intended for operation at 1.7V. You can find lots of analog mics on the DigiKey web site that will work with 1.7V of bias. One example is CUI CMA-6542TF-K. (I haven’t tested this mic but it should work)
Mic1 is soldered to footprint GM1, it is designed for a Knowles SPU0410HR5H-PB-2. This mic is surface mounted and really difficult to hand solder, it is not an easy job to just mount it on the board. The footprint is located on the back side of the PCB underneath the low speed expansion connector.
The I2S is output only. When the pins are not being used for I2S they can be configured as GPIOs. When configured as GPIO they can be inputs.
I am not sure how the SW is configured, you may need to make changes to the OS to enable multiple microphones.
Full Disclosure: I am an employee of Qualcomm Canada, any opinions I may have expressed on any post are my own and do not reflect the opinions of my employer.
For 3, is this a hardware limitation? Or software?
Two points;
FWIW, that microphone spec page says “Standard Operation Voltage: 4.5V Operation Voltage: 1.0V-10V.DC”
I.e., 4.5 is standard, but will work within the range of 1-10 volt. So… it should actually work, since 1.0 < 1.7 < 10.0. Right?
In any case, I was pointing out that microphone more an example of the type than of a specific model.
As far as the i2s goes, this point still requires clarification. The way the manual is laid out suggests that the “B” actually applies to MI2S. Actually, it more than suggests it, it actually states that the MI2S is bi-directional.
For instance, pin E40 shows “B-PD:nppukp → configurable I/O”, “B → MI2S #1 serial data channel 0”
pin E38 shows “B-PD:nppukp → configurable I/O”, “DI → gyro interrupt”, and “B → MI2S #1 serial data channel 1”.
That makes it pretty clear that the “B” applies specifically to MI2S, just as the “DI” applies specifically to gyro interrupt (which is obviously an input only), and the B-PD:nppukp applies specifically to configurable I/O (Bidirectional digital, default pull-down programmable no-pull, pull-up, or keeper).
If the I2S data pins were output only, they should be labeled “DO”.
So… either the manual is incorrect, or there is some way to set those MI2S data pins as input. If that means diving into the deepest recesses of the kernel, that’s fine, I just need a kick in the right direction.
About the GM1 microphone pad on the bottom… looks like that microphone is essentially a “three wire” type microphone (ground, bias, output). The pad lower-right closest the “GM1” label is pin 4, output. I should be able to treat that pin the same as mic3. Without testing, I’m assuming that pin1 supplies the same 1.7 bias as everywhere else, but doesn’t really matter since I won’t be using it…
Those pads are pretty big from my experience. Will be no problem tying into pin 4, which is the only one I need.
So mic1+mic3 = stereo line in, mic2 is pre-biased and good for an actual 2-wire microphone.
I’d still like to get to the bottom of this i2s thing though.
ljking, you mention CMA-6542TF-K being a good microphone for MIC2. Does the PM8916 handle the resistor and capacitor internally or do we need to provide that externally?
Datasheet: http://www.cui.com/product/resource/cma-6542tf-k.pdf
CDC_MIC2_P provides the reference voltage…and I assume GND_CFILT is the ground…but that doesn’t work so I’m wondering if the external components are necessary.
I can see from the debug messages that it is selecting the “headset-mic” profile:
D/audio_hw_primary: select_devices: out_snd_device(0: ) in_snd_device(43: headset-mic)
Which I have defined in mixer_paths_sbc.xml as the default:
<path name="headset-mic">
<path name="adc2" />
<ctl name="ADC2 MUX" value="INP2" />
<ctl name="IIR1 INP1 MUX" value="DEC1" />
</path>
But all I get is buzzing when I record audio.
Andrew
Hai Andrewn,
How did you defined these settings as default in mixer_paths_sbc.xml
<path name=”headset-mic”>
<path name=”adc2″ />
<ctl name=”ADC2 MUX” value=”INP2″ />
<ctl name=”IIR1 INP1 MUX” value=”DEC1″ />
</path>
There are lots of setting and also for HDMI, How to configure the “default settings” (for headset-mic). Have you tested Speaker and headset.
Because am having issue in headset. This is the thread which i have started https://www.96boards.org/forums/topic/audio-headset-issue/
This comment is right on the money. I actually tried this out. Once you have Mic1 and Mic3 connected (Mic1 has to be soldered on DB410c or blue wired). The commands listed in this post should help :
Hi,
I was looking for USB audio input solution but I could not get any. Would you please share your solution or some related article.