22 responses to “LCsoft VS1053 MP3 module”

  1. Arduino MP3 alarm clock | Bajdi.com

    […] I used an LCsoft VS1053 MP3 module and a small 0,25W speaker (bought from Tayda Electronics) to play MP3′s. The VS1053 MP3 module is also connected to the SPI pins of the Arduino. The LCsoft module needs to be modified to make it play MP3′s. You can read about that in my previous post. […]

  2. CAPEL Michel

    Hello,

    Thanks so much !!! Had same problem and soldering those pins saved me ! So many days wasted to try all combinations…

    Have fun with all your projects.

    Bye

  3. Leo

    Hi ,
    thanks for all your tips !
    I have a question to you :
    did you have problems with DREQ ? It never goes high in my case.

  4. Mike

    Hi,

    Thanks for your post – this seems to be the same board as mine except mine is marked “LC Technology”. The rest of the silk and the components are the same. I will try the MP3 solution when I get a moment. I have a question though…

    In the top photo one this page there is a shunt on “LINE IN”. What’s that all about? Is it necessary to get things working? Or is it just put there to stop it getting lost on the bench!?

    Thanks again,
    Mike

  5. Ian

    Thanks for this very useful article. I also have one of these boards (acquired last year but only now starting to play with it). I was thinking I would have to bin it until I discovered this page. I have not yet had the courage to attempt to solder 33 & 34 but for now have managed to lodge a piece of wire between the pins which is doing the job.

    I am now trying to figure out if I need blocking capacitors when using line out rather than headphones. VSLI say they are necessary but I can’t figure out what is already on the board. There are clearly capacitors on the board but I can’t follow them. Do you know if blocking capacitors are in place? I am guessing they are not & I will need to build the VSLI recommended output circuit myself ( http://www.vsdsp-forum.com/phpbb/viewtopic.php?f=9&t=69 )

  6. Yurii Lemberg

    Thanks a lot. Your hint saved my day.

  7. Ian

    Although I got my VS1053 working by lodging a piece of wire between pins 33 & 34, I did not think my soldering skills were adequate for making it a permanent solution. Fortunately it turns out there is another solution.

    On the VLSI website someone has asked if there is way to exit midi mode. Appraently it is possible to initiate a software re-boot and over-ride the state of pin 34. This is the method described:

    “You can detect RTMIDI mode after hardware/software reset by checking AUDATA. If you see 44100/44101, RTMIDI has been activated, and you can write GPIO_DDR=3 and GPIO_ODATA=0, then give software reset to boot into normal decoding mode.”

    I have tried it & it works. For information the address of GPIO_DDR is 0xC017 and the address of GPIO_ODATA is 0xC019.

    In answer to my earlier question – whether the LCsoft board includes blocking capacitors on the audio out – I am now fairly sure that it does not.

    1. 68erdirk

      HI Ian, seems you’re the only one on the internet who found a way to switch to mp3_mode without soldering. Could you please give a short code example for arduino or similar?

  8. Neil Kolban

    Ian, you are awesome. I can confirm that the software change works. I am using a Raspberry PI as my MCP. After setting the registers and performing a soft reboot, I can confirm that the AUDATA changes to 8000Hz mono from 44100Hz stereo which is an indication that it worked.

  9. Jorge

    Hi Ian, could you post a simple sketch to switch the board to MP3 or MIDI?
    Thanks!

  10. Ian

    Hi Jorge,

    I have adapted Bill Porter’s MP3 library (intended for the Sparkfun shield) for my project: https://github.com/madsci1016/Sparkfun-MP3-Player-Shield-Arduino-Library.

    He has written lots of low level routines which has left me free to focus on the higher level appication stuff. His software provides routines to access the registers on the VS1053 chip so I made use of those.

    So in the routine VS_init(), prior to the comment //Let’s check the status of the VS1053, I added the following lines:

    uint16_t temp1 = 0xc017;
    uint16_t temp2 = 0xc019;

    Mp3WriteWRAM( temp1, 3 ); // GPIO DDR register
    Mp3WriteWRAM( temp2, 0 ); // GPIO ODATA register

    delay (100);

    Mp3WriteRegister(SCI_MODE, SM_LINE1 | SM_SDINEW | SM_RESET); // soft reset

    delay (100);

    I am not sure if the delays are actually necessary.

    Hope this helps.

    Ian

  11. Albert Gajšak

    Great post.
    Works like a charm.
    Thank you for sharing this.
    Helped me a lot.

  12. Youssef Aly

    Do I need to use voltage shifting ?

  13. Jayanth D

    Hi

    What modification has to be done to make this board play MP3 files ? I am interfacing it with STM32. Please reply soon.

  14. Jayanth D

    I have read that pins 33 and 34 should be shorted but which pins are pins 33 and 34 ?

  15. Henrik from VLSI

    Jayanth: See the VS1053b Datasheet for the pin numbering.
    The datasheet is available at http://www.vlsi.fi/en/products/vs1053.html

Leave a Reply


*