DESCRIPTION
Your microcontroller probably has an ADC (analogue -> digital converter) but does it have a DAC (digital -> analogue converter)? Now it can! This breakout board features the easy-to-use MCP4725 12-bit DAC. Control it via I2C and send it the value you want it to output, and the VOUT pin will have it. Great for audio/analogue projects, such as when you can’t use PWM but need a sine wave or adjustable bias point
Adafruit has broken out the ADDR/A0 pin so you can connect two of these DACs on one I2C bus, just tie that pin of one high (or close the jumper on the back) to keep it from conflicting. Also included is a 6-pin header, for use in a breadboard. Works with both 3.3V and 5V logic.
Some nice extras with this chip: for chips that have 3.4Mbps Fast Mode I2C (Arduino’s don’t) you can update the Vout at ~200 KHz. There’s an EEPROM so if you write the output voltage, you can ‘store it’ so if the device is power cycled it will restore that voltage. The output voltage is rail-to-rail and proportional to the power pin so if you run it from 3.3V, the output range is 0-3.3V. If you run it from 5V the output range is 0-5V.
It comes with a bit of 0.1″ standard header in case you want to use it with a breadboard or perfboard. Four mounting holes for easy attachment. There’s an optional 3.5mm terminal block (not included) spot on the PCB that you can solder in place if you like.
They have an easy-to-use Arduino and CircuitPython/Python library and tutorial with a triangle-wave and sine-wave output example that can be used with just about any microcontroller or microcomputer with an I2C host.
To get you going fast, they have spun up a custom-made PCB in the STEMMA QT form factor, making it easy to interface with. The STEMMA QT connectors on either side are compatible with the SparkFun Qwiic I2C connectors. This allows you to make solderless connections between your development board and the MCP4725 or to chain it with a wide range of other sensors and accessories using a compatible cable.
RESOURCES
- Datasheet, Fritzing, and EagleCAD PCB files
- Easy-to-use Arduino and CircuitPython/Python library and tutorial eith examples