PIC18F26K22 I2C Slew Rate issue

Thread Starter


Joined Oct 25, 2011
Hello to everyone !

I am currently working on a portable radio project using TEF6686 tuner module using PIC18F26K22 and a SPI LCD module EADOGM 132.

My issue is as follows:

If I try to read data from the TEF6686 on I2C bus, I can hear the data transaction in the speaker on some certain signal level conditions on FM band/AM band.
On really weak stations there is no I2C bus noise, on strong stations there is no noise. Only on some intermediate signal level, the bus activity can be heard and is annoying.
On AM band is really a disaster. If there is no bus activity, all gets quiet, but the problem is that I want to read signal quality and RDS data (on FM band) to print on display.

If I disable slew rate control then is really a mess. With slew rate limit on, there is some improvement, but not too much.
Could this be a slew rate problem ?

I have seen some videos on youtube with people using Arduinos and they didn't seem to have this issue., even using breadboards with long wires going everywhere.
My circuit is made on a small PCB and layed out pretty well, I think.

Should I consider trying out some other micro ? I was looking at the 18F26K42 and that seemed interesting, it has some registers for configuring the I2C slew rate, but I have no idea if that would do much...

What is your opinion, am I missing something ?

Ian Rogers

Joined Dec 12, 2012
Two things.... How fast is your I2C bus? and what size are your pullup resistors... The pic midrange is capable of 1Mhz on the I2C but as most devices are still using 400Khz.. Your module is a 400Khz device.

If you are hearing data transactions via the speaker, Well that suggests a design issue.. Can you show us the schematic?