26 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


    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.


  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


    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,

    1. dJeyL


      I needed to record line-in and asked Google about this jumper/shunt that was mentioned some time ago 😉

      Based on what I found and what I experimented myself: these pins actually don’t expect what we see on the heading photograph, since they are line inputs.

      The single 3.5mm jack is an output, so if you want to record line-in, you will:
      – connect your line input’s R & L wires to these pins (I still have to identify them)
      – connect your line input’s ground to your vs1053b’s
      – set SCI MODE register’s LINE1 bit to 1 before you start recording (otherwise your R channel will record your line input but the L one will listen to the embedded microphone)

      Hope it can help someone in the future 🙂

  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?

  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.


  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


    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

  16. Make the LC Technology / LCSoft Board work with in MP3 mode | Claus bloggt es

    […] That problem with the board is, that it starts in MIDI mode by default (which seems to be a flaw in the boards design). Therefore if you try to play MP3 fields, you will only get noise, but your music. There are quite a few google results recommending soldering on the chip to get it into MP3 mode – Something I wasn’t keen on doing. Fortunately I found this post: http://www.bajdi.com/lcsoft-vs1053-mp3-module/#comment-33773 […]

  17. Peter S

    is it still necessary to connect pin 33 and 34 or was the error fixed?

  18. Cristhian Miranda

    someone can i help me for do this in mega2560?? please

Leave a Reply