PlainDAC + PlainDSP: universal I2S DAC's from under 10,- €

Hi all,

we are proud to introduce our Plain series DAC’s to the audio DIY community.

Finally it’s here. A high quality I2S DAC below the 10,- Euro barrier.
A perfect match in price, size and quality with a lot of single-board-computers out there.
Only 42 x 17 mm and can be mounted nearly everywhere.

We are offering 3 different levels:

PlainDAC
Equipped with a PCM5100 from TI (SNR 100 dB) and a dedicated LDO for the analog part.
This is a perfect match if you want to connect the output to an amp or music system that have their own volume control.
polyvection.com/shop/plaindac/

PlainDAC+
PlainDAC+ is populated with a PCM5121 (SNR 106 dB) and does also feature a separate LDO.
Additionally this one adds integrated hardware volume control and access to GPIO4 of the DAC.
https://polyvection.com/shop/plaindac-plus/

PlainDSP
This one is the most advanced one. PCM5142 (SNR 112 dB) is used and again a dedicated LDO.
There is also volume control build in and additionally you have the possibility to make use of the build in DSP.
Currently we are working on a pice of SW that makes it possible to use two of this for a digital stereo crossover.
Some basic EQ functions are also on it’s way.
polyvection.com/shop/plaindsp/

If you are using a Raspberry: all three are compatible with the hifiberry drivers which are integrated in the official kernel.
For everybody else we have created a little cmdline application that allows you to startup and control the DAC’s directly from userspace. You just need to check that generic I2S output is enabled.

We are located in Germany and are shipping to a lot of countries.
If you have questions feel free to send them to info[at]polyvection.com or drop me a PM.

Best wishes,
Philip.

Today I connected the PlainDAC (PCM5100) to an Odroid C1+, these are my first impressions.
The DAC plays out-of-the-box with the AMLogic I2S SoC driver, which was enhanced by Hardkernel to fit their PCM5102a based HiFi shield.
The PlainDAC is recognized as an ODROID-DAC, not a problem, it just works…
Initially I did not connect MCLK, this does not seem to work very well with the PlainDAC.
It is very sensitive and produces a lot of distortion/ jitter, especially when my fingers/ hand came within centimeters of the connector.
After connecting MCLK to the ODROID’s MCLK signal, this problem disappeared completely :mrgreen:

I checked a whole range of audio files from my collection, the DAC played everything I had.

16/ 44.1 OK
24/ 44.1 OK
24/ 48 OK
24/ 88.2 OK
24/ 192 OK
24/ 352.8 OK

No exceptions, no hick-ups, no clicks, no pops. The PlainDAC plays very precise and detailed as to be expected from a PCM51xx device.
But realizing, that this is from Germany, not China, and cost you less than 10€, the thing is sensational :astonished:
That is, when you want to connect it as-is (jumper cables, 3.5mm line-out plug and glue/double sided tape :unamused: )

If you put it on an simple shield, made from a prototyping board, with a 10P double-row connector (to connect the PlainDAC), 7P connector to I2S bus and connector to 3v3 (inkl. SDA and SCL, in case of switching to a PlainDAC+ ) and add two RCA connectors to the shield, then add another 3-4€. Which still makes a good price for a 32bit/384Khz DAC device :smiley:

Hi

Has anyone got a PlainDAC+ (PCM5121) working with Odroid C1 and Volumio?

It is a bit more complicated than with the plain 5102 dac, because you have to connect / use i2c to set up the hardware in the DAC PLUS and to use the i2c you have to use the little c program on the Plaindac website.

I have tried to enable i2c on the Odroid C1+. but I can never “see” the plaindac+ device using i2cdetect -y -r 1, or r2,r3,r4

I have been following this guide to enable i2c ----- abelectronics.co.uk/kb/arti … ing-ubuntu

When I run the setup program, it appears to work but if I try to set volume it doesn’t work.

for example

volumio@volumio:~/PlainDAC$ sudo ./plaindac -u
**** PlainDAC CONTROL PROGRAM ****
UPSTART SENT
LEFT: -61 dB
RIGHT: -62 dB

volumio@volumio:~/PlainDAC$ sudo ./plaindac -v 100
**** PlainDAC CONTROL PROGRAM ****
LEFT: -61 dB
RIGHT: -62 dB

This should have set volume to 100 !

It seems obvious that I have not succeeded in getting the i2c enabled properly, but I am stuck now.

Any help gratefully received !

cheers

P

Hi superpat,

I’m sorry to hear that you have problems with your PlainDAC+.
We know that it should work with our control program and the Odroid C1+.

Can you confirm that all pins are connected correctly. Especially SCL and SDA ?
Is the output of i2cdetect really completely empty? PlainDAC should show up at 0x4c…

Best wishes,
Philip

Hello,

Re: [size=150]PlainDAC+ & Volumio on Raspberry Pi 2[/size]

Does the hardware volume control work exactly like the standard software volume control, in that it simply reduces the volume by dividing the digital data by some number?

Also, are the drivers the same as for Hi-Fi berry and so plug and play on the RSP2?

Thank you

Hi,

Yes, in case of the PlainDAC+ the volume can be changed directly in the DAC chip.
Of course this is also done digitally as any control on the analog side would require too much space and would be very expensive.
I’m not aware of any existing DAC solutions for SBCs like the Raspberry that features an analog control.

You can see a block diagram of the used DAC chip on the first page of its data sheet. http://www.ti.com/lit/ds/symlink/pcm5121.pdf
I’m not aware of any existing DAC solutions for SBCs like the Raspberry that features an analog control.

Indeed it can be either used with the HiFiberry or with the IQaudIO driver. The second one requires to tie the I2C address select pin to ground.

Best wishes,
Philip.

Hi superpat,

I have tested the Odroid C1+ with i2c and PlainDAC+
The odroid does not have a pcm5121 driver, so hardware volume control won’t work, but the default volume level is ok for running volumio.
It will work with a remote, sending vol-/+ via the ‘plaindac’ control program.
The problem you are facing is indeed related to enabling i2c, I will post how to do this for the C1+ when I get home tonight.

The kernel we use for the C1+ has the i2c driver built-in, you only need to load the driver:

sudo echo "aml_i2c" >> /etc/modules

Just do

dmesg

and you should get this at some point:

[ 13.435017@3] aml_i2c version: 20140813 [ 13.435205@3] plat->state_name:default [ 13.435230@3] master_no = 1, master_regs=fe108500 [ 13.435610@3] aml-i2c i2c-A: add adapter aml_i2c_adap1(edf49ca8) [ 13.439278@3] aml-i2c i2c-A: aml i2c bus driver. [ 13.444042@3] plat->state_name:default [ 13.444092@3] master_no = 2, master_regs=fe1087c0 [ 13.444532@3] aml-i2c i2c-B: add adapter aml_i2c_adap2(edf4a4a8) [ 13.450609@3] aml-i2c i2c-B: aml i2c bus driver. [ 13.455863@3] plat->state_name:default [ 13.455910@3] master_no = 3, master_regs=fe1087e0 [ 13.457441@3] aml-i2c i2c-C: add adapter aml_i2c_adap3(edf4a8a8) [ 13.462068@3] aml-i2c i2c-C: aml i2c bus driver. [ 13.466247@3] plat->state_name:default [ 13.466294@3] master_no = 4, master_regs=fe108d20 [ 13.470076@3] aml-i2c i2c-D: add adapter aml_i2c_adap4(edf4aca8) [ 13.471314@3] aml-i2c i2c-D: aml i2c bus driver.

From the link that you supplied, I presume you already did that, but you also put i2c-dev in /etc/modules.
You don’t need that, remove it, reboot and try again.

If it still does not work, pls. post your dmesg output after the i2cdetect command (which I never used, the plaindac utility worked immediately)

Hi,

I tried to connect the DAC+ to my Raspberry Pi B+ and noticed that the board got very hot.
just managed to check the board for a bit, I did not dare to turn the pi on for too long due to the heat of the DAC+ board.

Seems that the 3V3 is the culprit. i2cdetect the board at 04x with the characters “UU” which is weird.

With aplay -l the pi seems to see the board OK, but got no sound when trying to play via volumio. I have set the output to be “sndberrypi…”.

Hi,

under normal playback conditions the PlainDAC+ will only be slightly above room temperature. Definitively not hot.
So please don’t power it until we have found a solution.

Can you confirm that 5V was never mistakenly connected to a wrong pin?
This will harm PlainDAC+ since all the other pins are only suitable for 3V3.
Are the other pins connected correctly according to our getting started page?

The “UU” displayed from i2cdetect is just the signal that it detected a device that is already used by the kernel.
So this is normal and proves that your PlainDAC+ isn’t completely dead.

Could you please contact us via info[at]polyvection.com for further details?

Thanks and best wishes,
Philip.

Thanks for quick reply.

Yes 5V (pin 1 of the DAC+) is connected to pin 2 of the Pi.

Only the i2C address select is not connected.

MLCK (pin 6) is connected to pin 39 on the pi.