Resistor values for an 2/2R ladder-based DAC

Discussion in 'General Electronics Chat' started by vpoko, Jan 5, 2012.

  1. vpoko

    Thread Starter Member

    Jan 5, 2012
    (Sorry for the typo in the title, it's an R/2R ladder).

    I'd like to build an 8 bit R/2R ladder-based DAC (with output buffer) to use for outputting low-fi audio from a microcontroller. What factors influence which exact resistor values I should use? I know I need two resistor values, one having double the resistance of the other, but how high/low do I aim? At the very least I assume they need to have enough resistance so I don't source too much current from my uC, but that still leaves quite a range.

    I'm guessing this is related to input/output impedance of my DAC, but my understanding of those concepts is, shall we say, incomplete.

    Thanks for any help anyone can provide!
  2. Markd77

    Senior Member

    Sep 7, 2009
    I'd aim high, maybe around 100K, 200K. At lower values, you will find that the 5V you thought was coming out of the microprocessor pin has dropped a little and the 0V has risen a little. These differences would reduce the linearity. For best results get at least 1% tolerance resistors, preferably 0.1%.
    vpoko likes this.
  3. crutschow


    Mar 14, 2008
    Why you you build one when single chip DACs are so cheap and plentiful?:confused:
    vpoko likes this.
  4. Adjuster

    Well-Known Member

    Dec 26, 2010
    Don't be tempted to make the resistors too big though (many megohms?) as you may not get sufficient bandwidth - parasitic capacitances will have more effect. The input impedance and bias current of the amplifier following the resistors could also become a problem, as may other leakages.

    Noise voltage also increases with resistance, though I doubt that it will be a problem in the sort of application you're planning (8 bits?).

    Finally, it may not be as easy to get accurate resistors in very high values.
    vpoko likes this.
  5. vpoko

    Thread Starter Member

    Jan 5, 2012
    Purely for the learning experience.

    Thanks everyone!