Extending DAC resolution using digital potentiometer

Posted on Monday, March 10th, 2014 in Arduino, AVR by DP


Kerry Wong writes:

One way to extend the resolution of a digital-to-analog converter (DAC) is by employing a sigma-delta converter in software. The main disadvantage of such approach is the slow speed. Alternatively, we can use some extra hardware to extend the usable resolution of a DAC. In this post, I will illustrate one such method to extend an 8-bit DAC to 16 bits using a digital potentiometer.
So why do we want to extend the resolution of a DAC at the first place? Well, one of the key reasons is to lower cost. A 8-bit DAC usually costs less than a dollar, whereas a 16-bit DAC can easily cost ten to twenty times more. Fortunately, with the help of a potentiometer we can make a high resolution DAC out of a low resolution one.

This entry was posted on Monday, March 10th, 2014 at 7:00 pm and is filed under Arduino, AVR. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

5 Responses to “Extending DAC resolution using digital potentiometer”

  1. JBeale says:

    Using a digital pot between two DAC outputs is perfectly valid. Does it really save money? The three parts in this circuit together are over $10 in unit qty: LTC1665 $3.55 + AD5206 $4.89 + AD8603 $1.69 = $10.13
    Compare that with a simple I2C 16-bit DAC like MAX5217 which is $3.00 from Digikey and no hand-selection of DAC channels needed.

  2. JBeale says:

    Or, for $8 each, you can get the AD5680 which is guaranteed 12 bit accurate and 18 bit monotonic, which may be better than the 8 bit dac + digipot could do.

  3. kdw says:

    I used AD5206 because that was the only digital potentiometer I have on hand, you can easily get a single channel digital pot for around $1. The same goes with LTC1665. If you use TLV5620, you can cut that cost by half as well.

    The main point of this post though was to illustrate another way of improving DAC resolution, but you are correct, MAX5217 is pretty good spec-wise.

  4. Drone says:

    Study the data sheets. Ask yourself how these digital potentiometers stack up when it comes to accuracy and resolution – pay attention to the temperature dependencies.

  5. vlad xxx says:

    atmega328 supports up to 16 bit pwm on timer1. ( pins 9, 10)

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Recent Comments

  • KH: TPS62200 will get him to under 15uA, a bit better than the 20-30uA he mentioned. I would try the same thing. Switch some resistors in...
  • KH: Yeah, it's an end-user thing. Very few people would spend hundreds of hours on this kind of project and sustain it. It's more or less...
  • Max: Not quite a dinosaur if you've seen Big Hero 6 though... wait. You've watched it with your kids, didn't you? That's cheating...! ;) One of...
  • Edward Mallon: A visiting researcher dropped by our humble basement workshop with questions about the physical skill level students would need if they added one of our...
  • KH: And that looks really expensive... Only browsed the vid though, I'm an dinosaur so I had the sound off too. Nice of him to open-source...