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.

or could you please test if your current ‘extmic.alsa’ script functioning well from your side?
because onboard mic preset you uploaded works perfect…

yes we try to do it next week

1 Like

just checked extmic.alsa and it is working here, so it is your microphone or ultra, but all board are tested before shipping.

I have a similar noise. Have you managed to fix it somehow?

Not sure the exact reason but when I use external battery, the noise was reduced.

My hat is an ultra++ orange model that I bought about a year ago, and the external mic used to work perfectly. After testing it back then, I stored it in a hard case for a year. When I tried using it again recently, it no longer worked.
I’ve tried many different methods, but still no success. Maybe the hat is broken somehow as you mentioned, and I might need to buy a new blue one.

Before I purchase the new blue ultra++, could you please confirm once more that extmic.alsa still works on the orange hat with your suggested installation method? It’s strange because it definitely worked a year ago, right before I stored it.

My microphone functions well with different recording devices, so it may not be the mic issue.

Thank you so much!

Raspiaudio

Seems confusing to me. How do I send I2C commands to the board? Want to use the Board for an amateur radio project. Any help would be appreciated.