T-DAC, RPi-DAC

Questions, comments and remarks about the recent DAC, the T-DAC, RPi-DAC, please see: http://ww.tjaekel.com/T-DAC/index.html

News: RPi-DAC is now Durio Sound:

RPi-DAC is available as Durio Sound via:

http://www.gravitech.us

Please check it out there and order at Gravitech. Thank you.

Durio Sound works with Raspberry Pi 2

Pitichai, the master of the Durio Sound, got the Durio Sound working with an update on the Linux kernel for Raspberry Pi 2. Please see the comments here below or check the Durio Sound site:

http://duriosound.knapzaq.com

39 thoughts on “T-DAC, RPi-DAC

  1. Torsten Jaekel

    Some people ask: is there a volume control?
    Yes, there is:
    The RPi-DAC-FPGA can read a Rotary Encoder. It will do a scaling of the I2S audio sample words, similar to a Software Volume Control. So, an Audio DAC can have a knob where the user can change the volume, like a regular potentiometer (just based on digital control and rotary quadrature pulse generation).

    If people ask: if a real analogue volume control (on output of DAC) signal even better?
    In general yes because scaling down the sample words (e.g. divide by 10 or 100) before they are sent to the DAC – lower sample values will increase the (digital) distortion.
    But: add Dithering. To randomize the values before they are scalled down and trunkated, or you can consider as “add white noise to lowest bits” so that the signal form looks even better will work nice if the DAC has a real 24bit resolution.

    The FPGA on RPi-DAC-FPGA can do Rotary Encoder Volume Control (already there as FPGA BIT file) and Dithering to improve the signal quality on low level signals.

    Reply
  2. Torsten Jaekel

    Why do we use a PCM5102 on RPi-DAC-RCA ?:
    There are two main reasons:
    The PCM5102 is a bit cheaper compared to the PCM5122 (which looks like quite similar). It has also less pins.
    The PCM5102 has an option to configure the DAC in PLL mode: instead to provide a system clock on I2S, MCK or SCK, which is NOT generated by the RPi, we can configure DAC to let it generate the SCK from the BCK. It is mandatory for the Raspberry Pi usage.

    Reply
  3. tjaekel Post author

    What is the best OpAmp for RPi-DAC (SingleStereo or DualMono)?
    Based on my experience: the OPA827 is excellent, OPA211 might be an option.
    I have started with LME49990 but OPA827, esp. for I/V stage, sounds great.

    I recommend:
    Use OPA827 on I/V converter and OPA211 on third, following sum OpAmp (for DualMono).

    Reply
    1. snukka

      Hi Torsten, I am ready to get a dual mono DAC but not from kick starter or gravitech. Can you advise me when you have a reliable reseller ? Thanks !!

      Reply
      1. tjaekel Post author

        Hi snukka,
        the actual place to ask and order is Gravitech:
        http://www.gravitech.us/

        They are very busy with the recent Kickstarter and unfortunately they have not yet put the Durio Sound to their shop.
        I am sorry, I cannot influence really much.
        But they have all in order to take orders, to let manufacture and to ship.
        Please, try to ask Gravitech. Thank you.

        BTW: if you order two Durio Sound, you can easily create a Dual Durio Sound setup: just extend the I2S header to feed both in parallel
        and combine the analog output. But needs some soldering to do.

        Best regards
        Torsten

        Reply
    1. Bleu

      Thanks for your work Torsten, I try to get your “kernel patch file” described in your guideline but impossible to find it. Could you share it ?
      Thanks

      Reply
      1. tjaekel Post author

        Hi Bleu,
        the RPi Rasbian Linux for B+ should be out and available for download now. No need to go with patch (which is just for older B version).
        B+ and RPi-DAC should be supported via doing an update on RPi B+.
        Best regards
        Torsten

        Reply
        1. Bleu

          Thanks for quick feedback.
          I am on Volumio 1.41 and my i2s DAC is not seen by the Pi (using your wire plan) so I was wondering if this patch was already installed in Volumio Kernel.
          But may be I made wiring mistake.

          Reply
  4. Torsten Jaekel

    Hi Bleu,
    the wiring is not related to anything you can “see”.
    I would think, the modules for RPi-DAC (or HifiBerry) are not enabled. In Volumio you had to go to a confif menu (web page on browser) where you can select which DAC.
    If this Volumio version support already the B+ modules – I do not know. But I am quite sure the latest Rasbian Linux has support for B+ and I2S (all types of I2S DACs). Maybe you had to do also an update on Volumio.

    Best is to ask Volumio community if B+ DAC is already supported.

    The Patch I made is for older version of Rasbian Linux, no need anymore for latest Rasbian version. When doing an update you should get it.

    You have to bear in mind the following:
    older B I2S is on P5. Newer B+ has I2S on the GPIO header. But, different GPIOs (pins) are used. It is not just moving from one header to another, also other pin numbering. It is called “pinmux” and the Linux (I2S driver config) has to follow these changes: different pins have to be configured to provide I2S. Therefore you had to go with a Rasbian Linux kernel which will configure for B or for B+. Using older B config for B+ I2S cannot work.

    Reply
  5. Sverre Froyen

    Based on the Raspberry Pi documentation, the I2S clock pin can be input or output. Did you try to use the optional clock for the RPI-DAC as input to the Raspberry Pi? In principle, that should eliminate jitter.

    Reply
    1. tjaekel Post author

      Hi Sverre,

      in general a nice idea, but:
      a) The Rasbian driver has to configure then I2S as a slave device inside RPi. This feature is not there.
      b) The DAC has to be a Master device: it will not work with PCM1794A or PCM5102A, Durio Sound. Both are slave devices so that RPi has to generate I2S clock as master, as output. It might work with a Wolfson DAC but it would need also I2C for SW control and related config in DAC.
      c) Question is about which jitter we are talking:
      I) The I2S clock generator inside RPi, clock source: your idea can help here. But:
      II) the clock source on DAC has to be perfect, jitter free. The DAC would need a precision XTAL oscillator (as slave it does not need, lower BOM).
      III) The jitter due to software, Rasbian driver, e.g. not working seamless, not real-time capable. It will not help here.
      IV) The jitter due to original source, e.g. network, USB devices. It cannot cope with it.

      The best in terms of jitter is for my feeling: use a Dual DAC concept, DAC as slaves. It can reduce the jitter inside the DACs.

      BTW:
      Using I2S CLK as input on RPi, running the DAC as master – it makes it more complicated: the DAC has to know which clock to configure.
      It requires a control interface, e.g. I2C where the format to play has to be configured on DAC.
      The original, opposite way, DAC as slave, is charming because the DAC will follow automatically. The RPi driver will just generate the
      correct frame rate and clock and all fine. DAC does not need any control interface, it can be used in HW interface mode.

      Reply
  6. Axel

    Hi Torsten

    I do have two questeions:
    1. whre can I by the Durio Sound board (webstore that delivers to Germany). May be I overlooked it but neither, the US nor the Asian store had the board listed ?!?

    2. if the Durio Sound board is connected to the Raspberry (rather B+ or B?), will it be possible to connect a touchscreen simultaneously or do I have to decide – either Durio or Screen?

    Thanks for the help!
    Axel

    Reply
    1. tjaekel Post author

      Hi Axel (in English for all here),
      I am sorry, Gravitech might not have put on their web site, to order online.
      I will ask. I am not selling or offering an online order feature. I am sorry, orders for
      Germany will go also via Gravitech.
      They have just the Kickstarter linked on their site:
      http://www.gravitech.us/dusoonki.html

      Durio sound will work with Raspberry Pi B and B+. It uses just few GPIO pins from GPIO header (3x I2S signals).
      If you would need GPIO header as well (maybe for touch sensor), the header is still usable (with long legs for
      your extensions, except the I2S pins are used).
      For my knowledge, the LCD is connected anyway on the a different interface (LVI), one of the small ribbon cable header, the black
      one on RPi PCB. A real LCD is not connected really on GPIO, instead on dedicated LCD outputs, a different header. Just for touch controller, if SPI or I2C based, you might need GPIO header as well. But these pins are still free and available there.

      BTW:
      You can visit also the Durio Sound Wiki and forum, please see here:
      http://duriosound.knapzaq.com/wiki/index.php/Main_Page
      http://duriosound.knapzaq.com/#blog

      Best regards
      Torsten

      Reply
    2. Ken

      Has anyone been able to buy Products from tjaekel? I have not found any way to get price or info on purchasing these. What’s up with this.

      Reply
      1. tjaekel Post author

        I am sorry, I am not able to offer as a product order (I am private person).
        Please, await or try via Gravitech:

        As I know, the company is busy with the delivery of the Kickstarter orders. I think, they will provide ways to order soon, afterwards.

        Reply
  7. barsailer

    Hello,

    Durio sound looks very attractive but How to order ?

    Shannon from Gravitech annouced an availability on web for ordering in early December.
    We are almost 2015 and still nothing, and no way to get a forcasted date.
    Benoit

    Reply
    1. tjaekel Post author

      I am very sorry about this situation.
      I am affected as well: I have ordered 3 kits via Kickstarter and nothing received ’til right now.
      I am also very disappointed with Gravitech, their behavior to fulfill the shipment, meet announced deadlines.
      Even more frustrated that Durio Sound cannot be ordered via Gravitech online shop or not able to find any
      serious information about Durio Sound as a commercial product. For what reason Gravitech was running a Kickstarter
      and took money from customers?

      I would take it back from Gravitech and run it as my own product, but unfortunately I am too busy. I am focused on IoT,
      LoRa and no time left to reactivate the Audio by my own agaoin.
      I apologize. Let’s see if I can find a solution to provide RPi-DAC, Durio Sound etc. as a product for you.

      Torsten

      Reply
      1. snukka

        What is iot and Lora ? New DACs ?
        I won’t be buying from gravitech or durio they are not serioius. Please notify me when you have time to sell me via double mono DAC. Thanks!

        Reply
  8. dubl-a

    Hi
    I want to order your durio sound for my raspberry pi.

    However I need balanced xlr stereo outputs as well as a mono balanced xlr input for connecting to my microphone to record high res. Audio

    What do u suggest I purchase? Where can I purchase them?

    Reply
    1. tjaekel Post author

      Hi,
      you can get the Durio Sound from Gravitech:
      http://www.gravitech.us/

      XLR output is not there (needs a balanced driver). You could create your own extension board to convert RCA into XLR (e.g. via Balanced/Symmetrical OpAmps or
      wiring XLR on RCA, not the best way but might work).

      Input: there is not any ADC solution with Durio Sound. You might look at other sites, e.g. HiFiBerry (including to have also support on Raspberry Pi Rasbian for it).
      Connection a microphone is a separate topic, e.g. if if you need phantom power feed (48V ?) to it (assuming you want to go with high quality dynamic mics and XLR).

      My suggestion: look for Behringer studio audio equipment.

      Durio Sound is high quality DAC, audio out for Raspberry Pi.

      Best regards
      Torsten

      Reply
  9. Hugo

    Hi Torsten. I’m sad to read about your disappointment with Gravitech, which I understand completely, at least I recieved mine at last … I have a few questions that I think you could help me out with.

    1. RPi2, what do you think? Supported? Or is it even necessary? I’m deciding on which one to get :)
    2. Power supplies … I found these two locally:
    Mean Well RS-25-12, 25W 12VDC 2.1A — for internal mounting, I would like to use this, is it possible?
    Mean Well GS18A09-P1J, 18W 9VDC 2.0A — appropriate specs for a regular wall adapter, should work.
    3. Is there solder tabs for DC in? (for internal mounting of power supply)
    4. What is the best way to turn the Pi-DAc on/off? “safe shutdowns” etc. Is it possible to make a power switch?

    Have a good day — Hugo

    Reply
    1. tjaekel Post author

      Hi Hugo,
      I am happy meanwhile with Gravitech: the boards I have received are done very well, works well and meanwhile you can order online at Gravitech:
      http://www.gravitech.us/

      Regarding Raspberry Pi 2:
      We are working on it. We will provide an updated Rasbian kernel. It will work without a hardware modification, just an issue with the Linux drivers.
      Pitichai is working hard on it.
      You can visit also here:
      http://duriosound.knapzaq.com/
      http://duriosound.knapzaq.com/wiki/index.php/Main_Page

      So, Raspberry Pi 2 will not be a problem. You can go with it already, we think Rasbian kernel will run within the next 2 weeks.

      Power Supply:
      It depends a bit which version of Durio Sound you will go with: the Pro version has on-board SPS so that you can feed with 12V DC, also 9V AC would work (has a
      rectifier on board, for 2A). Suggestion is: 2A current (because RPi consumes a lot).
      9..12V DC, 2A is fine. Depends more on the DC plug (connector), a smaller one used. But you can use adapters or solder the one which fits.
      Just:
      12V should be the maximum DC voltage, 9V might better. Otherwise the SPS can get quite warm, but still OK and all in operation range. Higher as 15V you should not
      use because the electrolyte capacitors are just 16V on-board.
      Please, go with the second one, 9V 2A DC.
      The Basic version will use USB 5V power, there is not a SPS on-board and you should use a 2A USB power supply.

      Solder pads for DC:
      You can power DC on a DC plug, you can unsolder and use a header/wire there, or you can feed also on a header.
      There is one, maybe you had to solder a 1×2 header which is in front of the AC input (before rectifier, parallel with the DC plug).

      Powering off RPi:
      The Raspberry Pi does not have a power switch: if you plug in RPi power, e.g. USB, it starts booting. You should not switch off RPi in a hard way.
      You can have a switch, e.g. on your DC wall adapter. But do not use it to power off when RPi is running.
      The RPi runs Linux and you should shut down RPi with the Linux command. When it has the off mode (screen disappeared, LEDs on RPi off), you can unplug or switch off
      the DC power for all.
      Also running other Apps, e.g. Volumio, they have a “shut down” button or command.
      If you do not do this way – you can get a corrupted file system and you have to re-image the SD card.

      Best regards
      Torsten

      Reply
  10. Torsten Jaekel

    Durio Sound works with Raspberry Pi 2

    The master of the Durio Sound, Pitichai, got it working with Raspberry Pi 2. This one comes with Linux using the device tree, pin configuration for extensions etc.

    Here is part of his email:

    I got it work via Hifiberry DAC driver (due to build in kernel) on rasbian

    On Raspberry PI ver 2. It require to declare device tree and some overlay.
    http://www.raspberrypi.org/documentation/configuration/device-tree.md

    and configure pin out as here.

    http://www.raspberrypi.org/documentation/configuration/pin-configuration.md

    I will build durio sound and asking for pull request at Linux kernel not raspbian. Due to adding a new device I need to submit to linux directly.

    === Here what I put in my /boot/config.txt ===

    device_tree_param=i2c1=on
    device_tree_param=i2s=on
    device_tree_param=spi=on
    device_tree_overlay=hifiberry-dac
    ====================================

    Hope it will they accept my code. I saw a lot people keep asking for pull request, but they may have other priority.

    Reply
  11. Ketil Oppedal

    Hi,

    I have a setup using a DAC with volume control sourcing an analog signal processing cross over (ASP/XO) for actively driving the loudspeakers using a multi channel power amp. I want to use the Durio Sound adding a stepped attenuator as source instead. That is:

    Durio Sound –> stepped attenuator –> ASP/XO –> power amplifiers –> loudspeakers

    I have to decide wich impedance values to use on the stepped attenuator and would like to know the output impedance of the Durio Sound. Could you please help me out?

    Yours Sincerely,

    Ketil Oppedal

    Reply
    1. tjaekel Post author

      Durio Sound has an 2.1 Vrms output, for a regular power amp connected. There is also a 470R filter series resistor.
      Unfortunately, I do not know exactly the output impedance (and cannot measure).
      But I would assume if you go with 10K .. 20K output (input impedance on following unit), you should be on the safe side.
      I know Durio Sound can drive also low impedance loads, e.g. earphones. But 470R in series and I suggest not to connect 8R loudspeakers
      (even it might work but not very loud).
      For best results, low distortion I guess 10K or a bit larger is fine.

      Reply
  12. Thomas

    Hi,
    I got my Durio Pro but I’ve no idea which PSU I should buy. I saw some details here, but e.g. I’m not sure how the plug should be poled. Is anyone able to post e.g. an Amazon link, or a detailed product discribtion?

    Thanks a lot
    Thomas

    Reply
    1. tjaekel Post author

      Durio Sound comes with different options:
      if SPS is soldered (I guess Pro version), it can accept also AC, on the 1×2 pin header.
      There is also the DC plug. Actually, as common, center tap is positive, here it does not matter:
      even the DC plug goes to a bridge rectifier: so the polarization does not matter (if you see a 4 pin rectifier bridge
      below the DC plug). The DC input polarization can be both and does not matter.

      If you have a standard version where SPS is not soldered – it is powered from Raspberry Pi.
      Do NOT feed any other DC (DC plug and AC input should not be soldered, anyway).

      Reply
  13. Ste

    Hi Torsten,
    I’m very interested in the Durio Sound with the RPi2 but I really need a SPDIF Toslink INPUT.
    Is it possible to use the RPi-DAC S/PDIF, TOSLINK, (SPDIF to I2S) project you made for this?
    Can I buy it pre-assembled?
    Is it possible to:
    - listen to SPDiF IN and at the same time show HDMI (video) out?
    - use the SPDIF in as source and redirect to Analog out ?
    - at the same time use the GPIO for simple switches (ON/OFF)
    Thanks a lot (and compliments for this prj),
    Ste

    Reply
    1. tjaekel Post author

      Hi Ste,
      TOSLINK input on Raspberry Pi – I am also looking for a solution!
      There is not any driver for Raspberry Pi, as I2S input. Therefore, you cannot do.
      (if we had – potentially possible).
      But also: there is not any TOSLINK receiver on DurioSound (and all other sound cards).
      They use just I2S Out from Raspberry Pi, as a DAC.
      You are looking for something like an ADC. Again: no driver available to do so.
      (I want to write one, because I need as well. I have a HW ready, but not as Durio Sound,
      please see this link: http://www.tjaekel.com/lyrebird/gallery.html ,
      the first two pictures and solutions is exactly intended for such one, with additional STM32F7 Discovery).

      Best regards
      Torsten

      Reply
  14. Renne

    Is there any chance you’ll develop a Class-D power-amplifier for the RPi?

    I’m especially interested in one with active crossover for Bi-Amp speakers.

    Best regards,

    Renne

    Reply
    1. tjaekel Post author

      Active cross-over would be possible with my FPGA. It takes the RPi I2S, splits into lower and upper frequency range, can do some filtering, even up-sampling etc.
      Not a big deal to create an active cross-over with FPGAs (plus DACs afterwards).
      Question about power amps (class D or anything else): I do not develop and provide power amps (so many out there, e.g. I like Hypex: http://www.hypex.nl/ I have used few years back).
      I do not have a lab here (in CA, left in Germany) for amp development. And: not my focus, power amp needs also power supply, enclosure, speaker box design etc. and it is not my intention
      (done several years back).

      Reply
  15. Chris

    Hello!

    I am sorry for wasting your time, just a few questions..
    1. Where from the system clock is fed to the PCM1794 on your schematic? And, what value it has? According to the pdf from TI, it should adapt according to the sample rate of the signal..
    If the frequency is changing, how it`s done? The driver knows about that, what GPIO are used for that?
    2. What driver are you using? I want to use VLC, and the VLC player will see the soundcard being able to play any sample rate, or just a few?

    Please, I am sure you have the answers to my questions… I would be really happy to be able to use this DAC

    Is it to much to ask for your phone number?

    Best regards,

    Chris
    +49 178 763 1886

    Reply
    1. tjaekel Post author

      The PCM1794A has a system clock, MCLK. The RPi does not provide such one. Fortunately, the PCM1794 works as well, if MCLK is connected with BCLK (the same clock).
      The PCM1794A will follow automatically the sample rate, if BCLK is changing – the DAC will follow.
      The RPi has I2S signals on dedicated GPIO pins (look for the GPIO pinout). The I2S driver enables I2S (pinmux), internal clock to generate I2S as master output.
      The “rpi-dac” driver is used (or “hifiberry-dac” should work as well). It is a regular Linux ALSA audio system (or even PulseAudio) with an I2S device kernel driver.
      The application such as VLC will use the available, installed and enabled drivers (as any other audio application able to use ALSA).
      The driver has some limitations, e.g. S16_LE or S24_LE, stereo, not mono, and just 48KHz sample rate (I think). But the beauty of VLC is: it can adapt the sample rate
      before it sends audio to the driver.
      Sorry, I will not provide my phone number here: please go to http://www.tinfinet.com/ and you will find some contact information.
      Why you do not order a DurioSound (or HifiBerry) and test it? It works.

      Reply
  16. Ritwik

    I was looking forward to buying the dac but reading the above comments I wonder whether Gravitech will fulfill the order?

    Also, how much difference is there between Duriosound Pro and Duriosound dual mono by sound quality?

    Reply
    1. tjaekel Post author

      Hi ritwik,
      I am sorry, I do not know what happens if you order at Gravitech. If they list DurioSound as product to order, I assume (hope), they
      will also ship it. I do not have any relation to them.

      The differences are:
      DurioSound Pro: it should come with LDOs (power supply), to decouple power from Raspberry Pi (better to do)
      DurioSound Dual Mono: it uses two DACs, it will give you +3dB better SNR (half a bit more resolution, or 50% better sound quality).
      It will sound better and makes sense if your concern is to improve the audio quality.
      Best regards
      Torsten

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>