

The Adafruit MCP4725 Breakout Board (Part ID: 935) is a high-precision digital-to-analog converter (DAC) that provides 12-bit resolution. This component allows for precise control of analog voltage output, making it ideal for applications where digital signals need to be converted into analog signals. The MCP4725 communicates via the I2C protocol, enabling easy integration with microcontrollers such as Arduino, Raspberry Pi, and others.








The following table outlines the key technical details of the Adafruit MCP4725 Breakout Board:
| Parameter | Value |
|---|---|
| Resolution | 12-bit (4096 steps) |
| Output Voltage Range | 0V to VCC (typically 3.3V or 5V) |
| Communication Protocol | I2C |
| I2C Address (Default) | 0x60 (modifiable to 0x61) |
| Supply Voltage (VCC) | 2.7V to 5.5V |
| Maximum Output Current | 25 mA |
| Power Consumption | Low-power operation |
| Operating Temperature | -40°C to +125°C |
| Dimensions | 25mm x 17mm x 2mm |
The MCP4725 Breakout Board has the following pin layout:
| Pin Name | Description |
|---|---|
| VCC | Power supply input (2.7V to 5.5V). Connect to the microcontroller's power pin. |
| GND | Ground connection. Connect to the microcontroller's ground. |
| SDA | I2C data line. Connect to the microcontroller's SDA pin. |
| SCL | I2C clock line. Connect to the microcontroller's SCL pin. |
| A0 | I2C address selection pin. Leave floating or connect to GND for 0x60, or VCC for 0x61. |
Below is an example of how to use the MCP4725 with an Arduino UNO to output a sine wave:
#include <Wire.h>
#include <Adafruit_MCP4725.h>
// Create an instance of the MCP4725 DAC
Adafruit_MCP4725 dac;
void setup() {
Serial.begin(9600);
Serial.println("Initializing MCP4725...");
// Initialize the DAC with the default I2C address (0x60)
if (!dac.begin(0x60)) {
Serial.println("Failed to find MCP4725. Check connections.");
while (1);
}
Serial.println("MCP4725 initialized.");
}
void loop() {
// Generate a sine wave using the DAC
for (int i = 0; i < 360; i++) {
// Calculate the sine value (scaled to 12-bit range: 0-4095)
uint16_t value = (sin(i * DEG_TO_RAD) + 1) * 2047.5;
// Write the value to the DAC
dac.setVoltage(value, false);
// Delay to control the frequency of the sine wave
delay(10);
}
}
Adafruit_MCP4725 library is used to interface with the DAC.setVoltage() function sends a 12-bit value to the DAC, which outputs the corresponding analog voltage.No Output Voltage:
Incorrect or Unstable Output:
Library Not Found:
#include <Adafruit_MCP4725.h>).Device Not Detected:
Q: Can I use the MCP4725 with a 3.3V microcontroller?
A: Yes, the MCP4725 is compatible with both 3.3V and 5V logic levels.
Q: What is the maximum resolution of the DAC?
A: The MCP4725 provides 12-bit resolution, meaning it can output 4096 discrete voltage levels.
Q: Can I use multiple MCP4725 boards on the same I2C bus?
A: Yes, you can use up to two MCP4725 boards by configuring their I2C addresses (0x60 and 0x61).
Q: Is the output voltage stable?
A: Yes, the MCP4725 provides stable output voltage, but ensure a clean power supply for optimal performance.
This concludes the documentation for the Adafruit MCP4725 Breakout Board - 12-Bit DAC.