Building a discrete digital-analog-converter

Want to take back control of how your digital audio files become sound? One thing you can do is to build your own digital to analog converter. This one is made from discrete components, centered around a resistive ladder. Yes, there are a couple of integrated circuits in there which are used for demultiplexing the incoming signal but the magic happens in that R-2R network. The project is an interesting read and makes a point of looking at the issues raised when trying to precision match resistors. Apparently it can be done with 0.1% components if you have a lot of them and a multimeter that can measure down to seven decimal places.

[Thanks Bigbob]


  1. octel says:

    This reminds me of the ‘Covox Speech Thing’ marketed in the late 1980s as a cheap sound card for attaching to the parallel port of a PC.

    It had a very unique sound!

  2. Leigh says:

    Here’s a good and funny article about resistor tolerance and trying to get something better using an ohmmeter:

  3. sellout says:

    @octel – Good call, and thanks for the trip down memory lane.

  4. Napalm says:

    @octal – I put together one of those back in 2007. I did play around and add some other components to it after the picture was taken.


  5. mjrippe says:

    @Leigh – Great article, thanks for sharing!

  6. Erik Johnson says:

    This seems a bit complex, no? There’s no need for demultiplexing if your resistors are powers of 2 to each other (eg 1k, 2k, 4k, 8k, 16k, etc) straight from the address lines…?

  7. Icy says:

    If you’re interested in this, Horowitz & Hill’s Art of Electronics has this, along with an op amp based D/A but gives preference to the R-2R network.

  8. error404 says:


    I assume he’s referring to demultiplexing the two stereo channels from his I2S source (presumably to two identical DAC units). It’s a serial protocol, so some additional logic is also required to latch the samples onto the R2R ladder.

    If you’re interested, here’s the interface spec:

  9. MrX says:

    @Leigh Really funny. Thanks for sharing

  10. Justin says:

    I have been looking at doing this with a shift register for some lower bandwidth variable DC outputs for analog controls.

  11. nah! says:

    I want to hear the sound!

  12. icept says:

    Am I the only that read “discrete digital-analog-converter” and wondered how it differed from a continuous DAC?

  13. Grapsus says:

    I made one of those working on parallel port and was able to play 8bit wav files, it was awful quality, but so much fun.

  14. Aussietech says:

    Tom is coy about monotonicity (or lack of it).

    “While the measured performance is underwhelming …”

    I’ll bet it is.

    “Free for non-commercial use only”

    Far out humour Tom.

  15. fartface says:

    Very cool I put one of those together back in 1987 for my TRS-80 Color Computer. I write a speech synth in software and wanted a better sound output system.

    more electronics 101 stuff.

  16. jeff-o says:

    Sorry, I’m failing to see how this is better than a commercial DAC IC.

  17. Rob says:

    “This seems a bit complex, no? There’s no need for demultiplexing if your resistors are powers of 2 to each other (eg 1k, 2k, 4k, 8k, 16k, etc) straight from the address lines…?”

    I think “demultiplex” here means do a serial to parallel conversion. It’s a 16 bit DAC, not a 4 bit like it appears at first glance.

    “Sorry, I’m failing to see how this is better than a commercial DAC IC.”

    Sorry, Hack a Day really isn’t for you, is it?

  18. David says:

    Sometimes you have to remember because i can or wanted to see if i could is a reason to do something . You don’t always have to do something just to make it better than a commercial product.

  19. jeff-o says:

    Oh, I have nothing against doing stuff for the heck of it. I do plenty of that myself! But this looks like it’s being presented as a permanent solution to a problem that doesn’t need solving (or rather, has already been solved dozens of times.) A significant amount of time and money was spent developing this into some sort of rack-mounted DAC, and to what end? Bragging rights to a DAC that may or may not sound no better than an IC-based solution, while requiring more space and energy to run?

  20. Erik Johnson says:

    @Rob, ah you are correct – now it makes sense. Those chips are 74HC5958 shift registers, NOT demultiplexers

  21. natrix says:


    Using your logic, going to lab in engineering school would be pointless. What’s the point on creating an opamp from scratch using 6 or 7 transistors, a capacitor, and 2 or 3 resistors when you can go and buy one for $0.50?

    Uh, to learn how it works?

  22. Njay says:

    I remember the Covox very well, I still have it around somewhere I think… it was just a R2R DAC to connect to the parallel port, and yes, it sounded very good, almost as if you had a sound card :). I built mine some 20 year ago.

  23. therian says:

    just what I like

  24. nubie says:

    And thats the way, I LIKE IT!

  25. scatterbrained says:

    good write up about r/2r ladders

    (and yes, you can buy them pre-made and matched)

    I used 3 5-bit ladders to convert 555 RGB data into an analog RGB video signal for an LCD. worked like a champ.

  26. SteveG says:

    For further trips down memory lane…when Future Crew released their tracking software, ScreamTracker…they included a text based schematic to build a very simple parallel port DAC…the sound quality was mighty impressive considering the best sound card out at the time was the Creative Adlib. It made the whole demo experience much more entertaining, especially with the classic Unreal and Panic demos. We had fun building the entire circuit right on the parport plug itself, turning it into a dongle =) This definitely brought a tear to my eye, its been a long time since ive see a r-2r dac

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 96,530 other followers