← All parts

MCP4725 12-bit DAC

MCP4725

Microchipinterface io display

The MCP4725 is a single-channel, 12-bit buffered voltage-output Digital-to-Analog Converter with on-board EEPROM. It controls over I2C, retains its setting through power cycles, and provides rail-to-rail output in a 6-pin SOT-23 package.

In stock

Specifications

9
Resolution
12 bits
Interface
I2C
Operating Voltage
2.7 to 5.5 V
Supply Current
400 µA
Power Down Current
2 µA
I2c Clock Speed Max
3.4 MHz
Settling Time
6 µs
Operating Temperature Range
-40 to +125 °C
Package
6-lead SOT-23

Pinout

6
PinNameFunctionsNotes
1VOUT
Analog voltage output
2VSS
GND
Ground
3VDD
POWER
Power supply; also the DAC reference
4SDA
I2C
Serial data line
5SCL
I2C
Serial clock line
6A0
External address select pin; tie to VDD or VSS

Interactive pinout

Highlight:
MCP4725

Click a pin to copy its name · tap a tag above to spotlight a bus.

Starter code

Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.

Arduino (C++)

Arduino library: Adafruit MCP4725

arduino
// MCP4725 12-bit DAC (I2C) — community starter example
#include <Wire.h>
#include <Adafruit_MCP4725.h>

Adafruit_MCP4725 dac;

void setup() {
  Serial.begin(115200);
  dac.begin(0x62);    // 0x60-0x67 depending on the board
}

void loop() {
  dac.setVoltage(2048, false);   // ~half of VDD
  delay(1000);
  dac.setVoltage(4095, false);   // ~full scale
  delay(1000);
}

MicroPython

MicroPython library: mcp4725 (wayoda/MCP4725 port)

python
# MCP4725 (ESP32) — community starter example
# No common driver: raw I2C fast-write of a 12-bit value
from machine import Pin, I2C
import time

i2c = I2C(0, scl=Pin(22), sda=Pin(21))
ADDR = 0x62

def write_dac(value):                 # 0..4095
    i2c.writeto(ADDR, bytes([(value >> 8) & 0x0F, value & 0xFF]))

while True:
    write_dac(2048); time.sleep(1)
    write_dac(4095); time.sleep(1)

Wiring

PinArduino Uno R3ESP32 DevKitC (WROOM-32)Notes
VDD+5V3V32.7-5.5 V; VOUT scales to VDD
VSSGNDGND
SCLA5/SCLGPIO22I2C clock
SDAA4/SDAGPIO21I2C data
VOUT--Analog output, 0..VDD

Typical uses

  • 12-bit analog output (control voltages)
  • Waveform / setpoint generation

Related parts

6