Wiimu A31 module in combination with ADAU1401/1701 DSP

Member
Joined 2004
Paid Member
The fact that the A31 is shipped as a slave device simply means you must provide a bit clock and LR clock. Those clocks are usually generated by the ADC chip (or the MVSilicon SOC chips that include analog inputs). You could also generate the bit clocks and LR clock using one of the ESP32C3 boards, which have I2S I/O. I made a board with the A31, an ASRC board, ESP32C3, ADAU1701 module and a 4-channel amp board as phase 1 of a larger project (line array amp). I've got the boards and all of the parts but found out I screwed up the A31 footprint by using .1" pin spacing rather than 2mm spacing (I corrected that error in the picture below). So, I need to test this board with a Dayton WBA51 module. I should be able to debug that circuitry over the next month. The amp board, on the right, is what might take the most time.

Phase 2 will use the A98, along with the ADAU1466. This is done in Kicad and files will be available.

1662810665399.png
 
@Neil Davis

thank you for your layout overview but I think we could reduce a few blocks from the layout shown above, there is firmware available that will make Linkplay A28/A31 as master.

I got one from Peet and I found 2 more which are vanilla flavor but provide a 16bit 44.1KHz out

what I did is connected a 50MHz clock to the MCLK pin of ES9023P and connected my Linkplay A28 module and it plays music.

and I feel that these modules A28 and A31 are only going to give a 16bit / 44.1KHz output,

Even I have tried to connect with PE - Greg, but they do not seem to have enough resources to help out with Linkplay - I got a reply that we should connect with Linkplay for Firmware, etc as PE will not and has not provided such a service.

I have always been using RPI with HiFiberry DAC hat running PCM5122 with 2 clocks sources but the audio from the Linkplay module doesn't get close maybe because I am on wire connects or maybe because its 16bit / 44.1KHz
 
Last edited:
Member
Joined 2004
Paid Member
Changing the firmware is a good option for solving the clock problem. But I wanted to be able to run the ADAU1701 at 48KHz, and I've got a lot of firmware running in the ESP32C3 to control the ADAU1701 from a Bluetooth app. So, all of these blocks are needed for a stereo 3-way amp with active crossover, EQ, Bass Enhancement, WiFi input and BLE control. If I can get it all working, it will be a nice board.

But as I noted before, this is phase 1 of a bigger project. Next up is switching to the ADAU1466 (lots of code changes) and using the A98 (not sure what problems I'll find with that, given the small amount of documentation available to the general public).

Phase 3 is a second-generation line array amp, using lots of those amp boards. The first-generation version is described in this article: http://www.audiodevelopers.com/10-case-study-3-a-line-array-with-dsp/
 
  • Like
Reactions: 1 user
Changing the firmware is a good option for solving the clock problem. But I wanted to be able to run the ADAU1701 at 48KHz, and I've got a lot of firmware running in the ESP32C3 to control the ADAU1701 from a Bluetooth app. So, all of these blocks are needed for a stereo 3-way amp with active crossover, EQ, Bass Enhancement, WiFi input and BLE control. If I can get it all working, it will be a nice board.

But as I noted before, this is phase 1 of a bigger project. Next up is switching to the ADAU1466 (lots of code changes) and using the A98 (not sure what problems I'll find with that, given the small amount of documentation available to the general public).

Phase 3 is a second-generation line array amp, using lots of those amp boards. The first-generation version is described in this article: http://www.audiodevelopers.com/10-case-study-3-a-line-array-with-dsp/
Wow Neil that's an awesome plan, I will be watching your threads with a lot of love. From what I saw in the A98 document on PE it seems to be able to output an MCLK and connects to PCM5121 in hardware mode, if this is true about it being master from the looks of the document - IMO create a board with the M.2 socket and a DAC and check the working
 
Member
Joined 2004
Paid Member
This project got bumped for a while, but I finally got back to it.

The CS8421 board works perfectly to translate the 44.1KHz output of the A31 board to 48KHz, once it is set up correctly. The board comes configured as a slave on its input and 192KHZ master on the output. However, you can change the 1.96K resistor on the MS_SEL pin of the CS8421 to 1.0K and then both sides become slaves. The A31 is a master that provides the 44.1KHz input and the ADAU1701 is a master that provides the 48KHz clock.

In the meantime, Linkplay (WiiMu/WiiM) has put out some new devices, used in the Mini and the Pro. I've got a Mini on order and should have the cover off soon:). The Mini is available for $79 on Amazon. The Pro version might use the A98--maybe someone can verify that???
 
Is it possible to use two Linkplay modules (e.g. one Up2Stream Mini in each speaker) to implement wireless stereo? One Mini would be used for the left channel and one for the right channel. Or is Bluetooth TWS the only off the shelf option? I'm not sure how two individual Linkplay modules could be synchronized together to keep the left/channels synchronized in time.
 
Member
Joined 2004
Paid Member
YES! That's always been one of the attractions of the Linkplay modules: you can pair them in the app and assign one as left and the other as right, with no sync issues. I've got two pairs that I have been running for several years. You can do the channel pairing in the app, whereas Bluetooth TWS uses clumsy switches.

And with the new modules, you can even have multiple pairs that are synchronized using the built-in microphone. I haven't tried that feature yet, but I'll get around to it eventually.

But I wouldn't use the old A31 module that is in the Up2Stream Mini. The newer module in the WiiM Mini (A97) is much faster and more versatile and comes with a much-improved app. But if you could afford a pair of the Pros, you could get 5GHz WiFi, which should be a good step up. BTW, you can get a A31 module with a board that is similar to the Acrylic in those cheap Fabriq speakers on eBay selling for $15 or so.
 
Member
Joined 2004
Paid Member
I just checked my router, and it says my WiiM Mini-6830 is connected using a 5GHz channel. So, yes, the Mini can use 5GHz--that makes it very attractive. I assumed that it used the A97 module, which does not list 5GHz as a feature, so I guess it is a newer version of the A97, or else the description on the Linkplay site for the A97 is incorrect.

Yay--I think the reason some people had issues with the earlier Linkplay-based products was because 2.5GHz networking has so few channels, and it has to compete with microwave ovens and too many other devices in the 2.4/2.5GHz range..

Of course, the Mini doesn't use the quad core Amlogic A113X of the Pro version, so it won't recognize "Hey Google" :). You'll just have to speak to it via Alexa.
 
Last edited:
  • Like
Reactions: 1 user
Member
Joined 2004
Paid Member
Last edited:
@Neil Davis i corrected my post that Linkplay site does not show but the Rakoit site shows it supports 5ghz.
But if we do Linkplay A97 FFC, there are some places it says 5ghz so not sure why Linkplay would not update its page.

would you be able to connect a usb to serial interface to see if it respond to serial commands. or does it give any Song name artist name on UART.

THis is what i get of the A28 Linkplay connected to a USB to Serial module - when i increase the volume or decrease it via phone during Airplay and when i change the song i get - AXX+MEA+RDY
1676663882907.png
 

Attachments

  • api-info-4.zip
    11.4 KB · Views: 70
I'm excited about the WiiM Mini and its capabilities/performance. I'd use the TOSLINK output for everything. It does appear (to me) that two additional boards would be required to use with a 1701 via I2S: the CS8421 board Neil mentioned and a board like THIS to convert the TOSLINK to I2S. Maybe someone can find one board to do it all. The WiiM's TOSLINK output can be fixed to 48 KHz for the 1701.

So maybe it's finally time to leave the old trusty 1701 behind. I'm looking at a 1452 board (LINK) that would directly accept the WiiM TOSLINK. For amplification I'd use the MA12070 amps that have I2S inputs which would connect to the 1452. It's an idea I'll pursue.
 
Member
Joined 2004
Paid Member
I considered using the MA2304DNS connected to one of the newer Linkplay modules, since those amps derive their clocks from the I2S input. No ASRC needed and the DSP in the MA2304DNS looks nice for a high-quality active speaker. But you would still need a DSP/DAC for a subwoofer output or a 3-way.

I decided instead to make a board using the ADAU1466 "Core Board" with the Linkplay A98. It's just a "test bed" board to verify that the PCB footprints are correct and to get a start on the code. I'm just starting the layout, but it should go quick since there aren't too many connections that I need. If I can make some progress with this, I'll shoot for a real design with SSM3582 amps that would make a nice WiFi speaker.

1676921080672.png
 
  • Like
Reactions: 3 users
Member
Joined 2004
Paid Member
There is a page describing the several prototype boards alluded to in this thread at: http://www.audiodevelopers.com/next-generation-evaluation-boards/
The discussion of where this is heading next is here: http://www.audiodevelopers.com/next-generation-beyond-the-adau1701/

Some conclusions so far:
  1. The CS8421 works great for connecting the older Linkplay modules with the ADAU1701
  2. The ESP32 can generate the I2S clocks for the A31
  3. The A98 is a master with its own clock generator. It doesn't require any support chips to output digital audio--the module can be directly connected to an I2S slave and can be controlled by the app.
  4. The SSM3582 amps are especially well suited for line arrays that use digital delay and multiple amps for "electronic curvature"
 
  • Like
Reactions: 2 users
The A98 is a master with its own clock generator. It doesn't require any support chips to output digital audio--the module can be directly connected to an I2S slave and can be controlled by the app.
Hi @Neil Davis ,
could you please share if saying the app you mean the Wiim app? And if yes, does it mean that the A98 board from Aliexpress has the same streaming services set as Wiim Pro?
I'm asking because I was thinking about extracting i2s from Wiim Pro and then found this amazing thread.
Thanks in advance!