Audioinjector Zero conflicting with Waveshare TS

Hi there. On my continuing saga to make a custom Zynthian box, I first used a 5102 audio output board and it worked nicely, but then I decided that I needed audio inputs as well. I tested a HiFiBerry DAC+ADC and got it working perfectly, but due to space limitations, I can’t manage to fit it into my box without starting from scratch.

At someone’s suggestion in the forum, I switched out the HifiBerry for an Audioinjector Zero to save space and I’ve got all of the audio working fine. However, now I’ve lost the ability to use the touchscreen on my Waveshare 4" HDMI screen. As soon as I put the audioinjector onto the PI 4B, the touchscreen function stops. I don’t have the same issue with the HifiBerry, so I’m wondering if there is something I can try to make this work.

All help is appreciated - Thank you!

1 Like

As far as i remember, Audioinjector boards use a lot of GPIO pins, so probably they are conflicting with some pins from the waveshare. I would bet for some “interrupt” pin. I don’t think you can solve this without rewiring the Audioinjector, what is not good for your space-constrained build. I would recommend to use the HifiBerry DAC+ADC. It’s more stable than AI and IMHO, a better choice for zynthian.

Regards

1 Like

I’ve used a few AudioInjector Zeros’ and they have stopped being the perpetual pain that they used to be to configure. A Bit noisy, and I’ve used them alot with 7" touchscreens but not tried them on the Waveshare.
My memory of the waveshare was that they are damn near impossible to convince to rotate the screen for touchcseen to line up with displayed image, but @riban did a touchscreen prog that might well address this now. To my shame I’ve never tried it.
Not sure what GPIO it calls on, but I’ve run it with some fairly involved GPIO configs with encoders on pretty much wvery Pin so I might be able to dredge out some insight into what gets used or not, but You do tend to find yourself running out of options when you start to do that sort of thing…

Thanks! I found that the script for setup using the Waveshare 4" HDMI GPIO includes the command dtoverlay=vc4-kms-v3d. Once I removed that, the rotation works perfectly!

Thanks so much! According to Flatmax, The pins used are:

The AISC uses the I2S pins for communicating audio data to and from the Raspberry Pi. Thses pins can not be shared amoungst add ons and hats when the AISC is in use. The I2S lines are the following pins :
pin 12 : Bit clock
pin 35: LR clock
pin 38: Data in
pint 40: Data out

For power, the required pins are :
pin 2 & 4 : 5V
pin 17 : 3.3V
gnd pins : as many as you want to hook up !

According to the Waveshare documentation, there is no conflict with those pins, but there must be some interference going on with SPI - pins 19, 21 or 23. I have no idea how to resolve that!

Hi @soundscape ,
this looks weird because as you said, there is no pin conflict. So some debug info could be helpfull:

  • content of /var/log/Xorg.0.log
  • dmesg command output

Hi @soundscape !

I doubt this pin list is complete. For sure, the AISC is using I2C pins for configuring the audio chips and controlling the audio levels.

Also, the AISC could be connecting some “unused” pin to GND instead of leaving it unconnected. You could check this with a multimeter.

Regards,

Here with

and here with

I can’t see any pin usage conflict …

@le51 I couldn’t find any conflict either. In the end, I decided that the HiFiBerry is a better option - no conflicts, predictable behavior and better sound quality. I was getting a high pitched whine from the Audioinjector that may have been due to shielding, but much less with the HiFiBerry.

I’m using the DAC+ADC standard model and to get it to fit my case, I had to remove the input and output jacks from the card and use the internal contacts. So far so good.

Thanks for your help!

Be warned to be extremely careful and don’t twist or force the PCB pads when removing the connectors. I’ve damaged several hifiberries by removing the connectors. The superthiny copper tracks are easily broken when forcing the pads, the circuit will break and you will have to bridge the broken circuit with some effort and solder. Bad. Cut the connector"s feet with a good tool, without damaging the pads.

Enjoy

Great advice! I’m pretty good at de-soldering because I typically make so many changes (otherwise known as mistakes:) in my projects.

I was extremely careful but still managed to pull off one of the copper traces. I removed the connectors thinking that I could always put them back if I decide to use the DAC somewhere else. Well, at this point, that’s not going to happen! The signal lead is accessible so it’s not a problem for this build, however, I was surprised at how fragile the copper traces are. Thanks for the warning!

1 Like

You should always use copper to bridge broken PCB tracks. Solder is not the best conductor, liable to flux pockets and remains (technically) fluid. (Solder will ‘creep’ for years after apparently solidifying which can result in dry joints and loss of mechanical integrity. Always ensure your connections are mechanically secure before soldering. Never rely on solder to “glue” connections.)

No criticism here - just sharing (too many) years of experience as a professional electronics engineer :blush:.

Great point that often gets overlooked. Thank you!

You guys were so right! After removing the audio jacks on the DAC+ADC, the output was working fine but after assembling everything into my case, there was no audio out from either channel. Turns out that the traces were intermittent and must have been lazy because they decided they didn’t want to work anymore! :slight_smile: I managed to solder some tiny wires directly to board components and hot glued the leads so now things are fine. Thanks for your help. When the audio stopped playing, I knew exactly where to look!

2 Likes