Gravity: MCP4725 12-Bit I2C DAC Module

SKU: DFR0552

This article provides an in-depth look at the Gravity MCP4725 12-Bit I2C DAC Module, covering its specifications including input voltage range (3.3V~5.0V), output voltage, resolution, working current, and interface type. Additionally, it offers a detailed description of the pinout with labels such as VCC, GND, SCL, SDA, I2C address, and DAC analog voltage output. The module is presented as a versatile component for electronics projects, especially for those requiring precise analog voltage output and integrating with Gravity I2C interfaces. Readers will find useful information on the dimensions of the module and its ease of use within various electronic applications.

Front of I2C 12-bit DAC module with microcontroller and capacitors-DFRobot product sku:DFR0552 image.
  • Docs
  • Tech Specs
  • 1. Example Code for Arduino-Calibration and Adjustable Analog Voltage Output

    The article offers an in-depth guide on calibrating and adjusting analog voltage output using Arduino and the MCP4725 DAC module. It covers essential hardware and software preparation, provides a wiring diagram, and includes sample code for accurate voltage output. The guide helps in eliminating output errors due to inaccurate reference voltage and provides a step-by-step calibration process using a digital multimeter.

    2. Example Code for Arduino-Store the DAC Value in EEPROM

    A guide for Arduino enthusiasts on how to store DAC values in EEPROM, includes hardware requirements, software setup, wiring instructions, and sample code to output and store analog voltage values using the MCP4725 library.

    3. Example Code for Arduino-Output a Sine Wave

    How to generate a sine wave using Arduino and MCP4725 DAC, detailing hardware/software setup, wiring, sample code, and results, enabling users to customize amplitude, frequency, and DC offset.

    4. Example Code for Arduino-Output a Triangle Wave

    How to use Arduino and the MCP4725 DAC module to output a triangle wave, providing detailed hardware and software setup instructions, sample code, and guidance on adjusting waveform parameters such as amplitude, frequency, DC offset, and duty cycle.

    5. Example Code for Raspberry Pi-Store the DAC Value in EEPROM

    The guide of storing DAC values in the EEPROM of a Raspberry Pi using the DFRobot Gravity 12-Bit I2C DAC Module. It details the necessary hardware and software preparations, connection setup, and provides sample code for implementation. The result is a consistent analog voltage output that is retained even upon repowering, showcasing the module's ability to recall stored values and output them effectively.

    6. Example Code for Raspberry Pi-Calibration and Adjustable Analog Voltage Output

    A detailed guide on calibrating and adjusting the analog voltage output of a Raspberry Pi using a 12-Bit I2C DAC module. It covers necessary hardware and software preparations, wiring diagrams, and step-by-step Python code execution, ensuring accurate voltage output. The guide also includes methods to modify Python programs using IDLE or nano editor, and emphasizes the importance of precise calibration with a multimeter to achieve desired voltage levels.

    7. Example Code for Raspberry Pi-Generate a Sine Wave

    This article guides users through generating sine waves using a Raspberry Pi and a 12-Bit I2C DAC Module, covering hardware setup, software installation, wiring diagram, and code execution to observe and adjust waveform characteristics.

    8. Example Code for Raspberry Pi-Generate a Triangle Wave

    Generate a triangle wave with adjustable amplitude, frequency, DC offset, and duty cycle on Raspberry Pi.

    Reference

    Specification

    Parameter Value
    Input Voltage (VCC) 3.3V~5.0V
    Output Voltage 0 ~ VCC
    Resolution 12-bit
    Working Current <0.2 mA
    Interface Gravity I2C (logic level: 0-3.3V)
    Dimension 27.0mm * 22.0mm

    Pinout


    Label Name Description
    + VCC Power VCC(3.3~5.0V)
    - GND Power GND
    C SCL I2C Clock Signal
    D SDA I2C Data Signal
    ADDR I2C address I2C address selection switch(0x60 or 0x61)
    VOUT VOUT DAC analog voltage output(0~VCC)

    FAQ

    • Pls, tell me how can connect with Gravity: Industrial Stainless Steel Submersible Pressure Level Sensor(0~5m) with this module ?

      The function of this module is to use IIC data to output the voltage of 0-VCC.
      Are you intend to power on the Gravity: Industrial Stainless Steel Submersible Pressure Level Sensor(0~5m)?
      You can connect the VCC and GND out from this module and VCC to +, GND to -.

      Or you just want a Digital Analog convertor?
      Maybe you can take a look at:
      https://www.dfrobot.com/pro...

    • Why the highest frequency of the waveform provided by the MCP4725 library is only as high as 100Hz? Is it possible the frequency can be set higher?
      The MCP4725 uses I2C to communicate with the controller. When using traditional controllers such as the Arduino, the fastest mode, Fast (400kbps), can only be used. Under such transfer speed, DAC module can barely reached 100 Hz. The MCP4725's I2C supports high-speed mode, High-speed (3.4Mbps), but most of the mainstream controllers does not support this I2C mode. In sum, limited by the communication interface, the output frequency is difficult to be further improved.

    Explore More Related Questions >

    Was this article helpful?

    TOP