We have two MCP4725 I2C's and other devices running one one Arduino I2C channel and get occasional lockups of the processor. Take one of them off the circuit and works fine. I see where both MCP4725's have pull up resistors, should both of them have them ?
To be precise, the I2C circuit chains from the Arduino Nano to a DS3231 clock board then to a MCP4725 then to the second MCP4725. It appears to hang on the I2C circuit and if we take the last device, the MCP4725 out of the circuit, runs fine.
I have read most of the I2C circuit design literature and am not clear on the pullup resistors need for all devices.
Any help is appreciated.
Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK UPS
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- shafermike
- Posts: 4
- Joined: Fri Oct 20, 2017 1:51 pm
- adafruit_support_bill
- Posts: 88088
- Joined: Sat Feb 07, 2009 10:11 am
Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK
The pullups we install are 10K which are a bit on the 'weak' side. This allows you to have several devices on the bus without having to worry about pullups. If you have too many, the combined pullups in parallel can become too strong and interfere with communication. The critical point is usually more than 3 devices, but that may vary with bus length and wiring. Have you tried removing one of the other devices from the bus to see if that makes a difference?
- shafermike
- Posts: 4
- Joined: Fri Oct 20, 2017 1:51 pm
Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK
Yes, it we leave the two DAC's and pull the clock board, it is stable. I assume we can remove the pullups on the MCP4725's ?adafruit_support_bill wrote:The pullups we install are 10K which are a bit on the 'weak' side. This allows you to have several devices on the bus without having to worry about pullups. If you have too many, the combined pullups in parallel can become too strong and interfere with communication. The critical point is usually more than 3 devices, but that may vary with bus length and wiring. Have you tried removing one of the other devices from the bus to see if that makes a difference?
- adafruit_support_bill
- Posts: 88088
- Joined: Sat Feb 07, 2009 10:11 am
Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK
Yes. Removing one or two sets of pullup should work.
- shafermike
- Posts: 4
- Joined: Fri Oct 20, 2017 1:51 pm
Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK
Can you show the positions of the resistors on the board ?adafruit_support_bill wrote:Yes. Removing one or two sets of pullup should work.
- adafruit_support_bill
- Posts: 88088
- Joined: Sat Feb 07, 2009 10:11 am
Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK
The two circled in red below.
- Attachments
-
- Capture.PNG (371.73 KiB) Viewed 625 times
- shafermike
- Posts: 4
- Joined: Fri Oct 20, 2017 1:51 pm
Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK
Thanks SO much !adafruit_support_bill wrote:The two circled in red below.
Please be positive and constructive with your questions and comments.