Arduino library for WTV020-SD-16P audio module

WTV020-SD-16P audio module:

This is my first contribution for the Arduino community. With this library you will be able to play wav or ad4 files easily. Will be adding new method or features in the future. Built this cause I need it for my Arduino project.

/*
 Example: Control a WTV020-SD-16P module to play voices from an Arduino board.
 Created by Diego J. Arevalo, August 6th, 2012.
 Released into the public domain.
 */

#include <Wtv020sd16p.h>

int resetPin = 2;  // The pin number of the reset pin.
int clockPin = 3;  // The pin number of the clock pin.
int dataPin = 4;  // The pin number of the data pin.
int busyPin = 5;  // The pin number of the busy pin.

/*
Create an instance of the Wtv020sd16p class.
 1st parameter: Reset pin number.
 2nd parameter: Clock pin number.
 3rd parameter: Data pin number.
 4th parameter: Busy pin number.
 */
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);

void setup() {
  //Initializes the module.
  wtv020sd16p.reset();
}

void loop() {
  //Plays synchronously an audio file. Busy pin is used for this method.
  wtv020sd16p.playVoice(0);
  //Plays asynchronously an audio file.
  wtv020sd16p.asyncPlayVoice(1);
  //Plays audio file number 1 during 2 seconds.
  delay(5000);
  //Pauses audio file number 1 during 2 seconds.  
  wtv020sd16p.pauseVoice();
  delay(5000);
  //Resumes audio file number 1 during 2 seconds.
  wtv020sd16p.pauseVoice();
  delay(5000);  
  //Stops current audio file playing.
  wtv020sd16p.stopVoice();
  //Plays synchronously an audio file. Busy pin is used for this method.  
  wtv020sd16p.asyncPlayVoice(2);
  delay(2000);   
  //Mutes audio file number 2 during 2 seconds.
  wtv020sd16p.mute();
  delay(2000);
  //Unmutes audio file number 2 during 2 seconds.
  wtv020sd16p.unmute();
  delay(2000);    
  //Stops current audio file playing.
  wtv020sd16p.stopVoice();
}

Unzip Wtv020sd16p.zip and copy Its content into the Arduino library IDE folder. If you have any question or request, please don’t hesitate in contact me.

Update: August 6th.
Added pause, stop, mute and unmute method as well updated the example program. Hope this helps.

Wtv020sd16p.zip (3.98 KB)

Hi the-rebel-agent,

Hats off for sharing your experience :)

I am going to play with the same module but decided to ask and get the pin diagram confirmed. I found the following application circuit for this device.

I believe the following is the way of identifying the pins. Can you please confirm? :)

/Chathuranga

Welcome and you are clear to go. Just be careful about the micro SD card you are using. Got a lot of pain in the b... figuring out why mine did not work from the start.

Updated the library. You can read about changes in post # one.

Nice Stuff :)

I will add my findings etc when I continue with my experiments. I am about to start :)

The Datasheet says the maximum supported size of the Card is 1GB. Is that so or could you be able to use a card with higher capacity? I cannot imagine a reason of limiting the size at 1 GB because generally the address spaces are larger than that.. :~

Bravo, Tested library and worked fine.. :)

And answering my previous question, I tested this with a 2GB SanDisk MicroSD card successfully. In other words there is no limitation of 1GB.

Weird, I tested a 2gb genuine Kingston and did not work. 2gb for ad4 files is a waste of space anyway.

Yes. That's true. But here in my country it is really difficult to find a Micro SD with a capacity less than 2GB. :(

My Prototype didn't work with 1GB Unbranded micro SD card. But in the case of this audio module we have no way to check where the error is. If it is simply in SD card, then you may lose hours for troubleshooting.

But as far as I see, the sd cards that fail on this module cannot be read using SdFat or Arduino SD library. In summary if you can read an SD card using SD library then it should work on this audio module as well.

Hy all!

Where can I order this thing? I have found mini SD card modules, and it said: 8?Two module types of WTV020-SD-20S and WTV020-SD-16P What is the difference between them? Will this library work for both?

You can buy the same one here: http://www.ebay.com/itm/160806790230?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

and I do believe this library will work with both.

the-rebel-agent: You can buy the same one here: http://www.ebay.com/itm/160806790230?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

and I do believe this library will work with both.

The only difference is the chip packaging. (DIP 16 and SOP 20) There are no functional difference between two sub-models. So the-rebel-agent's library should work perfectly with both the types. If you need more details on the difference of the package (I don't think you need :P) you can find it on http://letsmakerobots.com/files/WTV020_manual_V1.3.pdf

Hi everyone!

I bought one of these on ebay, trying to use as sound module for portal gun replica. I wired up as data sheet suggests, connected to my arduino lilypad, and tested. No sound from piezo speaker, busy led flash 2 or 3 times then full on constantly.

I'am using a Sandisk 1gb micro-SD, has anyone tested one of these to see if they work?

Thanks in advance!

-tas

(let me know if you would like video/pictures of setup, i can provide later)

tas_tig3r: Hi everyone!

I bought one of these on ebay, trying to use as sound module for portal gun replica. I wired up as data sheet suggests, connected to my arduino lilypad, and tested. No sound from piezo speaker, busy led flash 2 or 3 times then full on constantly.

I'am using a Sandisk 1gb micro-SD, has anyone tested one of these to see if they work?

Thanks in advance!

-tas

(let me know if you would like video/pictures of setup, i can provide later)

Are these things correct?

  1. Did you convert your files to AD4 format?
  2. Is the naming convention of the files correct?
  3. Do you know your SD card is "supported"?

I am successful in using a SanDisk 2GB so I believe your sandisk 1Gb should work without any trouble. The best way to verify this is to use a SD shield or Ethernet shield just to verify your MicroSD.

Hey.

1: Yes the files were converted. Just to make sure I downloaded the test file made (and tested) by another user on these forums. 2: As far as I am aware, I just needed to copy the files named 0000.ad4, 0001.ad4, etc to the SDcard root dir? 3: Ok. If the file tree is correct, then I will try a different card.

I don't have a shield to test it with, as money is tight at the moment, and I've never needed one. Please let me know about the file tree if you can, as I can't find any info about it on the web. Cheers!

Hey everyone,

I've been working on the WTV020-SD-MINI for about 1 week but to no avail. After reading up almost everything posted on the web and utilizing all the files that were shared which proved to be working, I'm still not getting any sound except a few bleeps when the busy pin's LED blinks. I'm currently using a 1GB Samsung uSD card and I think that it is the culprit.

I will be changing this uSD card to a Sandisk soon and hope it will work, fingers crossed :cold_sweat: Will get back to you guys soon after changing the uSD.

mohit

Ok! I got it working! Turns out it was the SD card. Cheers for the help everyone!

I've been working with a Somo-14D recently on a lightsaber project. I got it generally working until I realized that it couldn't do gapless playback. The gap was very small, but very noticeable when going from a swing directly into a hum.

Do you know if this module can do gapless playback? I know the two units are similar, I just don't know how similar.

Thanks!

I just got from China a board : V1.5 / 2012.01.12", and "5v / 3.3v

The only successfully way to format my Nokia mirco SD 512 MB was win / cmd(Admin) / diskpart . ( http://www.chip.de/bildergalerie/Windows-To-Go-So-laeuft-Windows-8-auf-USB-Sticks-und-Festplatten-Galerie_54926063.html)

Up to now I run the board stand alone. OK Files: - 000X.ad4 - 000x.wav freq 12.000 Mono and -1dB

It is possible to run MP3 im stand alone modus ?

Likewise... I have been trying to get this to work and have not heard a peek in testing.

I am using the sparkfun board pictured below. https://www.sparkfun.com/products/11125 1gb sandisk microSD 1 sound file on the card at 72kb. FAT formatted on windows 7 File is named 0.ad4, and located in the root directory

I have tried wiring it up directly to 3v power, to the 3.3v and Vcc pads and touching the reset and play pins to ground... nothing

I tried using the arduino with this library as well, and have not seen any data on the serial monitor, nor any reaction from the board.

Would anyone with experience getting this to work consider writing an idiot helper post detailing exactly how to configure the board, leads, arduino code/libraries to get a hello world equivalent file to play?

Is there anyway to isolate whether the SD card is the problem vs a user error in wiring and configuring?

thanks dan

Hey guys,

Just a big thank you to the-rebel-agent for the library. I'm totally new to the arduino and electronics, but managed to get my module up and running with very little problems. I sourced my module from the e-bay link provided earlier in this thread and changed the solder-jumper to 5v. Everything seems to be working as it should. :D