I am having a heck of a time getting I2C working with MCP23017 port expander. I've checked the connections, verified the values of my pullup resistors (4.7k) and so on but code that has worked before isn't working for me on these new boards.
While looking at the board, I noticed my 0805 100nF bypass caps seem unusually thick – they're about as thick as they are wide. I don't have a capacitance meter, but my "component tester" says they are around 130uF, not 100nF. It's possible that my assembler screwed these up.
It doesn't seem like this should matter much, but there are about 10 of them on the board. Do you think this would make a difference? Yes, reaching for straws at the moment....
The caps to the right of the crystal are 22pF, and I expect 100nF (C53 & C2) should be about the same thickness.
100 µF capacitors in 0805 are pushing the limits of what can be achieved and they don't work nearly as well as physically larger 100 µF capacitors
I suspect that the 100 µF capacitors have a higher impedance than the 100 nF capacitors at the frequencies that you need them to work at, so you are not decoupling properly.
Can you replace the capacitors or just solder some 100 nF one on top to see if it makes a difference?
After looking at the datasheet, the square profile is the right aspect ratio for 100nF in this line of caps – usually they seem to be thinner.
I don't have a lot of faith in the readings of the component tester when hand-holding the leads. I suppose measuring in circuit, you're also measuring the total of all the caps in parallel. If I don't find another explanation for my I2C issues, I'll desolder one of the caps to be sure.
As he's measuring the total capacitance on the rail, 130uF sounds pretty spot on - you would expect an electrolytic or two on the rail, as well as a number of 100nF.
I don't quite see why the OP expects 0.1uF capacitors to be the same thickness as 22pF ones?, particularly as they are over 4,500 times larger in value. Does he expect a 4,500 gallon oil tank to be the same size as a gallon can?
I don't quite see why the OP expects 0.1uF capacitors to be the same thickness as 22pF ones?, particularly as they are over 4,500 times larger in value. Does he expect a 4,500 gallon oil tank to be the same size as a gallon can?
Once again, your experiences and mine may differ. Considerably. I have noticed over the years that fairly large 0805 caps, say 10uF, have a square profile. The stand noticeably taller on a PCB than 100nF or 22pF caps. While these smaller caps may not be the same thickness, in MY experience, they usually do not appear to be square.
One of my boards has three of these on board. Virtually every one requires my attention as Pin 1 on mine has a via too close to the pin. The solder flows through the via and leaves the pin just touching so I have to manually top this solder joint.. The pins on those of mine were ever so slightly raised up.
Once done they worked a treat. If they worked before, then this sort of thing should be looked into.
BTW, I don't think its the cap either. I once put 1uf by accident and they still worked.. It doesn't impede the signals only the power.
Is there just the one? I have another board that has one.. BUT a 3.3v PSU. the PSU had awful noise and the chip would not work.. Again like you the previous boards were fine.. There was an issue with the 3v3 rail.. The MCU was fine and as the LCD was sitting on 5v, that also was fine, but the SPI was up and down like a fart on the wind.. I was getting a 20mV noise, I has to really zoom in on the scope to see it. I banged anoth 10uf to "kinda" sort it.. The problem was with another SPI device on the system, but the expander looked like the issue. I know you said yours is I2C but same can happen.. Again the original board was fine..