Make the LC Technology / LCSoft VS1053B Board work in MP3 mode

A few weeks ago I made the mistake of buying the MP3 player board manufactured by LC Technology (I have also seen them labeled as LCSoft). It was a mistake, because it took me days to get it to work and I did not realize it doesn’t have a SD reader.

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 files, 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

Since I am using the Adafruit_VS1053 library, I adapted it to its API:


Adafruit_VS1053_FilePlayer musicPlayer =
Adafruit_VS1053_FilePlayer(BREAKOUT_RESET, BREAKOUT_CS, BREAKOUT_DCS, DREQ, SD_CS_PIN);
musicPlayer.sciWrite(VS1053_REG_WRAMADDR, VS1053_GPIO_DDR);
musicPlayer.sciWrite(VS1053_REG_WRAM, 0x0003);
musicPlayer.GPIO_digitalWrite(0x0000);
musicPlayer.softReset();

Serial.print(F(„SampleRate „));
Serial.println(musicPlayer.sciRead(VS1053_REG_AUDATA));

With this it works perfectly for me (Output should be „SampleRate 8000“).

Warning! Do not use the sineTest function from the library with this. It does a hard reset of the chip and brings it back up in MIDI mode!