Failed IO Pi Plus
The IO Pi Plus is a 32 channel MCP23017 GPIO expander for the Raspberry Pi
04/02/2021
Posted by:
PeterB
$ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
Address is currently set as 22/23.
Is there any chance of repair (what should I try replacing?) or should I consign the card to the junk pile?
04/02/2021
Posted by:
andrew
It looks like something is holding the I2C bus low which is why i2cdetect is showing devices on all addresses. Have you tried running i2cdetect without the IO Pi Plus or any other board connected to the GPIO header to rule out a problem with the Raspberry Pi?
If it is a problem with the IO Pi Plus you could try reflowing the solder joints on the connectors and components by holding a clean soldering iron on each joint for a couple of seconds. Hopefully, it is a dry joint or a small solder bridge between the connector pins that is causing the issue.
04/02/2021
Posted by:
PeterB
I am convinced that it is the IO Pi plus which has failed- with the IO Pi Plus removed, i2cdetect reports an empty grid. Installing another card reports the expected addresses. The problem occurs on more than one RPi.
Anyway, I will look into reflowing the joints, perhaps the soldering of the 0v pins on the GPIO connector is suspect - heat soak on the ground plane makes the soldering difficult. However, the board was working for several months and it is equally possible that a component has failed. The 23017 drives opto-isolated triacs with mains voltage, but a fault on that driver board (built on vero board!) could feed back to the IOPi. I really need to find some way of producing proper PCBs (with SMDs and with better separation of the LT/HT lines) here in Philippines!
04/02/2021
Posted by:
PeterB
I cannot find any deficiencies in the soldering, but I do get some strange resistance readings on one of the 23017 chips. Most of the external lines measure around 8Mohm to 0V, but one measures o/c and another measures around 40ohms. Someday I will lift that chip and try again.
Incidently, there seems to be some confusion between your published circuit diagram and the screen printing on the card - R1 against U1 and Bus 2, and R2 against U2 and Bus 1! I suspect that R1/U1/Bus1 and R2/U2/Bus2 is what was intended!
04/02/2021
Posted by:
andrew
Thank you for spotting the mistake with the bus names and the component numbers, I'm not sure how I messed that up. I have updated the schematic so bus 1 is now R2 and U2 and bus 2 is R1 and U1.
06/02/2021
Posted by:
PeterB
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.