Member #304495

Member Since: February 24, 2012

Country: United States

  • FWIW it looks like the issue is something in the SFEMP3Shield library I'm using. I've reproduced the problem (on an Arduino Mega 2560 with jumpers for the SPI pins as mentioned in a post above) without the LCD involved at all. I'm following up directly with the author on his website ( ).

    The reason the code worked without the LCD involved was because removing the LCD function also removed the MP3 library's pause/resume functions that I suspect are involved in the problem. There's no reason to believe there's actually any incompatibility between this MP3 shield and Adafruit's RGB LCD shield at all and, in fact, they're starting to play together very nicely.

  • Strange - I'm using this shield with the same Mega 2560 Arduino, albeit through Bill Porter's 'SFEMP3Shield' library and it's working OK (I'm following up with Bill on an an unrelated problem on his web site). Besides making sure you've got the 4 SPI pins correctly connected the only thing I can point out is that Bill's code includes

    //MP3 Player Shield pin mapping. See the schematic

    define MP3_XCS 6 //Control Chip Select Pin (for accessing SPI Control/Status registers)

    define MP3_XDCS 7 //Data Chip Select / BSYNC Pin

    define MP3_DREQ 2 //Data Request Pin: Player asks for more data

    define MP3_RESET 8 //Reset is active low

    define SD_SEL 9 //select pin for SD card

    in its header and doesn't make the pinMode(53, OUTPUT) call above (not sure if that was in the comment or not).

    It's a very handy library - you may want to check it out. Good luck!

  • Thanks - that almost worked for me, starting out on an Uno and switching to a Mega 2560. SS seems to be on pin 10 on an Uno, though, not pin 9. When I disconnected pins 10, 11, 12, and 13 and jumpered 53 -> 10 (SS) and the rest as suggested above (51 -> 11 for MOSI, 50 -> 12 for MISO and 52 -> 13 for SCK) the shield played as before.

  • [ Also posted on Bill's SFEMP3Shield site]

    Hi everyone - I'm trying to use this MP3 shield through Bill's fabulous SFEMP3Shield library together with Adafruit's RGB LCD shield (see and for any details I may leave out) to play tracks from the SD card and put their names up on the LCD. I have buttons to skip forward and repeat but it looks like trying to do I/O to the LCD shield (which uses I2C using the 'Wire' library on pins 4 & 5) while I'm playing a song somehow makes it such that at the end of the song, when playback stops, the SdFatlib code can't find any data on the SD any longer. Trying to just play a random song from the SD works for one song, then no more. I can skip around between songs and start different songs fine but as soon as I let one play out, the sketch can't find any other tracks, even those it could've played a second ago.

    If I disable the code to do control the LCD (which appears to work fine, BTW) during playback (initializing it and putting up an initial message seems to do no harm) MP3 playback works as expected, playing random songs all day. The moment I re-enbable LCD display it fails (with playback error 2, file not found) after the first track.

    Code size seems around the limit - about 20K or so, but seems OK... Any ideas what may be going on here? The MP3 shield is using SPI, the LCD using i2c on address 0x20 and they seem to be using different pins - where's the conflict? Any hints greatly appreciated!

    Thanks in advance, -Patrick.

No public wish lists :(