chipKIT® Development Platform

Inspired by Arduino™

MP3 Player Shield

Created Wed, 08 Feb 2012 14:54:54 +0000 by general.failure


Wed, 08 Feb 2012 14:54:54 +0000

Hi Here a relative newbie on microprocessors (programming skills ok). I have a max32 and want to interface with this Sparkfun MP3 Player Shield: (sparkfun product 10628)

there is a whole page of helpful info to make it work, the simplest project (pde) has just an embedded mp3 and some code to let that mp3 chip say hello: (not allowed to post url, but at hte sparkfun page you can find the It doesn't use SD card or external libs.

This example is all rather basic, but it doesnt work. With a closer look I found that the SPI bus defines were: (i printed them to serial output) SS = 53 MOSI = 51 MISO = 50 SCK = 52 but these pins are at the short side of the board, not the pins that are connected to the MP3 player shield. can I change that simply or is there another way to make this work? In the schmatics of the shield I found: SS = 9; // tried 10 as well MOSI = 11; MISO = 12; SCK = 13; I tried so and changed accordingly .\hardware\pic32\variants\Max32\Board_Defs.h But no other result.

I'm a bit confused: i was told that the arduino shields would work on a chipkit max32...

Any help would be greatly appreciated.


Jacob Christ

Fri, 10 Feb 2012 11:05:37 +0000

Have you looked through the code for the mp3? Sometimes Arduino code makes calls directly to the hardware of the Atmel processor (I've found this to be the case in several SPI based projects). If it does then it will not run (and usually not even compile) for chipKIT.

Also, the chipKIT boards ouput 3.3V logic levels (though they are 5V input tolerant) and Arduino's are 5V logic levels, some chips will not see a 3.3V logic 1 as a valid value, so this should be checked prior to using the chip.



Sun, 12 Feb 2012 13:39:20 +0000

i indeed expect its the 3/5 volt issue The arduino feeds 5V. The shield converts that to the 3V the VS1053 needs. So when the sparkfun feeds only 3V, the shield levels that down to a much too low voltage. Pitty. I also have an atmega128, that works on 5V. I'll try that one. pitty for the ChipKit. Compatible: tsss....


Fri, 22 Jun 2012 01:57:20 +0000

This is a bit slow but, to anyone interested I got the sparkfun mp3 shield working with a uno32. The problem wasn't the voltage. It uses a 74HC4050 which will respond properly to the 3.3 volt signal output by the uno32 and convert it to 3.3 volt for the internal circuitry. I was able to get the SD card working and the MP3 chip also. I used the sparkfun MP3 Decoding Example Sketch. The problem is that sketch uses the wrong chip selects for the mp3 chip. These are the changes I had to make to get it to work.

#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

With the above changes I heard the hello message.

So this wouldn't work with an Arduino either!

Have fun!