Teensy 3.2 w/ I2C OLED + Audio Circuit = Noise When I2C is Transmitting Data

doxasound

New member
Hey all,

I'm working on a guitar pedal that uses a Teensy 3.2 with an OLED wired via I2C that also has a separate Reverb guitar effect in the same enclosure.

I'm running into a high pitched noise issue (sounds like those old dot matrix printers!), but this noise is only audible when the I2C pins are transmitting data to the OLED. So when the Teensy is transmitting the print data (u8g2lib library) to the OLED, I can hear a high pitched sound. As soon as it's sent, the noise stops.

At first I thought it was the OLED generating the noise, but it can display whatever text, and there is no noise. The noise is only there when transmitting data.

Here's everything I've tried:

-10uf + 100nf MLCC decoupling on the two 9v (I also have a 330nf decoupling cap here) to 5v regulators for the Teensy & the OLED. Same decoupling combination right at the Teensy's VIN/GND and right at the OLED's VIN/GND.
-Shielded wire for the OLED's SDA (data) wire. Length is about an inch long to the Teensy, too.
-Audio circuitry is on one side of the enclosure. Digital circuitry is on the opposite side.
-I tried my best to star ground and keep the audio grounds as separate as possible from the digital grounds.
-Lowering the I2C Bus clock speed which greatly affects the pitch/tone of the noise, but is still noticeable

At this point, I don't think it's an issue with sensitive circuits and their proximity to the SDA/SCL wire. It seems like it's just noise that's being injected right into the ground or audio path, if that makes sense?

I'd appreciate any or all comments, thank you!
 
Yes, I have this issue, too. I2C is very noisy. I tried to insert series resistors - did not help. Would like to know a solution for this issue, too...
 
Yes, I have this issue, too. I2C is very noisy. I tried to insert series resistors - did not help. Would like to know a solution for this issue, too...

I went to great lengths to reduce all forms of noise when designing my Teensy Guitar Audio Board. It requires a lot of considerations including:
- all audio grade, low-noise components in the audio path
- dedicated linear supplies for the analog audio, separate from the digital
- PCB current steering techniques to keep return currents from digital signals away from analog ground plane.

Don't underestimate the importance of the last one!

Apart from noise, you also need to worry about guitar pedals (or active pickups) built for 9V systems going into your ADC which is typically rated for 1Vpp or 3Vpp. Lots of people fry their ADC by sending too hot a guitar signal in from another effect, etc.
 
The Teensy and the Audio Circuits are completely separate. They do not connect to each other, other than the 9v power supply, so it's not a headroom issue.

I'm not sure it's any of the suggested above, as I've tried my best to consider all those (I've revised my layout several times. Also all analog circuits/signal ground are connected right at the 9v jack's ground. Digital circuits are connected to chassis ground via copper and one wire connects the chassis to the 9v jack's ground). I've tried "chop sticking" different wires to see if noise was affected at all, but the noise issue was consistent throughout.

100%, the noise is generated whenever the Teensy tries to send a I2C signal. Doesn't matter if I use shielded cable, the noise is still present.

Again, I've tried completely disconnecting the OLED (power, gnd, SDA, SCL, etc. all disconnected from the entire circuit), but I can still hear noise whenever my program outputs via the I2C Pins.

I'm going to try and switch over to SPI to see if that fixes everything, but man, would it be great to figure out why the Teensy' I2C pins are generating so much noise.
 
Success?

That is an awesome circuit! I should give that a try, soon!
Thanks Blackaddr for making your circuit available. I’m facing this issue and have gone with a complete redesign from 2 layer through hole to 4 layer smd with hopes that it will help the problem. I’m taking your return path comments to heart. I’m just starting the layout step now.

Doxasound, did you end up being able to quiet the i2c transmissions?

Any other hints would be welcome!
 
Back
Top