Microphone bias features ULTRA++

I would like to know what are the characteristics of the microphone and if it is possible to record ultrasounds and up to what frequency.

Thank you!

Hi Daekka and welcome

The ULTRA++ uses 2 onboard AOS3729A-T42-NXC the specification is not clear about the frequency range as it was not tested above 10KHz, but it does not means that it can’t go above with the onboard mics. You can also use an external mic with that board.

The MIC+ uses an I2S microphone ICS-43432 the spec says 20Khz but I never tested it to that frequency.

For capture the ULTRA is better than the MIC but really depends on your usecase and the linux distribution that you want to use.

Hi @ Raspiaudio
I m looking at the Ultra++
It would be great if you could confirm whether the external mic input is true stereo (ie not dual mono).
If it is, could you please let me know if it supplies a bias voltage for electret condenser microphones, and if so at what voltage?
Thanks very much

yes it is a true stereo mic input
yes there is a software adjustable bias up to about 3v

let me know if you have anymore questions

Thanks very much for your reply - I appreciate it.

I think 3V is a little low for some capsules, but I will def give it a try.

I followed the link to Amazon on your site and couldn’t see the Ultra+

Perhaps I overlooked it. Could you suggest where I can buy one (I m in London)

Thank you!


Indeed we are out of stock in the UK since the brexit Amazon UK stock is not shared anymore with the rest of Europe, your best chance is to buy in france here:

Let’s us know how it works for you

That worked fine.
I ll let you know how I get on with the card when it arrives
Thank you for your help


I have the ultra+ set up with a pi zero and streaming to an icecast server
I have no sound.
I can get sounds from the MEMS mics but not from the external mic input
I am pretty sure that mic bias is not enabled.
Could you tell me how to turn it on?
Thanks… really looking forward to hearing how this card sounds

Did you tried to run that script :



i wasnt sure how to run it. i pasted the contents into terminal…
was i meant to copy it to somewhere on the zero and run it in like a bash script
(sorry - some gaps in knowledge)

also i dont see anything to turn on bias voltage in that list of commands.
maybe it s on by default? but it doesnt sound like it.
i guess the waveshare device doesnt include this functionality so maybe it s not in the script…

Ok so indeed the bash file to autoset everything is not working anymore because the driver was updated and some setting changed of name.

So here is it where I am today, here what I did to record myself using the external microphone. More will come later to fix the bash file.

Today I was not able to identified the control to adjust the mic bias level by software, I will have to look carefully in the low level documentation of the codec later, but with that setting I measured 2.6v on the mic bias.

I used one of those cheap headset with a microphone plugged like this:

On Raspbian desktop I did:

-On top right corner I selected input device and output device to be WM8960
-Device profile I selected : Multichannel Output + Stereo input:
-I opened a terminal and typed

aplay -l

to list devices for me the WM8660 is on card 2 so I then typed:

sudo arecord -f cd -Dhw:2 | aplay -Dhw:2

to play feed back on what is recorded to be able to fin the right settings, in another the terminal window run


F6 to select the WM8960 soundcard
F3 to select the playback

everything to 0 but:
set Headphone to 90
set speaker L R to 0
set Playback to 70

F4 to select the capture
everything to 0 but:
set LINPUT2 to 90
set RINPUT2 to 90
set Capture to 65
set ADC PCM to 100

you should be able to hear your feed back from the mic to speaker

Thanks very much for looking into this. Sounds promising. I ll check as soon as I get a chance.

To be clear: when you say ‘one of those cheap headset with a microphone plugged like this’, do you mean it has a TRRS jack? or a TRS jack?

Thank you

I meant TRS jack


I did the things above - except for the selection via the Raspian desktop, which I don’t have.
Messing around in alsamixer, I got a few sounds out of other inputs (1 and 3), but none still from inputs 2 (external stereo mic with bias).

ok we are working on updating the scripts for an automatic setup, keep you posted

I have updated the installation guide of the ULTRA and the git with some alsa presets:

update your git:

git clone https://github.com/RASPIAUDIO/WM8960-Audio-HAT.git
cd WM8960-Audio-HAT

in your case try this one, type:

alsactl --file preset_external_jack_microphone_input2 restore

then I did a:

sudo arecord -f cd -Dhw:0 | aplay -Dhw:0

to play on my headphones what is recorded, you might have to adjust the device number ‘0’ if you have other devices installed.

Le signal envoyé sur le Input2 est traité pendant quelques secondes puis il se coupe.
Merci pour votre réponse.

Could you give me more details: OS and version? any other software installed?

IOS : Raspbian GNU/Linux 10 (buster)
Soft : TeamViewer