Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 5 of 5

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

Hybrid View

  1. #1
    Junior Member
    Join Date
    Apr 2019
    Posts
    3

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

    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!

  2. #2
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    5,673
    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...

  3. #3
    Senior Member Blackaddr's Avatar
    Join Date
    Mar 2017
    Location
    Canada
    Posts
    203
    Quote Originally Posted by Frank B View Post
    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.

  4. #4
    Junior Member
    Join Date
    Apr 2019
    Posts
    3
    Quote Originally Posted by Blackaddr View Post
    I went to great lengths to reduce all forms of noise when designing my Teensy Guitar Audio Board.
    That is an awesome circuit! I should give that a try, soon!

  5. #5
    Junior Member
    Join Date
    Apr 2019
    Posts
    3
    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •