Understanding MICBIAS (+axo fix)


#1

I read that the inputs can be biased for using an electret mic. I was confused on how to use the biasing.

I'm measuring 0V at the input jack between any of the pins, so the input jack doesn't seem to be biased.

I found the "audio/inconfic mic" object. From what I can tell from the object definition, this simply sets the values of the audio codec's 0x4010 register. Looking at the datasheet, that should control the voltage & max current on the codec's MICBIAS pin.

While looking into this, I found a bug in the implementation of audio/inconfig mic.axo:

The 0x4010 register is a bitfield. See datasheet. In the .axo, the values are combined like this:
ADAU1961_WriteRegister(0x4010,attr_bias+attr_mperf+1);
where mperf is 0 or 1, and bias is 0 or 4 (from the dropdown controls).
This means that selecting "Normal" in the mperf dropdown turns bit 0 off, which disables the bias, and flips bit 1 (which is undefined). (1 + 1 = 0b10)
MPERF, which is bit 3, is never touched by the code.

I corrected this by

  • including bit 0 in the bias field, adding a third value to disable the bias
  • correcting the mperf values (MPERF is bit 3, not bit 0)
  • ORing the values together instead of adding them

I tested the modified axo and measured the bias voltage, it works as intended. @johannes or whoever maintains such things, could you have a look and include the fixed object: inconfig mic.axo (1.3 KB)

So, looking at the Axoloti Schematic on page 4 and on my board... R17 and R18 are unpopulated so it is clear to me now why there is no bias voltage on the input jack. I guess I should just solder in two 1K resistors then.


Next-gen and mini Axoloti hardware discussion
Official Pin Outs revised (work in progress)
#2

Thanks for the corrections, will integrate them.
I did not have the time to test electret microphone configurations - and that is also why R17/R18 are unpopulated.
Please share your experience with electret microphones!


#3

Cool.

I salvaged 2 1K resistors from an old computer mainboard and soldered them onto the Axoloti. Behold my mad SMD hand soldering skills... Not:


They ended up pretty crooked... It works though. I turned on the bias and set the gain to 33db with the inconfig object, then connected a cheap electret capsule mic:

The quality isn't great of course, but it is OK for inputting speech and such. So I can use those mics now without any preamp, which is nice.

One question remains though: Won't those resistors generate cross-talk between the left&right channels? I only used a mono mic so far, in that case it doesn't matter. But what if I connected a stereo mic?


Connecting a microphone
#4

Oh now I recall, that was one of the reasons to not populate these resistors in production, but leaving the resistor footprints for hackability.
Well if MICBIAS is on, it is a voltage source so crosstalk will be small. But if it's off, the datasheet is not clear what impedance MICBIAS will be. If it's high impedance, it 'd cause crosstalk, if it's low, it 'd lower the input impedance a lot...


#5

Not sure I understand... What I meant was, soldering in R17+R18 would create a connection between the left&right channels. I mean this signal path:

Right In (Ring) - R18 - R17 - R19 - C44 - LIN-
and
Left In (Tip) - R17 - R18 - R20 - C45 - RIN-

So that would be 2k of resistance between the channels, plus the capacitors (but an audio signal would pass the caps). Allowing signal intended for one input to pass to the other.

That would be independent of the MICBIAS state, right?


#6

Sorry for my late answer... if MICBIAS would "connect" to ground inside the codec in the off state, the input circuit would only present a low impedance to both inputs, not generating crosstalk. But I suspect it's rather in high-impedance state when electret bias is off, so yes, expect considerable crosstalk if your signal source is not very low impedance.

I just integrated your fixes to "audio/inconfig mic". Thanks!


#7

I have one of these:
https://www.sparkfun.com/products/9964
Does the same hack (as explained above) apply with an preamplified electret like this one?


#8

No need for the same hack with this SparkFun Electret Microphone Breakout.
I suggest to connect :

  • VCC of the breakout to VDDC of Axoloti
  • GND of the breakout to GND of Axoloti - use on of the GND holes close to the VDDC hole
  • AUD/OUT of the breakout to the LIN- hole on Axoloti

that bypasses the input DC blocking capacitor on Axoloti, the SparkFun Electret Microphone Breakout already outputs a DC bias at half the supply voltage, which is what the audio convertor input wants.


#9

Hi There,

I want to hook up an electret mic too but am somewhat clueless on how to do so really.

I added the two resistors (1k) as @BambiF did. How should I connect the mic now?

It has a trs jack so what I tried was, Sleeve to GND, Tip to LIN- Ring to RIN+ with no succes.

@BambiF how did you hook up your mic?