my bad support experience with Gravitech on the Nano and MP3 add-on. Defective?

My very frustrating experience with my recently purchase from Gravitech for an Arduino Nano v3 and a MP3 add-on boards.

Since both cards are from Gravitech, I suppose the 2 boards should have no problem in working together. Unfortunately, I have spent many days and still could not get two boards to work together and I have kept on getting errors when running the MP3Shield_Library_Demo INO program. I have no clue whether or not the boards are defective.

I have contacted Gravitech support. Honestly, I am so unhappy with the Gravitech support. It takes days for them to reply email and their reply usually does not come with much information.

When I raised to them that the boards do not work, all they sent me a MP3Shield_Library_Demo INO program to try. And when I raised to them again that the program did not work either. They did not reply until I chased after them days after. They then sent me a SDLib file. In all their emails, the only words I can find is "please try this" and nothing more. Since I have read tutorials in internet that there is a need to change the SPI PIN number for Gravitech Nano card, I have sent them email to confirm the SPI PIN number and there is never never any reply at all. I tested the library (which is a 20120719 version SdFat library) they sent me, the library failed with some simple problem saying a variable needed to be "const". This was an easy fix for myself. However, I did make me wonder whether Gravitech support had tried to compile with the library themselves and whether I know there is a need to change the SPI PIN number. All quiet and no reply are not a good supports. Sending customer non-compilable library loses customer's confidence. Nevertheless, although I can get the codes compiled myself, I still get error when trying to run the code. As said, I don't get any support from Gravitech at all and that is what makes me so upset about purchasing from them. Will I buy from them again? No!!!

(On the contrary, I have very good support experience from all my other arduino purchases from other vendors such as adafruit, RFRobot, Cooking-hacks. I suppose Arduino is a community that everyone helps one another to expand the community. What I found is Gravitech only care for selling you products and that's it!!!).

Anyway, I seeks help from other forums and they are so good and have been trying to help, although at this point I still get error when trying to run the code. But, at least, others in the arduino community are trying to help.

I have received help from the Bill Porter forum. They are very helpful and gives details in what to modify in the codes. They have asked me to run different test programs (from SdFat - SdInfo, QuickStart, sdFormatter and MP3Shield_Library_Demo). And I have followed the tutorial from Bill Porter: Tutorial: making Gravitech’s MP3 Player add-on work.

As said, despite whatever I did, I still get errors when running the code...

Ok. I have aired my dissatifactory experience with Gravitech.

Could I here ask some one to provide me helps or confirm whether my Gravitech boards defective????

Here belows are what I have done and the results I got....


  1. formatted the micro sd card to fat-16

  2. Added after setup of the INO files all these for the pinMode setup:
    pinMode(6, OUTPUT); //MP3_XCS
    pinMode(7, OUTPUT); //MP3_XDCS
    pinMode(8, OUTPUT); //MP3_RESET
    digitalWrite(6, HIGH); //negate XCS
    digitalWrite(7, HIGH); //negate DXCS
    digitalWrite(8, LOW); //Put VS1053 into hardware reset

  3. downloaded and placed the SdFat and SFEMP3Shield folders under libraries.

  4. Tried all these programs from SdFat - SdInfo, QuickStart, sdFormatter and MP3Shield_Library_Demo but all of them failed.

Here are the test results...

test1 – SdInfo

note: if I put pinMode and digitalWirte before Serial.begin(9600). The system returns me garbage characters in the Serial Monitor.

void setup() {
Serial.begin(9600);
pinMode(6, OUTPUT); //MP3_XCS
pinMode(7, OUTPUT); //MP3_XDCS
pinMode(8, OUTPUT); //MP3_RESET
digitalWrite(6, HIGH); //negate XCS
digitalWrite(7, HIGH); //negate DXCS
digitalWrite(8, LOW); //Put VS1053 into hardware reset

while(!Serial) {} // wait for Leonardo
….

result ==>

SdFat version: 20130313

type any character to start

card.init failed
SD errorCode: 0X1
SD errorData: 0X0

type any character to start

===========================================================================

  1. test 2 – QuickStart

added the pinMode and digitalWrite statements after Serial.begin(9600) of setup() as shown above.

result ==>

SD chip select is the key hardware option.
Common values are:
Arduino Ethernet shield, pin 4
Sparkfun SD shield, pin 8
Adafruit SD shields and modules, pin 10

Enter the chip select pin number: 4

SD initialization failed.
Do not reformat the card!
Is the card correctly inserted?
Is chipSelect set to the correct value?
Is there a wiring/soldering problem?
errorCode: 0×1, errorData: 0×0

Restarting

Enter the chip select pin number: 8

SD initialization failed.
Do not reformat the card!
Is the card correctly inserted?
Is chipSelect set to the correct value?
Is there a wiring/soldering problem?
errorCode: 0×1, errorData: 0×0

Restarting

Enter the chip select pin number: 10

SD initialization failed.
Do not reformat the card!
Is the card correctly inserted?
Is chipSelect set to the correct value?
Is there a wiring/soldering problem?
errorCode: 0×1, errorData: 0×0

Restarting

Enter the chip select pin number:

===========================================================================

  1. test 3 – sdFormatter

added the pinMode and digitalWrite statements after Serial.begin(9600) of setup() as shown above.

Note: I tried this same test on 2 different sd cards but got the same result. One is a 2G sd card, the other is a new 8G Kingston sd hc card.

result ==>

This sketch can erase and/or format SD/SDHC cards.

Erase uses the card’s fast flash erase command.
Flash erase sets all data to 0X00 for most cards
and 0XFF for a few vendor’s cards.

Cards larger than 2 GB will be formatted FAT32 and
smaller cards will be formatted FAT16.

Warning, all data on the card will be erased.
Enter ‘Y’ to continue: Y

Options are:
E – erase the card and skip formatting.
F – erase and then format the card. (recommended)
Q – quick format the card without erase.

Enter option: F

SD initialization failure!
Is the SD card inserted correctly?
Is chip select correct at the top of this sketch?
error: card.init failed
SD error: 1,0

===========================================================================

  1. test 4 – MP3Shield_Library_Demo

added the pinMode and digitalWrite statements right after setup() and BEFORE uint8_t result and Serial.begin(115200.

result ==>

Free RAM = 1067 Should be a base line of 1040, on ATmega328 when using INTx
Free RAM = 1067 Should be a base line of 1040, on ATmega328 when using INTx
Can’t access SD card. Do not reformat.
No card, wrong chip select pin, or SPI problem?
SD errorCode: 0X1,0X0

===========================================================================