Support Forum

Share your projects and post your questions

Register   or   Sign In
The Forum

ADC Pi overheating

1 Views - Created 31/10/2023

31/10/2023

Posted by:
super-e-

super-e- Avatar

Hi,
First time writing in this forum, hope I'm not breaking any rules nor etiquette.

I have a ADC Pi that was working fine connected to my RPi Zero W till few days ago, lately instead when I try using it via python I get the following error:
Traceback (most recent call last):
File "/home/pi/garagedoor.py", line 87, in

31/10/2023

Posted by:
super-e-

super-e- Avatar

Hi,
First time writing in this forum, hope I'm not breaking any rules nor etiquette.

I have a ADC Pi that was working fine connected to my RPi Zero W till few days ago, lately instead when I try using it via python I get the following error:
Traceback (most recent call last):
File "/home/pi/garagedoor.py", line 87, in module
main()
File "/home/pi/garagedoor.py", line 66, in main
adc = ADCPi(0x6A, 0x6B, 12)
File "/usr/local/lib/python3.9/dist-packages/ADCPi/ADCPi.py", line 211, in __init__
self.set_bit_rate(rate)
File "/usr/local/lib/python3.9/dist-packages/ADCPi/ADCPi.py", line 445, in set_bit_rate
self.__bus.write_byte(self.__adc1_address, self.__adc1_conf)
File "/usr/local/lib/python3.9/dist-packages/smbus2/smbus2.py", line 414, in write_byte
ioctl(self.fd, I2C_SMBUS, msg)
OSError: Input/output error

and even after few minutes of being powered the component has a typical "hot circuitry" smell and especially the back side at the center of the board, beneath the MCP3424 chips.

Is my ADC Pi toast? is there anything I could try?
As a side note, I tried putting both a ADC-DAC Pi and ADC Differential Pi on the same RPi Zero W and they do not overheat.

Thanks for your help.
-E-

31/10/2023

Posted by:
andrew

andrew Avatar

Location:
United Kingdom

andrew Twitter  andrew Website  

Hi

The OSError: Input/output error normally means the Raspberry Pi can no longer communicate with the ADC Pi over the I2C bus.

A "hot circuitry" smell is normally a sign that either one or both of the MCP3424 chips have probably developed a fault. Was anything connected to the ADC Pi when it stopped working?

If you run the command "sudo i2cdetect -y 1" with the ADC Pi connected, do either of the ADC chips appear in the listing? They will normally show up on 0x68 and 0x69. If one of the chips still appears on the bus, that will allow you to know which has failed.

You could also try running the "sudo i2cdetect -y 1" with the ADC Differential Pi connected to ensure there isn't a fault with the I2C bus on the Raspberry Pi.

31/10/2023

Posted by:
super-e-

super-e- Avatar

Hi Andrew,
first of all many thanks for your prompt reply, I really appreciate.

The ADC Pi was connected to a draw wire linear encoder for a small home project, but the connections and voltage range should be safe to use, not what might have caused the issue.

Your suggestion was indeed useful, with the i2cdetect command I see the 0x69 chip is responding while the 0x68 is not.
Is there a way to by-pass the 0x68 chip and work with the second unit only?

I tried replacing
adc = ADCPi(0x68, 0x69, 12)
with
adc.set_i2c_address1(0x69)
adc.set_bit_rate(12)

but I'm receiving the same error as before.
Any suggestion is appreciated.
Thanks
-E-

31/10/2023

Posted by:
super-e-

super-e- Avatar

Little update, I tried with adc = ADCPi(0x69, 0x69, 12) and it seems not bothered by the same address used twice, in fact seems reading voltage from the last 4 channels correctly. I'll finalize the connections and test appropriately.
Thanks again
-E-

31/10/2023

Posted by:
andrew

andrew Avatar

Location:
United Kingdom

andrew Twitter  andrew Website  

If 0x68 is not responding, but 0x69 is, it sounds like the ADC for channels 1 to 4 has died. If you only need 4 channels, using adc = ADCPi(0x69, 0x69, 12) will allow you to bypass the dead ADC chip.

Before connecting your linear encoder to the other ADC chip, it may be worth checking the voltage with a multimeter to make sure it does not go above 5V. Also, check that the cable from the encoder to the ADC does not run parallel to any high-voltage wires, as this could induce voltage spikes on the ADC cable.

09/11/2023

Posted by:
super-e-

super-e- Avatar

Reporting back after a week, using the 0x69 chip works smoothly, as I just needed 1 channel out of the 8. Now I have an amazing smart garage door opener with exact door position, full integration in Home Assistant, voice control and so on.
It's my first such DIY project (I'm a software guy) and I'm very proud.
Thanks Andrew for your help, saved me the cost of a new ADC to say the least.
Cheers
-E-

Sign in to post your reply

Note: documents in Portable Document Format (PDF) require Adobe Acrobat Reader 5.0 or higher to view.
Download Adobe Acrobat Reader or other PDF reading software for your computer or mobile device.