jremington:
For modules like that, you need only one I2C address, ever.
Connect a spare I/O line on the MCU to the address input A0 on each MCP4725 (center pin on the solder jumper), and set the IO pin to HIGH for any boards not addressed.
The module with LOW on that pin will be addressed at 0x60. Cycle through the sensors, setting the address pin of the active sensor LOW and the others HIGH.
I don’t have an MCP4725 to test, but it should be OK to leave the solder blob between A0 and GND (as the module is set by default), since according to the board schematic the pad labeled “GND” actually connects to GND through a 10K pulldown resistor.
However, if you have doubts, remove the solder blob and make the connection carefully, so that the center pad does not make contact with either of the other two pads. It is especially important that you do not connect an output pin set LOW to Vcc, or you will burn out that output pin.
It is a shame that Sparkfun engineers did not bring out the A0 connection to board edge connectors.
Hi, thank you for your response. I was able to narrow in on section 3.5 “Device Address Selection Pin (A0)” and think I may be reading it with new understanding based on your comment. Just to be sure I understand, conceptually, what you have told me and section 3.5 is saying is like this?
If we have 2 DACs one package fresh and the other with the alternate solder configuration and pullups disconnected, the I2C line connected to their SCL/SDA breakouts will set DAC-1’s A0 at 0x60 low and DAC-2’s A0 at 0x61 high when addressing DAC-1. Then vice versa when addressing DAC-2.
You are suggesting that, if I can find the A0 connection of the MCP4725 and solder this to a pin on the MCU, I can use both DACs package fresh, and set DAC-2’s A0 high/DAC-1 low, and the I2C will address DAC-1 at 0x60. Then, I can set DAC-1’s A0 high/DAC-2’S A0 low and the I2C line will now address DAC-2 at 0x60. Because of this method, any number of DACs can be used without altering the soldering configuration as long as we have a pin available that can manipulate the additional A0 pin on any additional MCP4625s.
Is this an accurate understanding? Thank you very much for your help.
Actually-- upon looking at figure 8-3 in the datasheet as well as 10, it looks like the A0 pin is middle pin in the group of pads labeled as “ADDR” on the top of the board, so to implement your solution I would have to de-solder that blob anyway?