Home Forums Sparkfun MP3 Shield Library Support Forum Using mp3 shiled library with vs1011e


Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
  • #1802

    I have a breakout board for the vs1011e and am planning to use the mp3 shield library with my arduino uno to power it, is there that needs to be cahnged in order for it to work?


    Look at VS1011 to VS1053 Migration Guide and think about it in reverse.

    At a glance there are some changes. The hardware differences should be accommodate by the breakout board and your wiring to the Arduino. We should be able to accommodate the software changes to into the library, as configurable. Mostly the 1053 has features that are not available in the 1011. And Register Names and locations have changed.

    The SFE example code is written in PIC. So it is some what helpful.

    Are you up to the challenge? I don’t have the board. So I cannot debug or guess too much about the results. Or your possible interpretations.

    I could rattle off a lot of things to check and address. Starting with …

    The first challenge:

    Can you hook up a SdCard and get the Sd.Begin to work. Then can it talk over the SPI. I think they are compatible. There may be some GPIO that need to be set accordingly.

    First step is talking to the 1011 over the SPI. Need to determine if the VS1011 is GPIO defaulted to VS1002 compatibility. which would be a problem.

    Then in the SFEMP3Shield.cpp vs_init() routine will try to change the clock. This will need to be changed to match the VS1011. And the patch files should be left off the SDcard for now.

    I am currently working off of a pre-release branch which works fine.

    This may hurt…


    thanks, the errors I’m getting are 4 then 5 if I comment out error 4. Right now I already have the SdCard wired and working (as far as I can tell) I’ll try some of the things you have mentioned and report back.



    Just as predicted. The SCI_MODE(4) and SCI_CLOCKF(5) are different. Need to read the 1011 manual and see what the values need to be. Maybe commenting them both out along with VSLoadUserCode (6) might get into playing. Also need to put in some prints. Like the ones commented out. As to display what the SCI_MODE and SCI_CLOCKF are? I don’t initially trust the SPI until I see expected values from it, in print. We can also add a check of the SS_VER that is different between the 1053 and 1011.

    FYI. I have just merged my github to its master branch and removed the “DifferentialOutput” branch.


    At the moment I think I’ve fried my chip, when copying the shield schematic I missed the level converter, I have a spare but I need the level converter to come first. I was getting back read values of -1, the maximum integer, and a version of 15 not at all expected results.


    You could use a 3.3V Arduino. On my design’s I have a Mega2650 running 3.3V. I have used the 3.3V pro’s, also. The one watch point is that either the FTDI or ICSP programmer may go 5V, just need to set appropiately. And if the system is native 3.3V then the Shields 3.3V regulator can be shorted out, as its LDO would interfere.

    I have accidentally powered all my boards that were supposed to be 3.3V only (systems) at 5V, and got no damage. From the brief exposure. Where as I suspect you may have had the IO at 5 and the VCC at 3.3V which would be more dramatic to the chip.

    Where as I would expect basically nothing from the fried IO. not -1 or 15. While you wait. You may want to Oscilloscope or logic analyzer it. to see if the clocking is messed up.

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.