Arduino Due reproduce audio con bocina de celular?

Estoy intentando hacer un proyecto en conjunto con varios sensores y en la modalidad de querer reproducir un audio desde una micro sd para una alarma, compre una bocina de un celular y al conectar a la salida DAC del arduino Due el audio tiene un volumen muy bajo entonces quiero saber si se necesita un circuito amplificador para este tipo de bocinas.


Tambien por desinformación compre un speaker grove:
images
e intente reproducir audio pero se escucha mucha estatica y el audio como tal se escucha muy bajo, entonces quiciera saber si alguien sabe como hacer para tener un audio relativamente fuerte y claro Gracias
el codigo utilizado es el mismo codigo de prueba de Arduino Due Audio, lo adjunto

#include <SD.h>
#include <SPI.h>
#include <Audio.h>

const int chipSelect = 53;
int count = 1;
const int S = 1024; // Number of samples to read in block
int volume = 1024;

void setup() {

  // debug output at 9600 baud

  Serial.begin(9600);

  // setup SD-card

  Serial.print("Initializing SD card...");
  pinMode(4,OUTPUT);

  if (!SD.begin(chipSelect)) {

    Serial.println(" failed!");

    while(true);

  }

  Serial.println(" done.");

  // hi-speed SPI transfers

  // 44100kHz stereo => 88200 sample rate

  // 100 mSec of prebuffering.

  Audio.begin(88200, 100);
}

void loop() {
  // open wave file from sdcard
  File myFile = SD.open("test.wav");
  if (!myFile) {

    // if the file didn't open, print an error and stop

    Serial.println("error opening test.wav");

    while (true);

  }
  short buffer[S];

  Serial.print("Playing");

  // until the file is not finished

  while (myFile.available()) {
    
    // read from the file into buffer

    myFile.read(buffer, sizeof(buffer));

    // Prepare samples

    Audio.prepare(buffer, S, volume);

    // Feed sampletks to audio

    Audio.write(buffer, S);

    // Every 100 block print a '.'

    count++;

    if (count == 100) {

      Serial.print(".");

      count = 0;

    }

  }

  myFile.close();

  Serial.println("End of file. Thank you for listening!");

  while (true) ;
}

Moderador:
Por favor, lee las Normas del foro y no publiques la misma pregunta por cuanta sección e idioma encuentres.
Acabas de cometer un doble posteo o cross post.
El hilo en inglés se ha cerrado porque un moderador de ese idioma envió tu consulta a este foro.

Tal vez esto te sirva esta sugerencia basada en un LM386

El groove debería haberte funcionado (aunque entiendo que está diseñado para trabajar en el rango vocal y por lo tanto no es bueno con los agudos).

En el caso que lo hayas alimentado con fuente aparte, ¿uniste las masas del groove y el Due?

De acuerdo al esquema del fabricante, hay un condensador (C6) de 10uF entre la entrada y masa, yo lo eliminaría porque es el que "mata" los agudos.
Por lo demás es una sencilla aplicación del LM386 similar a la del video que te adjuntó @Surbyte

Saludos