Music maker shield problems

Adafruit Ethernet, Motor, Proto, Wave, Datalogger, GPS Shields - etc!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
bowlofred
 
Posts: 31
Joined: Thu Jan 19, 2012 8:01 pm

Music maker shield problems

Post by bowlofred »

I have a music maker shield (with the amplifier). Had it working wonderfully for a couple of days. Moved back to the bench to work on some things and it didn't play when I plugged it in. The console shows the simple "Couldn't find VS1053, do you have the right pins defined?". I uploaded the sample sketch again (making sure the Shield object is selected and not the breakout one) and I get the same behavior.

I can use a multimeter and tell the shield has power, and I here a normal "click" from the speakers when I press reset. But otherwise, I can't think of anything I can do next for troubleshooting. I don't have a scope.

I've gone along and tested for any obvious bridging on the soldering, and I didn't turn up any. Since it was working in this exact config, I don't think I have a sketch issue. I'm more worried I've done something else to it.

Any suggestions for how to see what the problem might be?

Thanks!

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Music maker shield problems

Post by adafruit_support_mike »

Post a photo of your hardware and we'll see if that tells us anything.

User avatar
bowlofred
 
Posts: 31
Joined: Thu Jan 19, 2012 8:01 pm

Re: Music maker shield problems

Post by bowlofred »

Any particular thing best to see?
IMAG0321.jpg
IMAG0321.jpg (300.08 KiB) Viewed 741 times

User avatar
bowlofred
 
Posts: 31
Joined: Thu Jan 19, 2012 8:01 pm

Re: Music maker shield problems

Post by bowlofred »

Is there any easy way to probe what sort of communication is happening with the shield? I'd imagine that all sorts of different issues will all result in a failed object open.

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Music maker shield problems

Post by adafruit_support_mike »

A multimeter isn't fast enough to collect useful information about an audio circuit. It's the kind of job that really does call for a scope.

Your soldering looks pretty good.. a little more solder than is strictly necessary, and it would probably be a good idea to wash off the flux. I've recently found that hand sanitizer and a toohbrush do an excellent job. The joints look sound though, and I don't see any of the usual show-stoppers like solder bridges or incomplete pin connections.

Let's check the SPI bus: put a microSD card in the holder and see if you can get any of the example sketches from the SD library to run. If you can communicate with the card, we'll have evidence that SPI works in general.

User avatar
bowlofred
 
Posts: 31
Joined: Thu Jan 19, 2012 8:01 pm

Re: Music maker shield problems

Post by bowlofred »

Hmm. Fortunately or unfortunately, it is working now. I plugged it in and before even uploading a new sketch to test the SD card, it began playing like it did before. As you can imagine, the output now no longer gives the "couldn't find" messages, and SD sketches work great as well.

So for now, I can't reproduce the problem. Happy it's working, bummed I can't identify what happened.

Thanks for the info on the flux also. (I am using SAC305 from the store). I have 90% isopropyl available. Can I assume that's as good for cleaning?

User avatar
bowlofred
 
Posts: 31
Joined: Thu Jan 19, 2012 8:01 pm

Re: Music maker shield problems

Post by bowlofred »

Darn. Something does appear to be wrong.

I have it playing some tracks, one after another. But at some point, it just stops playing, no audio.

Here is a snippet of my loop. This portion runs when triggered by a button.

Code: Select all

  musicPlayer.reset();
  Serial.println(F("Playing tracks"));
  musicPlayer.playFullFile("LUL/1.M4A");
  musicPlayer.playFullFile("LUL/2.M4A");
  musicPlayer.playFullFile("LUL/3.M4A");
  musicPlayer.playFullFile("LUL/4.M4A");
  musicPlayer.playFullFile("LUL/5.M4A");
  musicPlayer.playFullFile("LUL/6.M4A");
  musicPlayer.playFullFile("LUL/7.M4A");
  musicPlayer.playFullFile("LUL/8.M4A");
  musicPlayer.playFullFile("LUL/9.M4A");

  Serial.println("Done playing music");
}
It will randomly stop playing between tracks but does eventually print the "Done playing". So it seems to know that it is supposed to be playing, and how long the tracks are.

If if failed and said done immediately, I would suspect problems reading the SD card. Before I added the "reset" at the top of the loop, it would print playing again, but no audio would come out. With the reset, I get the audio again on button press.

Possibly an SD card issue, or something else?

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Music maker shield problems

Post by adafruit_support_mike »

Let's rule out the SD card first because that's easy.

Download the SD Association's official formatting tool and do a fresh low-level format: https://www.sdcard.org/downloads/formatter_4/

For mass-market devices, hardware QA on SD cards is about half a step up from "awful" and every major OS plays kinda fast and loose with the high-level formatting. The good news is that a standards-compliant formatting can bring otherwise dead cards back to perfect working order.

Terrizor
 
Posts: 12
Joined: Thu Oct 28, 2010 6:36 pm

Re: Music maker shield problems

Post by Terrizor »

I downloaded this SD software for mac and it didn't give me any option to choose Fat 32, it didn't let me specify a format at all?

User avatar
Franklin97355
 
Posts: 23911
Joined: Mon Apr 21, 2008 2:33 pm

Re: Music maker shield problems

Post by Franklin97355 »

it didn't give me any option to choose Fat 32
What format did it use for the card? (what format does the computer say the card is?)

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Music maker shield problems

Post by adafruit_support_mike »

The SD formatter works at a layer below FAT32.

At the hardware level, SD cards are remarkably sloppy devices. An 8GB card might have 12GB of storage, 20% of which didn't work when it came off the wafer. To make matters worse, there's a limit to the number of times you can read and write a given bit before that storage location stops working.

An SD-card's low-level format maps physical storage locations to logical pages and words. When you do a low-level format, the program tells the microcontroller inside the SD card to test all the physical locations, report which ones are good, and build a new table of logical storage locations from the set of physical locations that work best.

High-level formats like FAT32 don't know about the low-level table and don't want to know. They just assume the logical storage locations work and create a data structure that allows you to store and retrieve files from those locations.

Use the SD Formatter to make sure the card's low-level format is good, then use Disk Utility to do a FAT32 high-level format.

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino Shields from Adafruit”