ULTRA++ installation guide

The standard I2S on the Ultra provides only stereo output (2 channels). There’s a built-in mixer that routes these two channels to the different output devices (headphones and speakers), but since you only have two channels, it’s not possible to achieve a 3-channel setup like the one you described using the Ultra.

However, we do offer the 8xOUT board, which provides 8 independent audio output channels, compatible with the Raspberry Pi 5.

We also have the 8xIN/8xOUT version, which includes an additional 8 audio inputs.

okay, did it from scratch - fresh raspbian image using raspberry pi imager.

I then proceeded to do this:

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

which then returned this:

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.12.55-v8+ #1915 SMP PREEMPT Fri Oct 24 11:49:06 BST 2025 aarch64 GNU/Linux
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Just to be clear, I have the old ULTRA++ card that does not feature the auto detect function.

Then have you tried the section of the installation guide" if the auto install does NOT work" :

OPTIONAL Manual installation PI5 / PI4 / ZERO (ONLY if the auto install does NOT work)

Once done you should be up to date
open a terminal and type:

sudo nano /boot/firmware/config.txt

and at the end of the file add:

dtoverlay=wm8960-soundcard.dtbo

Is this pinout accurate? If I plug the soundcard straight into the Pi, it works fine. But if I manually wire only the pins specified in the pinout, playback fails.

yes it should work, try to wire all grounds

On the Ultra ++ I want to input audio on the stereo external line input jack and
I want to send that audio to stereo headphones output jack. How can I accomplish this? Is it possible with alsamixer?

Yes you want to loopback the line input on the headphones, I think that the codec wm8960 has this option, then it will need to be convered by the current driver.

Check in alsamixer if you see a loopback control, otherwise we I’ll look at it next week.

I do not see a loopback control in Alsa mixer for either capture or playback. Let me know what you find.

probably the driver doesn’t expose these codec’s commands so alternative it to send directly these I2C commands to the codec, even this doc is for microcontroller you can use theire library to get the right commands to send to the Raspberry Pi

https://learn.sparkfun.com/tutorials/audio-codec-breakout---wm8960-hookup-guide/example-5-loopback?utm_source=chatgpt.com

Any AI thinking model will crush that in a minute

Hey raspiaudio,
I install ultra++ (orange) on my raspi4b following your up-to-date instruction.
Clean installation, bookworm 32bit, adding dtoverlay=wm8960-soundcard.dtbo
Everything went super well, the problem is I cannot get external microphone working. (on board microphone is working and sound well)
I also applied your extmic.alsa using alsctl restore but it seems to be not recording any sound.
You can check my alsamixer setup as screenshot below.
I am using TRS binaural microphone, which used to work before.
Are there some issues on the driver? Please let me know.

Thank you.