Sine Lab Puts Together a Discrete 14-Bit Digital-to-Analog Converter with "Millivolt Precision"
With a bunch of transistors, resistors, and a few more components, you too can put together a bulky-but-functional DAC.
Pseudonymous YouTuber "Sine Lab" has put together a 14-bit digital to analog converter (DAC) with a difference: it's manufactured from discrete components, operating with millivolt precision.
"[DACs] are readily available with multiple different options for resolution, precision, speed, and so on," Sine Lab explains of the project, inspired by a Texas Instruments DAC8831 integrated circuit. "And that got me thinking, what would it take to make a DAC yourself? Well, as it turns out, it is simultaneously simple and complicated. The idea is somewhat simple, but the execution isn't."
Sine Lab's design is technically known as a string DAC, which the YouTuber describes as "probably the simplest DAC there is" β a device made up of a series of switched resistors forming voltage dividers, which at its simplest with two switches and two resistors forms a one-bit DAC. Double the number of resistors and switches and you get a two-bit DAC; double them again to eight switches and eight resistors and you get a three-bit DAC β and you can continue this to create a string DAC of arbitrary resolution.
There's a downside, of course, as demonstrated by the classic parable of the grains of rice doubling on each square of the chessboard: exponential growth. Building a 16-bit string DAC would require 65,536 resistors and 65,536 switches β rather a bulky device. Sine Lab's solution: dividing the DAC up into multiple parts, with the outputs of one DAC going into the inputs of another. "If we were to do this with a 16-bit DAC," the YouTuber says, "and divide it up into two eight-bit DACs, then we'd reduce the component count from 65,536 down to just 513 plus two buffers, which is a massive improvement."
Sine Lab's own design doesn't go quite that far, settling on a six-bit string DAC using 64 resistors and 65 switches β initially planned as MOSFETs, though replaced by 74HC4051 multiplexers in the bulk of the string. The addition of an interpolation circuit then increases the resolution to 14 bits without requiring the same number of components as adding an entire second string β delivering the promised millivolt precision, albeit with a non-linear response.
The project is documented in full in the video embedded above and on the Sine Lab YouTube channel; a transcript is available on the Sine Labs website.