Electronic – arduino – RGB LED strip, powered by an ATX PSU and controlled by PWM, makes the speakers buzz with Arduino connected by USB

arduinoinductanceled stripmosfetpwm

I've not much idea about electronics, but I managed to do some little projects in the past. Now I'd like to place some RGB LEDs in my desktop PC windowed case. For that, I bought a 5050 SMD strip with 300 RGB LED's (5 meters). Now I want to control it with an Arduino Uno.

I followed these two tutorials:

RGB LED Strip Controlled by an Arduino

*notice there is a misplaced resistor on red color

Adafruit Tutorial – RGB LED Strips

I'm using IRFZ44N MOSFETs, as shown in the first tutorial. The LED strip is being powered with 12V from an ATX PSU (not the one in my computer). I want to power (and send serial data to) the Arduino board by using an USB cable connected to the computer.

Everything is working, but my problem is that I get noise into my speakers (monitor built-in) when:

  1. PSU is powering the LEDs.
  2. PWM values are varying (color fading).
  3. The USB cable is connecting the Arduino and the computer.
  4. Audio cable is connecting the monitor and the computer (or my project's GND).
  5. Speakers (monitor) are on.

I saw very few similar cases on internet. They speak about capacitors and inductors, but I can't get what and where should I be adding to my project.

Update: It tried by powering my LEDs with a wall AC adapter at 9V and 12V and the noise disappeared. But I still need to know how to remove the noise when using a computer ATX PSU like this:

ATX PSU

Best Answer

Please use an opto-isolated device to trigger or replace the FETs and share your results.

This will isolate the (ATX1 + FET + LED) circuit from the (ATX2 + Arduino + speakers) circuit.

Edit:
The power supplies are SMPS operating at different frequencies. You have tied their grounds together and are grounding signals from one through the other. The speakers' V- (ATX1 + ATX2) is fluctuating at a different frequency than its V+ (ATX2 only) so, you hear noise. You may have overlooked that the monitor is grounded through it's own power cable and ATX2 (via the video cable).