DFR1035_1_Channel_15bit_I2C_to_0-VCC_DAC WIKI


DAC series modules are a range of products that can be controlled through I2C or PWM signals to generate voltage or current output signals. They possess the capability to produce a variety of analog voltage or current signals, including 0-5V, 0-10V, 0-2.5V, 0-VCC, and 0-25mA.

An analog quantity refers to the continuous variation of voltage magnitude (or current magnitude) within a specific range. Due to its stability, long transmission distance, and ease of use, it has found widespread application in the field of industrial automation control, including:

This series of DAC products not only offers a variety of output signal ranges, but also provides three selectable resolutions: 8-bit, 12-bit, and 15-bit. It allows for the choice of either single-channel or dual-channel configurations, and multiple modules can be cascaded to form a multi-channel output. When coupled with Arduino controllers, Raspberry Pi, STM32, and similar controllers, it finds application in various automation control scenarios, including:

The following table presents the functional parameters of each DAC product for reference in the selection process.

DFR1035 GP8512 (1-Channel 15bit I2C to 0-2.5V/VCC DAC Module)


This is a 1-channel analog voltage output DAC module with I2C communication, 15-bit resolution, and 0.01% output voltage linearity error. It is well-suited for control projects operating within the 3.3V range, such as ESP32, Raspberry Pi, STM32, and other microcontrollers that require analog signal output.

The high precision and resolution of this module make it suitable for control scenarios that require higher signal accuracy, such as fine speed control or angle control.




Name Description Remarks
12C Interface + Positive terminal of the power supply (3.3V-5V)
- Negative terminal of the power supply
0-2.5V/0-VCC Switching Switch 0-VCC Switch output voltage to 0V-VCC(Supply voltage)
0-2.5V Switch output voltage to 0V-2.5V
Voltage Signal Output Port VOUT Positive terminal of output voltage signal
GND Negative terminal of the output voltage signal



In this example,We will demonstrate the generation of distinct voltage values under two different conditions.

Input signal value range: 0 - 32767




#include <DFRobot_GP8XXX.h>

DFRobot_GP8512 GP8512;

void setup() {


    Serial.println("Communication with the device has encountered a failure. Please verify the integrity of the connection or ensure that the device address is properly configured.");

   * @brief. Set the output DAC value.
   * @param data. Data values corresponding to voltage values
   * @n (0 - 32767) This module is a 15-bit precision DAC module, hence the values ranging from 0 to 32767 correspond to voltages of 0-2.5V or 0-VCC respectively. The specific voltage range depends on the selection of the module's voltage fluctuation switch.
  GP8512.setDACOutVoltage(24903);//Output voltage of 1.9V under the 0-2.5V state and 3.8V under the 0-VCC state.

  //The set voltage is saved internally in the chip for power-off retention.

void loop() {



After downloading the program, the voltmeter was used to measure the actual output voltage of 1.9V under the 0-2.5V state and 3.8V under the 0-VCC state.

More Documents

DFR1035 Documents:



DFR1035_3D File.rar

DFR1035_2D_CAD File.rar

DFR1035_GP8512 Datasheet.pdf


For any questions, advice or cool ideas to share, please visit the DFRobot Forum.

DFshopping_car1.png Get 1-Channel I2C to 0-VCC DAC Module from DFRobot Store or DFRobot Distributor.

Turn to the Top