Why is sound level so low in this even with LM386 module?

I built a .WAV file player using a Nano, an SD card reader and a LM386 200 gain audio amplifier module:
ezgif-5-86895af3dc
(from this page: https://quartzcomponents.com/blogs/electronics-projects/arduino-music-player-with-amplify-audio-using-lm386)
I did not include the 2 buttons as my code plays the single .WAV file automatically.

I use +5V from the Nano to power the card reader and LM386 module.The speaker is 8ohms, 1watt.

The LM386 module is this one:

The volume on this is very low. If you are more than a meter away it is barely audible. Turning the potentiometer on the module only has the effect of either shutting the sound off completely or keeping it at the same low level. There were 5 modules in a pack when I bought them and they all do the same thing.

I am using the TMRpcs library to play the audio file:

#include <SD.h>                      // need to include the SD library
//#define SD_ChipSelectPin 53  //example uses hardware SS pin 53 on Mega2560
#define SD_ChipSelectPin 10  //using digital pin 4 on arduino nano 328, can use other pins
#include <TMRpcm.h>           //  also need to include this library...
#include <SPI.h>

TMRpcm audio;   // create an object for use in this sketch

unsigned long time = 0;

void setup(){

  audio.speakerPin = 9; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc
  //Complimentary Output or Dual Speakers:
  //pinMode(10,OUTPUT); Pin pairs: 9,10 Mega: 5-2,6-7,11-12,46-45 
  
  Serial.begin(9600);
  if (!SD.begin(SD_ChipSelectPin)) {  // see if the card is present and can be initialized:
    Serial.println("SD fail");  
    return;   // don't do anything more if not

  }
  else{   
    Serial.println("SD ok"); 
    audio.volume(1);   
    audio.setVolume(4);
    audio.quality(1);
  }
  audio.play("mmash.wav"); //the sound file "music" will play each time the arduino powers up, or is reset
}

void loop(){  

  //blink the LED manually to demonstrate music playback is independant of main loop
  if(audio.isPlaying() && millis() - time > 50 ) {      
      digitalWrite(13,!digitalRead(13));
      time = millis();    
  }else
  if(millis() - time > 500){     
    digitalWrite(13,!digitalRead(13)); 
    time = millis(); 
  }

  if(Serial.available()){    
    switch(Serial.read()){
    case 'd': audio.play("music"); break;
    case 'P': audio.play("temple"); break;
    case 't': audio.play("catfish"); break;
    case 'p': audio.pause(); break;
    case '?': if(audio.isPlaying()){ Serial.println("A wav file is being played");} break;
    case 'S': audio.stopPlayback(); break;
    case '=': audio.volume(1); break;
    case '-': audio.volume(0); break;
    case '0': audio.quality(0); break;
    case '1': audio.quality(1); break;
    default: break;
    }
  }

}

Things I have tried:

  1. Powering the LM386 module separately
    (WITH THIS POWER SUPPLY for those who keep missing this section)
    IMG_7502

+5V (same result)
+9V (no sound except static)
+12V (no sound except static)

  1. Change the value for "setVolume" in code:
    (static or no sound at all at any value except 4)

  2. Built a standalone LM386 200 gain audio amp powered by +5V:
    (same result - low volume)

I guess I don't know enough about any of this to know how loud the thing should be. Maybe this is as loud as it gets? (but why no change in volume on the pot?..)

My only comparison is for this is that I once built a Simon-type game with a Nano, and, in my early electronics ignorance (now I have a-little-bit-later-but-still-early electronics ignorance), connected the 8-ohm speaker directly to one of the Nano GPIO pins. I know now you aren't supposed to do that... (although it has worked for 3 years without damaging the Nano or the speaker), but more importantly it is VERY loud without an amplifier. I would have thought using the LM386 module would make this be even louder. (I did connect the speaker one time directly to the Nano just to compare and the level is the same...low). The only real difference between the 2 projects is the source of the sounds. In the game, the Nano create the bleeps and bloops internally using "tone" , while this one the signal is being pulled off of an SD card.

Any ideas how loud this should be or how to make it louder?
Cheers

The Arduino is not a power supply, and the 5V output is designed to power at most a couple of low power sensors (a few milliamperes).

Use 5V power supply capable of delivering at least 1 Ampere, like a phone charge, to power the entire setup. For the Arduino, supply 5V to the 5V pin, not through Vin.

connected the 8-ohm speaker directly to one of the Nano GPIO pins

That is often a quick way to destroy the output pin, if not the entire processor! Even if your Arduino appeared to survive that, it has surely been damaged.

Since the module operating voltage is from 5 volts to 12 volts and you are not satisfied with 5 volts. try 12 volts and see how much louder the sound gets.

(from my post) Things I have tried:

  1. Powering the LM386 module separately:
    +5V (same result)
    +9V (no sound except static)
    +12V (no sound except static)
    (this was from a bench power supply)

Yep yep. Still works 100% but this isn't what I'm asking about here.

(from my post) Things I have tried:

  1. Powering the LM386 module separately:
    +5V (same result)
    +9V (no sound except static)
    +12V (no sound except static)

The LM386is a power amplifiers designed for use in low voltage consumer applications. The gain is internally set to 20 to keep external part count low, but the addition of an external resistor and capacitor between pins 1 and 8 increase the gain to any value from 20 to 200. This is from the data sheet. Also you are operating it at minimum voltage from what is NOT a power supply. Follow Paul_KD7HB's suggestion and use a higher voltage.
Rule #1 A Power Supply the Arduino is NOT.
Rule #2 Never connect anything inductive to an Arduino pin.

Not sure anyone is reading my original post all the way through but once again:
Things I have tried:

  1. Powering the LM386 module separately:
    +5V (same result)
    +9V (no sound except static)
    +12V (no sound except static)

Yes, I said this same thing in my original post (here:

.
This isn't relevant to what I'm asking but thanks for pointing it out again. What I was asking was why the sound is louder.

You shouldn't need any (voltage) gain at all with the LM386 powered from 5V, since the Arduino puts-out 5V.

(You do need current/power gain.)

Try the tone() function.

And/or try connecting your phone or your soundcard to the amplifier board.

P.S.
I wonder if there's something wrong with your WAV file?

CURRENT is important, and you completely forgot to mention it. The 9V PP3 batteries are for smoke alarms.

According to a schematic I dug up online, the LM386 on that breakout board is set up for a gain of 200. It's even got a 10uF cap on the bypass pin, which is good.

I wonder if you're having problems because the LM386 isn't handling the PWM input well. A rudimentary filter between the PWM output and the LM386's input might do the trick. Try putting the PWM output through a 270R resistor, followed by a 10uF cap to the LM386's input, and a 33n cap and 150R resistor to ground from the 270R/10uF junction.

Are you using the red and
black terminals on that pwr supply?

"+" and GND

I'll try this, thanks

You put your voltmeter there and it's right?

Same file plays loudly through computer speakers. I have tried other files and they do the same thing.

Not sure what you're asking but 9V on supply shows 9V on DVM:

That's a much clearer picture there. Thanks.
Some supplies have a Green 'earth' terminal that gets labelled 'GND'.
What if you go from '+' to '─' ?

Not sure if you can make it out in picture but there is s metal strap across both "-" and GND tying them together.

I am looking at your module picture and comparing to a schematic for an LM-386 amplifier. Your module has a D1 for some reason and my sample schematic shows no diodes used for any purpose. DO you have a schematic for the module that shows what D! is being used for? Could that be interfering with your audio?

No schematic available for it that I could find.