# MCP4725 I2C DAC: specs and pinout

> A single-channel 12-bit digital-to-analog converter chip with on-board EEPROM and an I2C interface. The facts below are for the MCP4725 chip; the…

[HTML version](https://soldr.ai/docs/components/mcp4725)

[Docs](https://soldr.ai/docs) / [Components](https://soldr.ai/docs/components)

A single-channel 12-bit digital-to-analog converter chip with on-board EEPROM and an I2C interface. The facts below are for the MCP4725 chip; the breakout module is not covered by an official document.

Every value cites its sourceChip-level pinout

[Buy on Compoden](https://compoden.com/products/mcp4725-i2c-dac-module-for-arduino-raspberry-pi-compoden)

## Specs

| Spec | Value | Source |
|---|---|---|
| Supply voltage VDD | 2.7 V to 5.5 V | source Section 1.0 Electrical Characteristics, Operating Voltage |
| Resolution | 12 bits | source Features, p.1 |
| Output range | Rail-to-rail; the DAC reference is VDD, so full scale equals the supply voltage | source Description p.1; Section 3.2 |
| Interface | I2C: 100 kHz, 400 kHz and 3.4 MHz modes | source Features, p.1 |
| I2C address | Device code 1100 followed by A2, A1 and A0; A0 follows the A0 pin, A2 and A1 are set at the factory | source Section 3.5 and Section 7.2 Device Addressing |
| Supply current | 210 uA typical, 400 uA max (unloaded, code 000h) | source Section 1.0 Electrical Characteristics, IDD |
| Output short-circuit current | 15 mA typical, 24 mA max (VDD = 5 V) | source Section 1.0 Electrical Characteristics, ISC |
| Settling time | 6 us typical | source Section 1.0 Electrical Characteristics, TS |
| EEPROM write time and endurance | 25 ms typical (50 ms max); 1 million cycles at 25 C | source Section 1.0 Electrical Characteristics |
| Operating temperature | -40 C to +125 C | source Section 1.0 Temperature Specifications, TA |

## Power

| | Value | Source |
|---|---|---|
| Supply | VDD 2.7 V to 5.5 V (chip) | source Section 1.0 Electrical Characteristics |
| Current | 210 uA typical, unloaded | source Section 1.0 Electrical Characteristics |

## Chip pins
These are the pins of the chip on the module, from the chip datasheet. The module's own header may label or expose them differently.

These are the chip pins of the SOT-23-6 MCP4725. The breakout module&#x27;s header order, pull-ups, address setting and any extra parts are not covered by an official document; check the silkscreen of the board you receive.

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| VOUT | Analog output voltage | 0 V to VDD | Chip pin 1 (SOT-23-6) | source Section 3.0 Pin Descriptions |
| VSS | Ground reference | 0 V | Chip pin 2 | source Section 3.0 Pin Descriptions |
| VDD | Supply and DAC reference | 2.7 V to 5.5 V | Chip pin 3 | source Section 3.0 Pin Descriptions |
| SDA | I2C serial data | | Chip pin 4; open-drain, needs a pull-up | source Section 3.0 Pin Descriptions; Section 3.3 |
| SCL | I2C serial clock input | | Chip pin 5; open-drain, needs a pull-up | source Section 3.0 Pin Descriptions; Section 3.4 |
| A0 | I2C address bit selection | tie to VSS or VDD | Chip pin 6 | source Section 3.0 Pin Descriptions; Section 3.5 |

## Build with it
Project ideas for the MCP4725 I2C DAC. Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [Programmable voltage source](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20programmable%200%20to%205%20V%20voltage%20source%20with%20a%20knob%20and%20OLED%20readout%20using%20an%20Arduino%20Uno%2C%20an%20MCP4725%20DAC%20and%20a%20potentiometer): On a 5 V Uno the output spans 0 to 5 V because VDD is the reference. The output can supply only milliamps (15 to 24 mA short-circuit), so use it as a control voltage.
- [Web-controlled voltage output](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20web%20page%20that%20sets%20an%20analog%20output%20voltage%20using%20a%20NodeMCU%20ESP8266%20and%20an%20MCP4725%20DAC): The ESP8266 has no true DAC; the MCP4725 runs at 3.3 V (2.7 to 5.5 V supply), so the output range is 0 to about 3.3 V.
- [ADC calibration loopback](https://app.soldr.ai/?prompt=I%20want%20to%20build%20an%20ADC%20accuracy%20check%20that%20feeds%20a%20known%20DAC%20voltage%20into%20an%20ADS1115%20using%20an%20Arduino%20Uno%2C%20an%20MCP4725%20DAC%20and%20an%20ADS1115): Both parts share the I2C bus; check that the two boards use different addresses before connecting both. Learning project.
- [Slow waveform generator](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20slow%20sine%20and%20triangle%20wave%20generator%20using%20an%20ESP32%2C%20an%20MCP4725%20DAC%20and%20an%20OLED): The 6 us settling time suits audio-range or slower waves; the I2C speed limits the update rate.

## Common mistakes

- The output swings from 0 V to VDD because VDD is the reference: on a 3.3 V board the maximum output is about 3.3 V, not 5 V (source: [link](https://ww1.microchip.com/downloads/en/DeviceDoc/22039d.pdf), Description and Section 3.2).
- The output is a voltage reference, not a power output: short-circuit current is 15 to 24 mA and the sheet specifies a 5 kohm load and up to 1000 pF capacitive load; buffer it for anything heavier (source: [link](https://ww1.microchip.com/downloads/en/DeviceDoc/22039d.pdf), Section 1.0 Electrical Characteristics).
- Do not write the EEPROM in a loop: a write takes 25 ms typical, new commands are ignored while it runs, and endurance is 1 million cycles. Use the plain DAC register write for continuous updates (source: [link](https://ww1.microchip.com/downloads/en/DeviceDoc/22039d.pdf), Section 1.0 and the write-command sections).

## Not covered by the official source

- The breakout module is not documented: pull-up values, the default I2C address (A2 and A1 are factory-set) and any regulator or level handling are not verified.
- Table values are cited by section, not by page number.

## Sources

- [link](https://ww1.microchip.com/downloads/en/DeviceDoc/22039d.pdf) (Microchip MCP4725 datasheet DS22039D, 2009)
