Wiimu A31 module in combination with ADAU1401/1701 DSP

I built that board but didn't debug it or finish off any of the software, so I'm not sure that it works. I'll return to it when I try to build a final version of the 4-channel amp module. I decided to use the Midiworx 8-channel SSM3582 boards for a line array prototype, so testing and writing code for this board got put on hold (see blog on Audiodevelopers.com). The Kicad files are attached. Here is a fuzzy picture of the assembled but untested board (sorry about the focus):
stereo_3way.jpg
 

Attachments

  • Like
Reactions: Vavilen
You asked for this board with the Linkplay A31, but I would recommend using a newer version of the ADAU1466 board shown in the Audiodevelopers blog instead. The reason is that it has the SPDIF (TOSLINK) input for using the Wiim Mini, which is a great improvement over the A31 technology. There are two versions of that board now. The 1st version is for the line array, with connectors for 24 channels of audio. The 2nd version is intended as a stereo 3-way board that connects directly to the Wondom/Sure TAS5756 board via I2S. That should make a nice active speaker. I'm still awaiting some parts, but I'll be testing those designs soon.

BTW, You can sometimes get "refurbished" Wiim Mini's on Ebay for $59: https://www.ebay.com/itm/125642191250.
 
Last edited:
The MA12070P amp uses a different pinout for the I2S connection, but if I make another iteration of this board, I'll include connectors for both of these amps 🙂.

I like this board, and I might end up making another version. The only thing I don't like is that it's a little cumbersome to switch between the two TOSLINK inputs. The SPDIF switch is controlled by the ESP32 via a phone app, and I should probably add a way to "manually" select the inputs. I use one TOSLINK input for the Wiim Mini and the other is for an HDMI audio extractor that grabs the SPDIF signal from the connection to the PC monitor. Windows controls the HDMI audio volume, and it is very convenient to control the volume from the Windows keyboard. The more I use HDMI audio the more I like it. Wondom offers a small amp with a built-in HDMI extractor--I think this will be a trend.
 
You asked for this board with the Linkplay A31, but I would recommend using a newer version of the ADAU1466 board shown in the Audiodevelopers blog instead. The reason is that it has the SPDIF (TOSLINK) input for using the Wiim Mini, which is a great improvement over the A31 technology. There are two versions of that board now. The 1st version is for the line array, with connectors for 24 channels of audio. The 2nd version is intended as a stereo 3-way board that connects directly to the Wondom/Sure TAS5756 board via I2S. That should make a nice active speaker. I'm still awaiting some parts, but I'll be testing those designs soon.

BTW, You can sometimes get "refurbished" Wiim Mini's on Ebay for $59: https://www.ebay.com/itm/125642191250.

Appreciated, and appreciate the files as well, but my use case is probably very different from most.
I'm just looking to use the Linkplay board to interface with HomeAssistant for a LOCALLY controlled smart speaker. Something I can hook up to ethernet (and most likely POE powered), and send low quality alert chimes/sound clips to. I have it all working on a breadboard, just looking to fab a proper PCB and really didn't want to reinvent the wheel and draw the A31 footprint if I didn't need to!
 
This github project has in-depth technical info about the Linkplay A31 module and also describes how to replace the vendor firmware with a (OpenWrt) Linux system (I2S slave mode).

There is also some information on how to dump and modify the firmware of the MVsilicon AP8064 MCU, which is often used as a complement to the A31 module.

Hope this is of interest to someone 🙂
 
192/24 is a tall order for a 10-year-old MCU that only supports 802.11a/b/n wireless networking. According to speedguide.net, you would probably need dual antennas and a quiet environment to support the sustained 12MHz data rate needed for 192/24. The work with the Linkplay A31 is interesting and impressive, but it's going to be limited by the Mediatek MT7688AN platform.

I've got a pair of A98 modules that I don't need. If anyone is serious about developing firmware for it, they are welcome to have one for free.
 
Can we make it master and outputting 192/24bit instead of 16/44.1

Problably not a trivial task. From my understanding, for master mode, you'd at least need to add a codec (other systems use the Wolfson WM8960 connected via I2C, see https://github.com/openwrt/openwrt/blob/main/target/linux/ramips/dts/mt7628an_duzun_dm06.dts for an example). I have no idea if higher data rates would be possible (@Neil Davis I think the high data rate is needed on the I2S link only as the mp3 is decoded on the MCU -- so no high data rate is needed on the WiFi connection),

I am neither an I2S nor an audio expert. The project started with the goal of removing the annoying welcome message and coincidentally ended with replacing/modifying the fimware on these two MCUs 🙂
 
  • Like
Reactions: aditya
192/24 is a tall order for a 10-year-old MCU that only supports 802.11a/b/n wireless networking. According to speedguide.net, you would probably need dual antennas and a quiet environment to support the sustained 12MHz data rate needed for 192/24. The work with the Linkplay A31 is interesting and impressive, but it's going to be limited by the Mediatek MT7688AN platform.

I've got a pair of A98 modules that I don't need. If anyone is serious about developing firmware for it, they are welcome to have one for free.
The module that I have is Linkplay A28 which is dual antenna.
 
hi Neil Davis,
I start to play with adau1701 as newbine, my purpose is that use the signal input from both Analog port for CD aux and first I2S port for digital as a bluetooth receiver like QCC5125 or Fifer/Dir9001, by googling, I found you post and your project , I try to understand your board wiring between modules each other. My question that your solution to solve the clocking for Adau by use CS8421 module to translate the 44.1KHz output of the A31 board to 48KHz without desold the Crystal, so mean don't need to desolder the Adau on-board crystal, let it run for internal clocking and the analog input can run together with I2S, Am I right? thanks you for great project!
 
If I understand you correctly, the answer is "yes". The CS8421 module will resample the output of the bluetooth receiver using the ADAU1701 clock. The only "issue" is that the CS8421 needs to be set up properly. Mine came with the module set up to output 192KHz audio, and you need to change a resistor to force the output to be a slave. That is done by changing the 1.96K resistor on the CS8421 MS_sel pin to 1.0K (see the data sheet for the CS8421 for more info). That change is discussed in the section on EV board #2 at this link: http://www.audiodevelopers.com/next-generation-evaluation-boards/. I build that EV board and it worked as expected.
 
Hi everyone,

this thread seems to be full of people with a lot of expertise when it comes to Linkplay modules, so I’m hoping someone here can help me out with an issue I’ve been facing.

I’m working on a pair of active speakers with an Arylic Up2Stream Pro v3 per speaker (I think there is an A31 on it)connected to an ADAU1701 via I²S.
I’ve encountered an issue I’d like to get your insights on.

In this thread, I noticed that some users have mentioned that stereo playback with two boards (one for the left channel, one for the right) works well. Unfortunately, I haven’t been able to replicate this success.

I've assigned left and right channels using the 4Stream app but I’m struggling with a wandering stereo image. Sounds that should be centered often drift to one speaker or the other. Pausing and resuming playback sometimes resolves the issue temporarily, but the problem persists intermittently. It seems Like the synchronisation is just a tiny bit off.

Has anyone experienced similar issues? Are there any specific settings, configurations, or tips to achieve a stable stereo image with this setup?

I’d really appreciate your advice.

Best regards,
Julius