DAC811: interfacing with Arduino/Teensy

Part Number: DAC811
Other Parts Discussed in Thread: DAC8811

Hello Team,

Can you please help me with resources and examples to work with the DAC811 and an Arduino or Teensy microcontroller. Especially with the connections between a microcontroller and DAC811.

Thanks in advance.


  • Hi,

    Can you let me know which version of the Teensy micro controller board are you using?

    Please share the schematics of the board and  I can help you with the connections between micro controller and DAC811.

    As such DAC811 is a parallel interface device and you can connect the DAC811 digital inputs to I/O of micro controller you are using.



  • Hi Akhilesh,

    I plan to use the teensy 3.2 and the teensy 3.6  in two seperate projects. I have attached the boards for your reference.

    I am wondering if there is a standard way of interfacing with an MC and essentially just the pin mappings need to be changed.

    Nevertheless, I have no experience in wiring up a parallel 12 bit DAC. I have worked with the arduino/ teensy and the MCP4921

    I know the teensy"s have their own dacs..  But i need a precision 10v + - without having to use too much aditional circuitry to multiply the output. 



  • Hi,

    How many IO's are free in your Teensy board? Do you have complete digital IO/s from Teensy for DAC8811?

    Please see the interface details from datasheet. Since the input latch is divided into three 4-bit nibbles , DAC8811 will permit interfacing to 4-, 8-, 12-, or 16-bit buses.

    If you dont want to go this route, you can opt for our serial interface mDAC's as well.



  • Hello AK,

    Nearly all the IO's are free because im only using the teensy for tx and rx for midi input and processing.  1 io for gate output and the builtin dac for 3volt pitch bend changes.

    In case of the teensy 3.6 there are plenty more digital and analog io's free.

    Unfortunately i currently only have quick access to the DAC811 readily available in India. I have been considering serial and spi dacs but their availability and price points dont make it feasible at this time. What wluld you suggest? 




  • Hi Richard,

    I will take over as AK is out on leave for a few more days.  If you have the IO pins available, then the DAC811 is still a good fit.  If you would like to experiment with a serial device as well, then you could look at one of our MDACs (DAC8811) or our DAC81402.



  • Hi Paul,

    A simple guide to wire up a microcontroller and DAC811 and the basic code for arduino or any microcontroller will be helpful at this point.

    I am assuming i need to wire up 12 digital pins from the MC to the DAC811... And the rest of the circuitry from the datasheet.

    I need help with the WR, LDAC AND N a, b, c pins. How do i conmect them? Digital io's?

    Any sample code for a microcontroller and DAC811 will be helpful.

    Apologies, i understand these are really basic and elementary.. But i am a beginner with this. 

    Much appreciated


  • Hi,

    I am assuming you have enough digital I/O's , Make the connections as per following. We will go ahead with 12bit interfacing, so that Na, Nb and Nc can be permanently tied to low.

    1. Connect DB0 to DB11 to digital I/O's ( preferably from the same port of Teensy)

    2. Make /LDAC signal connect to any of the digital output pin ( which can be controlled)

    3. Connect /WR signal to digital output as /LDAC

    As far as programming is concerned, this device doesn't have any register based programming. Just follow below steps

    1. First make sure the /LDAC is taken logic high

    2. Next make /WR logic low

    3. Transmit parallel DATA which you want to send to DAC811 ( DB0 to DB11)

    4. After transmitting, either you can take /WR to logic high and do the next step or just follow below step

    5. Take /LDAC signal logic low, so that data will be latched into DAC switches and you will get the desired output.

    min /LDAC low to high pulse should be 50ns, similarly /WR high to low and vice versa should be min 50ns

    Observe the timing diagrams in data sheet page no 4. Let me know if you need any more help



  • Hi AK,

    I will give this a try and let you know if I need any further help. I will close this thread post trying what you have suggested. 

    Thanks Mate.


  • AK, can I power the DAC811 with 12V and communicate with it via a Teensy that is powered by 5V who's IO pins only output 3V?

  • AK, can I power the DAC811 with 12V and communicate with it via a Teensy that is powered by 5V who's IO pins only output 3V?

  • Hi,

    Recommended operating voltages are the following.

    VCC/-VCC :  +/-12 or +/-15V

    VDD = 5V

    Since VIH is 2V, I believe this part can accept 3V logic levels. Needs to verify.



  • Hi AK and Team,

    Thanks for all the help. You previous post helped me get the DAC811 working. I also got some great insight from the Teensy guys which put everything into perspective.

    I am pasting the teensy support blob here incase it becomes useful for someone else.

    Once again, thanks for the effort to respond to an query that really had little or no input. 


    Richard Brookes


    "Wow, that's an old part. I'm assuming you mean this, right? https://www.ti.com/product/DAC811

    The good news is it uses TTL level inputs, where anything over 2V is logic high and anything under 0.8V is logic low, so it should be able to receive Teensy's 3.3V signals directly.

    There are several ways you could connect this to Teensy. Probably the simplest way would be to just connect all 5 of its control signals to GND and then use 12 pins for the 12 data inputs. I'd probably try that first and get the analog output working before attempting anything more complicated. This chip needs several connections on its analog pins to make the output the way you want... so if you're not experienced with this chip, I'd keep the Teensy side simple while you figure out the analog part.

    If you use 12 data signals, you'll probably want to also wire up a 13th signal from Teensy to the LDAC pin. You probably won't get all 12 to change at exactly the same moment. So you'll drive LDAC high to tell the DAC to ignore Teensy's pins, then get the 12 pins set the way you want, then drive LDAR low to tell it to update. That way the output won't momentarily skip to other voltages you didn't want while you set the 12 bits.

    Now, a word of warning. This ancient DAC requires 3 power supplies, +5V, +12V, and -12V. Any of these can instantly destroy Teensy if they touch the wrong place, even for just a brief moment. While Teensy 3.2 does have 5V tolerant inputs, that 5V tolerance only applies when the pin is disabled or configured for input mode. The 12 or 13 signals you will connect are all going to be using output mode. If 5V touches any of those signals, you can expect it to destroy your Teensy. Likewise for +12V or -12V - those will completely kill any Teensy if they touch anything other than GND (and might burn the board touching GND depending on how powerful your power supply is). You need to be extremely careful with your wiring. Especially those +12V and -12V wires are a disaster waiting to happen if they're not connected securely or any loose wire is able to accidentally touch them.

    Also, if +12V or -12V accidentally touches VIN or VUSB, it could damage your computer by feeding that higher voltage back into your USB port. Be careful."

  • Hi AK,

    After connecting the power pins and grounding all control pins... I am getting a 2.4v default output on all the data pins of DAC811. is that about right? is there a chance of this going over 3V in any case?

  • This are all digital input pins, so they are probably just floating to mid-rail.  I would not expect them to go above 3V once you have connected them to your host.