I have a couple MCP4725 boards and I decided I want to copy the layout to KiCad so it's easy to use later in some CV/Gate interface for music production, volume control for an amplifier and so on. Those worked for me in Arduino, giving a stable amount of voltage.
Attention! Output voltage will depend on the input! To imagine how that works, let's say you have a 5V source. Integer you are sending using I²C varies from 0 to 4095 (12-bit). Now, when you have 5V input and 4095 on I²C, you'll have 5V on the output. If you set 0 on I²C, you'll get zero voltage. But you can put any value between 0 and 4095, too, getting all possible in-between voltages. Same goes for 3.3V.
MCP4725 chip works with both 3.3V and 5V input. It uses I²C interface to operate and needs SCL
and SDA
pins to communicate.
There is a library I used by Adafruit and I added it to the links.
When I used the chip, I found out there are several chip models and I²C address depends on the model and A0 pin, which might be useful to know.
SMD resistor on a jumper pad was marked 103
, so I'd say it's 10 kOhm resistor. Testing a real-life breakout board using Mastech MY-68 multimeter shows 10.03 kOhm
, which is close enough.
SDA
and SCL
resistors are marked as 472
, so I think those are 4.7 kOhm resistors.
Testing a real-life breakout board with a Mastech MY-68 multimeter shows 4.64 kOhms
, which is close enough, too.
This board is designed in KiCad 5.1.6. Issues and advices are welcome!
Arduino pin | DAC board pin |
---|---|
5V / 3.3V |
VCC |
GND |
GND |
A4 |
SDA |
A5 |
SCL |
There are several possible address value for MCP4725 chip.
Those depend on exact chip type and on A0
pin, which can be tied to Vss
or Vdd
.
I found addresses in I²C devices site and Adafruit demo.
My board from AliExpress had 0x60
address.
Part number | A0 state | Addr (hex) | Checked |
---|---|---|---|
MCP4725A0 | default / GND | 0x60 | ☑ |
MCP4725A0 | VCC | 0x61 | ☑ |
MCP4725A1 | default / GND | 0x62 | ☐ |
MCP4725A1 | VCC | 0x63 | ☐ |
MCP4725A2 | default / GND | 0x64 | ☐ |
MCP4725A2 | VCC | 0x65 | ☐ |
MCP4725A3 | default / GND | 0x66 | ☐ |
MCP4725A3 | VCC | 0x67 | ☐ |
It might be interesting to know that chips are packed in 6-Lead SOT-23
case which has a label on it.
So, if you see AJ25
label, your part is MCP4725A0
.
Part number | Option | Addresses |
---|---|---|
MCP4725A0 | AJ NN | 0x60, 0x61 |
MCP4725A1 | AP NN | 0x62, 0x63 |
MCP4725A2 | AQ NN | 0x64, 0x65 |
MCP4725A3 | AR NN | 0x66, 0x67 |
- Adafruit library
- Adafruit tutorial
- SparkFun breakout board
- EasyEDA version to compare the layout later by Alexander Burykin
- EasyEDA layout
- LCSC components to see the current price range. Currently it is around $1 and more for quantities less than 10, can be as low as $0.6 in large quantities.
- Additional documentation on MCP4725 (russian)