Ruido con dfPlayer Mini

Hola buenas, gracias de antemano.

Estoy usando un módulo dfPlayer mini con un Arduino uno (no original). Lo que me pasa es que a la vez que suena la música, se oye un ruido un poco grave y como pulsante, siempre al mismo volumen. Me pasa lo mismo con un altavoz pequeño de 5 ohmios y con un reproductor de música conectado por jack. He revisado un montón de veces las conexiones y está todo correcto. Dejo el código que he usado, es una pequeña modificación de uno de los ejemplos de la librería para que simplemente reproduzca una canción.

[code]
/***************************************************
DFPlayer - A Mini MP3 Player For Arduino
 <https://www.dfrobot.com/index.php?route=product/product&product_id=1121>
 

#include "Arduino.h"  
#include "SoftwareSerial.h"   
#include "DFRobotDFPlayerMini.h"    

SoftwareSerial mySoftwareSerial(10, 11); // TX, RX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);    

void setup()
{ 
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);   //quitar
  
  Serial.println(); //quitar
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));

  
  if (!myDFPlayer.begin(mySoftwareSerial)) {  
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true);
  }
  Serial.println(F("DFPlayer Mini online."));
  
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30
  myDFPlayer.play(5);  //Play the first mp3

}

void loop()
{
 delay(3);
}

void printDetail(uint8_t type, int value){   
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }

}//printDetail

[/code]

Espero que alguno me pueda echar una mano. Muchas gracias!

Es muy probable que sea problema de alimentación.
Asegúrate que la misma sea suficiente.

Si no tienes osciloscopio te recomiendo que uses el tester (espero que si lo tengas) y midas entre bornes del módulo en AC para ver si encuentras una componente mas o menos importante en mV.
Si es el caso, usa un par de capacitores. Un electrolítico de 100uF y otro cerámico de 0.1uF. Estos capacitores colócalos sobre los bornes de VCC y GND del módulo. Soldados.
Prueba si continua.