Go Down

Topic: Problems with Sine wave test on VS1053 (Read 3836 times) previous topic - next topic


I'm having trouble getting my VS1053 to work with my Arduino. I was originally testing with an EtherTen (has onboard ethernet) but I moved back to just a plain Arduino UNO (to rule out any SPI conflicts/issues). The issue still remains.

Here's my set up.

I have an Arduino UNO, with a VS1053 (it says LCSOFT STUDIO; found a picture here: http://www.siliconray.com/catalog/product/gallery/id/576/image/1462/ ).

I am using a terminal shield for ease of connection ( http://www.freetronics.com/collections/protoshields/products/terminal-shield-for-arduino )

I have a 5V and GND from the VS1053 going to the respective 5V and GND pins on the Arduino. I have a 0.25W 8 ohm speaker connected to the 3.5mm Jack, tested with my ipod and it plays sound; i have also tried different sets of headphones with the VS1053 too.

I have VS1053's pins:

XCS  -> Pin D9
DCS  -> Pin D2
DREQ -> Pin D3
XRST -> Pin D8

I have tried all sorts of code to get it to work, but getting right back to basics; I have two Sine Wave tests I found on forums and neither work.

They are:

The Serial debug on the first one shows a loop:

Code: [Select]
starting sine test
exited sine test
starting sine test
exited sine test

as expected, but it doesn't actually play anything. The second sine test shows similar debug.


I have downloaded and tried the VS1053-master.zip library and accompanying MIDI example from github. Last night when I was testing it, I kind of got the Midi example doing something... It made sound (which was encouraging!) except it was just a Midi Crash symbol on a very very fast repeat (sounded like a punk song!) not a loop of instrument scales as it appears the code attempts to play.

Now, this morning with the same set up as far as I can tell, I can't even get the MIDI example to play any more. The serial console shows:

Code: [Select]
Booting VS1053...
VS1053 still booting
VS1053 Set
VS1053 Configuration:
00 MODE = 0x00
01 STATUS = 0xffff
02 BASS = 0xffff
03 CLOCKF = 0xffff
04 DECODE_TIME = 0x00
05 AUDATA = 0x00
06 WRAM = 0x00
07 WRAMADDR = 0x00
08 HDAT0 = 0xffff
09 HDAT1 = 0xffff
0a AIADDR = 0x00
0b VOL = 0x00
0c AICTRL0 = 0x00
0d AICTRL1 = 0xffff
0e AICTRL2 = 0xffff
0f AICTRL3 = 0x00
VS1053 OK
W 07: 8050
W 06: 0030
W 06: 0715
W 06: b080
W 06: 3400
W 06: 0007
W 06: 9255
W 06: 3d00
W 06: 0024
W 06: 0030
W 06: 0295
W 06: 6890
W 06: 3400
W 06: 0030
W 06: 0495
W 06: 3d00
W 06: 0024
W 06: 2908
W 06: 4d40
W 06: 0030
W 06: 0200
W 0a: 0050


I have tried:


both of which have inline MP3 examples.

Neither of these have ever worked for me.

I'm kind of at my wits end here. Have I not wired these up correctly? Is the board faulty? Is there anything else I can do to test this?

I would love ANY help or feed back you can give :)




Did you connect up the SPI signals?

No I didn't; how do I know which pin on the VS1053 is the SPI pin? All the other examples and code samples don't say anything about any extra pins.. I'm totally new to SPI stuff.



There should be 3 of them.  SI, SO and SCLK.  From looking at the link you gave to that board, the signals might be identified on the bottom of it.  In the picture is says "See Bottom" on the top silk screen near the header.  Have a look there.  They should be connected to the MOSI, MISO and SCK pins on the Arduino.  Like this:


You my also have to connect the reset on the VS1053 board to the reset on the Arduino.

Have a look at this thread, there is more information on this: http://arduino.cc/forum/index.php?action=post;topic=140813.0;num_replies=2

Did that VS1053 board come with any documentation?


I can relate to greendragon except that I haven't tried the examples he(?) posted... yet.
I have the same module from LCSOFT.

The codes I have tried are for different breakout boards so I'm never sure if I have every little detail right or even if I haven't burned something up and am beating a dead horse. I have been informed that all I have to do is give it power and Line In sound and I should hear that... which for me means coming up with a cable I'd rather not butcher.

Unknown to me: the header pins for power say 5V but I can't swear that it will take 5V signals. The LC SD module and ultrasonic module are fine with 5V but that's no guarantee.

I hope to hear back if anyone has more info.
If I can get any of greendragon's linked code to work I will reply again with the news. (probably have to search for the thread to do so, it's now late May)

1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

Go Up