|Digital Line Level DACs, Digital Crossovers, Equalizers, etc.|
Please consider donating to help us continue to serve you.
Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
||Thread Tools||Search this Thread|
|20th November 2019, 12:29 PM||#1|
Join Date: Jan 2013
Wiimu A31 module in combination with ADAU1401/1701 DSP
This is for anyone whose interested in building a compact wifi enabled speaker with DSP functionality. I particular have looked around for a long time to find a suitable solution. A raspberry pi is an obvious choice for a wifi enabled media streamer but its cost effectiveness is limited and also the software is often buggy. Moreover, it is difficult to realize whole house audio with multiple synchronous nodes.
A little while ago I stumbled upon the Up2Stream module which is sold by Arylic on Aliexpress and can be had for less than $30,-. The module promises similar functionality to a Sonos system with a wide variety of different sources including airplay via dnla which is a useful function that is in fact missing on sonos. Besides the module can support high-ress playback of 24bit files of up to a 192kHz sample-rate.
Sadly the module has some limitations with respect to the audio output. Only an analogue output is available with limited audio quality due to the low-cost audio processor that is used on-board of the Up2Stream module. Besides the on-board audio processor is not easily reprogrammable. However, the daughter PCB (A31 module) that is placed on top of the Up2Stream board has a I2S interface which allows for transmission of a digital audio signal to an external DSP without signal degradation.
From some help of the support staff from Arylic I was able to figure out that the A31 module is operating in slave mode with bclk and lrclk being generated by the onboard audio processor of the Up2Stream module. The I2S output of the A31 module is 16-bit with a sample rate of 44.1kHz. All of the audio is thus resampled to this sample rate which is an inherit limitation of the module although I don't think this will be very noticeable. The A31 module can thus be interfaced directly to a ADAU1701/1401 DSP as long as the correct bclk and lrclk signals can be generated.
The ADAU1701/1401 DSP has to act as a master in the i2s protocol which can be done by enabling master mode and feeding back the bclk and lrclk output signals of the DSP to its inputs by connecting MP4 to MP10 and MP5 to MP11. But here’s a bit of a problem, available boards with ADAU1701/1401 DSP chips feature master clocks of 12.288MHz which cannot be broad down to a lrclk of 44.1kHz and bclk of 2.8224MHz that is necessary for the A31 module due to the non-fractional clock divisions of the i2s interface.
I was able to solve this issue on a cheap aliexpress DSP module with a ADAU1401 chip by desoldering the SMD 12.288MHz crystal and replacing it by a through-hole component of 11.2896MHz. With some hot-glue additional support was provided preventing the crystal from falling of due to vibrations or accidental drops. Best of all, it sounds great, much better in my opinion compared to using the analogue interface of the Up2Stream module in combination with the analogue inputs of the ADAU1401 DSP. It does require a slight bit of hacking but it is pretty simple. Best of all, it is cheap to obtain. A DSP solution such as the Hifiberry DAC +DSP can cost about $75,- on its own which does not include the costs of a raspberry pi + sd card. Also, in my experience this solution has much more solid playback functionally without any weird behaviour such as skipping parts of a song. Besides, the power consumption is much lower with an average supply current of just 170mA for the A31 module at 5V.
There is however one slight caveat. With this implementation the software volume control on the source will not work and instead the output volume must be controlled via the DSP. For my use case this is an acceptable trade off but your mileage may vary.
Last edited by PA5cAL1; 20th November 2019 at 04:38 PM.
|3rd December 2019, 12:26 PM||#2|
Join Date: Dec 2019
I am new here. I love to do my DIY projects etc.
First of all thanks a lot for sharing it. and amazing job!
I bought the same modules and i realized the analog out as bad quality.
My idea was the same let's exploit the possibilty to connect over I2S.
Since i don't have a deep knowledge in DAC/audio core processores etc i need to study first.
- is it possible change the A31 to master and if yes we get somehing with that, maybe no need to change the Clock?
- As read the A31 datasheet the I2S output shouldn't be 24bit up 192kHz?why 16 bit 44.1kHz?
- Why your choice was the ADAU1401? i was thinking use the PCM5102A (maybe it is stupid).
Anyway once more amazing hack
I will try it!
Thanks in advance,
|Thread Tools||Search this Thread|
|Thread||Thread Starter||Forum||Replies||Last Post|
|Quick question regarding 3E DSP (ADAU 1701) and I2S input||mga2009||Digital Source||14||25th September 2019 05:02 PM|
|3eaudio EDSP-1701-24-A DSP board||jimk04||Swap Meet||10||24th May 2019 06:24 AM|
|of dir1703, 1701 and cs8414?||takashi||Digital Source||0||14th December 2002 04:37 PM|
|DIR 1701 and DIR1703 question||nFORCE||Digital Source||7||3rd December 2002 11:41 AM|
|New To Site?||Need Help?|