Creative Commons images are CC BY-NC-SA 3.0

19.95

added to your
shopping cart

quantity
In stock 43 in stock
19.95 1+ units
17.96 10+ units
15.96 100+ units

Description: The WTV020SD is a small, simple IC for embedding audio-playback into your next project. These devices are commonly used in children's toys and "talking" retail displays. This breakout board allows you to access the functionality of the WTV020SD to give a voice to your next project.

The breakout board includes a battery connector and a micro-SD card slot. Simply load your audio files onto a micro-SD card and plug it in, power up the module and trigger the playback. Playback can be triggered in either key or serial mode:

The key-mode provides a stand alone operation where a host micro is not required. With only 3 push buttons, a 3V battery and a speaker, an extremely compact and low component count MP3-Player like system can be implemented.

The serial-mode provides a simple, 2-wire interface to any micro-controller via its DATA and CLK lines. Audio operations such as PLAY, PAUSE, STOP and VOLUME control functions are all available to the host micro via simple serial commands.

The audio compression used in this module is a little strange (4-bit ADPCM @ 6-32kHz) so you'll need to download the utility in the documents below in order to convert your .WAV files into the 4-bit ADPCM format required.

Features:

  • Low-cost module for all embedded Audio-Sound applications.
  • Supports 4-bit ADPCM (.ad4) file formats with sampling rates from 6Khz to 36Khz.
  • Two operation modes:
    • Serial Mode: Supports a 2-Wire (Data, Clock) interface to any micro-controller.
    • Key Mode: Supports a simple stand alone operation without a host micro.
  • Differential 2 line PWM output for direct speaker connection (8 Ohm/0.5W).
  • Dedicated 16-bit DAC/PWM audio output to use with an external amplifier.
  • On-board micro-SD memory card adaptor for storing of audio, voice and music files (up to 512 files). 
  • Supports 64Mb to 2Gig micro-SD memory cards (FAT format).
  • Low Power Idle current of 8.0uA
  • RoHS Compliant

Documents:

Comments 107 comments

  • Hi, there’s an example code for the serial mode on an Arduino Forum http://arduino.cc/forum/index.php?topic=117009.0 that someone wrote recently. Even though it’s for the WTV020-SD-16P, it should work with this product too.

    Also to clarify, the Key mode only has the option of next, previous, and play/STOP. The reason for this is because the mode of operation was to be set by the manufacturer. In this case it’s circuit 8.9 without the MCU. When you play, it will start playing the track from the beginning. By pressing stop, the track will stop playing. Upon pressing the button again, the track will start from the beginning instead of where the song was paused.

    • So, is it possible to get the behavior of key mode without an Arduino? From the comments here, it sounds like the SparkFun board only comes in serial mode.

  • What is the default operation mode? I would like to use Key Mode (3 Group Voice). I do not see anywhere how to change the operation mode or select it as an option when ordering.

  • Alright, I just found my next “Easy” button upgrade. :-)

  • Dear Sparkfun, please put screw holes in your products so that they can be easily fastened within one’s project. Please!

    • It’s a board-by-board choice- we usually try and put a 4-40 standoff mount on anything larger than, oh, say, a largish postage stamp. This one is right in the range where it’s questionable as to whether or not a mount point would go onto it. Generally, we won’t increase the size of a board to accommodate standoffs- if it’s that small, we’d like to keep it that small. I’ll second the hot glue recommendation- I do it in my projects rather a lot.

    • Try Corner / Edge Standoffs: http://nwazet.com/1-4-corner-edge-standoffs-set-of-4 They allow you to position the standoff wherever you need them as well as allow the board to be small. Or try TCEHCBS from http://www.richco-inc.com/

    • It would be nice, even on boards this small. However since they didn’t, I’d recommend hot gluing the component-less side of the board in a few spots then it could be attached to a box wall or stand-offs.

  • Is this essentially a much cheaper version of DEV-09534 in a different form factor?

  • Sorry, I didn’t understand if I can choose which file to play, or just go to the next file. Thanks in advance

  • Is it possible to loop through files in key mode?

  • hi, i have been working with this product and i was able to operate in the mp3 mode. however, i was only able to play, pause, and reset but not next and previous operation. for some reason when i press next and previous buttons, it repeat the same song again from the beginning. also, it only plays the first song even though i downloaded the sample files. please can someone help me. Thanks

  • For the Voice Address function, you don’t actually need the reset line for it to work.

  • While connected to an Arduino, do the files have to be in the numerical format, or can I use strings to seek out specified sounds? Working the kinks out of a string assembly that links data from two or three variables together. I can do it from an integer, but I don’t want to waste time coding the string assembler if I don’t have to. Thanks!

    • There’s no external visibility to the files on the SD card; they must be named numerically and can’t be read or seen by the attached microcontroller.

  • Hello to all,
    I made a project using this audio-sound breakout…
    A very simple sound device with a simple interface : one button play/stop with only one audio file !
    The button is connected to “play” and “ground” on the board, and it goes like this :
    * I push once and the audio start.
    * If I push during audio, then it stops and shuts down (ground).
    * If I don’t push, then at the end of audio, it shuts down by itself.

    But there’s a really strange occurrence that I can’t explain and that is messing up all my project.
    When someone stay put with his finger more than 3 seconds on the button (childrens do that), then the breakout puts itself in loop mode (audio plays on and on…) and never shuts down. Even if I push the button again, it stops audio but does not shut down, and pressing once more audio will still be “stuck” in loop-mode.
    The only way to stop this unwanted loop-mode is to unplug and replug the battery.

    It poses a great problem to me because when the breakout doesn’t turn off, then it consumes all the battery power in only a few hours, and I found myself in the situation of changing batteries all the time ! I made four of these devices, and they were accessible in a public space where people were pushing the buttons alot, and there was ALWAYS someone to stay put more than 3 seconds on it.

    I tried a lot of different connections between my button and the board, but none could resolve this “stuck in loop-mode if you push the button for too long” problem of mine…
    Is there anyone else having the same issue ?
    Is there anyone knowing how to fix it - if it is possible ?
    If someone has any clue, it would be very helpful, thanks !

    • I haven’t seen this problem personally, but I’ll see if I can duplicate it.

      For my part, I seldom use this board on its own, because of issues like this. I usually pair it with an Arduino Pro Mini, to provide a layer of protection against things like this. A cheaper alternative that you may look into is implementing a monostable multivibrator with a 555 (there’s your Google search term) to ensure that, no matter how long the user holds the button down, only one short pulse hits the input pin on the module.

      • Thank you very much for these possible solutions…
        Are these the items that could make it work - Arduino Mini Pro - 555 timer ?
        Are they compatible with the audio-sound breakout ?

        Wether Arduino or 555, I guess I must now find out how and where to assemble these within my project, in order to stop the unwanted loop-mode… (Yes, I am very much of a beginner - but very willing to learn !)
        Any links for how-to’s and explanations ?
        Please let me know if you duplicate the problem.
        Thanks again.

        Any other comment / idea welcome…

  • Having spent a lot of time with this WTV020SD device based board and “the-rebel-agent” control library, I suspect some might appreciate my sharing a little of my experience…

    What appeared to make my sound card ‘work’ well via serial I/0 and the “the-rebel-agent” library, included:

    • 5v > 3.3v signal conditioning (voltage dividers) between Arduino outputs and sound card inputs

    • increasing post reset delay (by waiting for busy assertion + deassertion + 13ms)

    • increasing post audio play delay (by waiting for busy assertion)

    I conditioned the DCLK, DIN and RESET signals with voltage dividers. Each Arduino pin drives its corresponding sound card pin via a 56 ohm resistor. Each sound card pin has a 100 ohm resistor to ground. This reduces the maximum sound card input voltage to about 2.5v. Before I did this the sound card would not work and its supply voltage was jumping up close to 4 volts (due to input diode conduction and high Arduino output pin voltage). I should admit that I have not retried the sound card without these level shifters, so can’t be sure if I made other changes to my configuration that actually ‘fixed’ my operational problem.

    For what its worth my configuration/connectivity:

    • OSSEP Arduino Uno with 5v supply

    • sound card/device: WTV020SD-20SS NO.17 1208 RSH6530G_3H

    • microSD card: Strontium SD class4 2GB FAT formatted.

    • serial I/O Control utilized (‘MP3’ mode was not tested)

    • microSD Audio Module powered with 3.3V from Arduino UNO

    How might “the-rebel-agent” library be improved - for everyone?

    • increase post reset and post play delays (my custom library waits for busy events)

    • error checking and reporting logic i.e. busy asserted/or not when expected (trivial to help users debug!)

    • volume control and other features (e.g. loop play single/all files)

    • DIN low when commands not sent (to save power IF voltage dividers used)

    Where is the library not like the spec and perhaps less efficient?

    • clock period is currently set to be >10 times longer then spec indicates

    • data setup/hold to rising edge of clock is not balanced as per spec diagram

    • clock state during reset set low, though spec shows/suggests otherwise

    What else have I learned/found/done?

    • A WTV020SD Chinese data sheet - mostly but not completely identical to the English one circulating.

    • commands 0xFFFB, 0xFFFC and 0xFFFD loop a single audio file, all the files or stop looping. I have not been able to make the loop commands work reliably with AD4 files. File size may be important. This may explain why they were not translated into the english document.

    • observed that minimum clock period required is actually less then 10% of specified (for my device)

    • busy asserted during ‘paused’ playback

    • busy asserts (for a while) after reset command

    • I rebuilt/‘fixed’ the library, added delays, play retry post reset, made it data sheet consistent, identified set volume etc commands

    • the sound card has a 5v to 3.3v supply regulator, and if used, might reduce noise on audio output

    • Simplify my reset connection by using a diode during pull down and relying on the board pull-up circuit? This has yet to be tried and would have the added benefit of reducing power slightly.

    • Play after reset fails when audio module powered up after being unpowered for a while… (presumably allowing supply capacitors, to completely discharge). I modified my library to retry the first play command after reset, if the first attempt fails.

    • Play after stop fails under certain conditions and can be ‘fixed’ (on my card,) by adding a 1ms delay between the two commands. I added a 10ms delay following each command (yes I know I could have targeted only the stop commands).

    Chinese Data sheet: (Google translate does work for this but … ever hear of GIGO? )

    Chinese_WTV020-SDV1.7.pdf

    What would have saved many users a lot of time:

    A complete data sheet in English with clarifications of device variants, correct timing diagrams and device min/typ/max specifications and characteristics.

    What I would appreciate:


    Jeff Niergarth -electrical engineer with extensive hardware/software development experience…

  • Is there a mac based wav (or mp3)to ad4 converter I can use?

  • I’d like to pay someone to show me how to control volume in an product that uses one of these boards. If that involves use of some Arduino board, then I’ll need an exact example that I can duplicate.

    Any takers?

    • It is trivial to add a volume setting command to the-rebel-agent library, for control of the card via an arduino.

      • There is a backdoor in the asnycPlayVoice command that gives the user access to all device commands:

        • wtv020sd16p.asyncPlayVoice(0xFFF0); // Sets voice to minimum (off) …

        • wtv020sd16p.asyncPlayVoice(0xFFFx); // Sets voice to level where x ranges from 0 (no-sound) to 7(max) …

        • wtv020sd16p.asyncPlayVoice(0xFFF7); // Sets voice to maximum

        You can also initiate single/all voice file loopback (and stop) via these commands:

        • wtv020sd16p.asyncPlayVoice(0xFFFB); // loops back current audio file being played, indefinitely

        • wtv020sd16p.asyncPlayVoice(0xFFFC); // loops back “all” audio files from the one being played..

        • wtv020sd16p.asyncPlayVoice(0xFFFD); // stops any loop back.

        Note these last three commands appear to be buggy… File size/type may be important…

  • I am currently working on a project but I need to conserve my PWM pins to use for other components. Can someone please tell me how I know what pins on this audio board need PWM capability? currently I have CLK and Busy going into PWM pins. Can you please help?

    • The microSD audio module’s Wtv020sd chip uses PWM to produce sound. It does not require Arduino driven PWM signals to control it via Data/Clock/Reset signals… although… a very clever programmer with much time to waste might be able to do this!.(I doubt anyone has taken on this -dubious- challenge.) Of more interest is the observation that this technique (i.e. ‘needlessly’ using Arduino PWM controlled pins to drive DCLK and DIN signals,) might not significantly increase device commands, given ‘the_rebel_agent’s current/original? library takes 10 times longer to shift in device commands then the datasheet suggests is necessary… (i.e. about 30mS longer).

  • I’m trying to design a stripped down version of this board plus a lipower to replace the regular (since i’m powering with 3v coin and need to step up to 3.3v). So heres a 3 part question i hope someone can help answer for me:

    1) If I’m driving speakers directly from SPK+ and -, and not using PWM (PAD_EQO, PAD_EQI), can I remove R2 and C3?

    2) If my lipower already has 22uF capacitor on the 3.3v line, i should be ok to exclude C1 (100nF)?

    3) If the reset line can be triggered via serial command, and I don’t have a use for a momentary reset button, can I exclude Q1 and C2 alltogether? I can leave the reset pin unconnected?

  • Hi, I have been tinkering with the audio sound board for a school project where we will have a toy talk and move via communication with a tablet. I am currently trying to get the sound board to play the sounds that I have uploaded to its SD card but i am having a lot of trouble. I have yet to have the board produce any kind of sound. I have already: Formatted the Sandisk 2gb micro SD card to FAT16 Converted my Audio files to .ad4 format Hooked up the unit trying both serial and mp3 formats. Named the files in the sd card 0000.ad4 0001.ad4… ect. I currently am just trying to make the simplest MP3 setup work so I can proceed to more complicated tasks but I’m afraid I have reached a block. I have attached an image of what my simplest setup looks like. Also my hardware list is: 3.3v power source from Arduino Uno Ground from Arduino Uno 0.5 watt 8 ohm sparkfun speaker WTV020SD board 2gb Sandisk MicroSd card Any help would be greatly appreciated I already Emailed Sparkfun tech support. I have had no response. Thanks

    https://docs.google.com/drawings/d/1Z0DvP5O10ria6O5woLyM1YiBwlH1eUOHxgjyOY3J9WY/edit?usp=sharing

    • Recently tried a seemingly identical sandisk micro sd card. It worked. Apparently some unknown force determines if these cards work or not haha.

    • Tech Support was out all day at an Engineering meeting, so that may be why you haven’t gotten a response yet. You may want to try sending them another quick follow up to ensure they did get your message and it didn’t accidentally end up in spam or filtered incorrectly.

  • I must be doing something wrong here. The datasheet shows two different 16 pin setups, but the board sitting in front of me only has 14 pins (just like in the picture). What am I missing?

    • The 16 pin options you are seeing are for the bare module. This board is closest to the recommended application circuit in section 8.9 of the datasheet (minus the pushbuttons). That’s why you are only seeing some of the pins broken out.

  • I’m struggling to find this product in the Eagle library for Sparkfun in their Git Repository. I can find the WTV020SD-20S chip, but not this break out board. I’ve loaded I think every one of the libraries and can’t seem to find it. I can see the Eagle board/schematic files that are available (and this may be a newbie issue), but I can’t figure out how to use that as a library element in my Eagle design for a board to combine this with other boards. Can someone help me out?

  • Hello, I got this board. It initially worked fine both as stand alone and in serial mode (I interfaced it with both arduino uno and arduino mega 2560!). but now all i hear is a slight beep from speaker, nothing else ! please tell me how can I test that board is faulty or not. help me out please

    • You’d want to try checking each component individually. Switch to a different speaker, check the SD card, double check any additional components in your circuit, etc. Also, checking the board itself with a multimeter is a good starting point. If you are still having trouble after that, contact tech support.

  • Also, make sure the files are named in the following convention 0001.ad4, 0002.ad4, etc. It won’t read anything else in key mode.

  • So those of you who are having a hard time with this (as I have had). It needs 3.3V not 3V. Check your voltage if it’s not playing. I have a 3.7V lipo hooked up right now, the 2x3V 12mm coin cell and 3V 2xAA batteries did not work, even though they were registering 3V+ with the multimeter.

    • The Wtv020sd device on the sound card should work with ‘3.3v’ supply voltages between DC2.5~3.6V as per the chinese data sheet.

      The problem with batteries is that their voltage can vary considerably over their life… and under load, particularly if weak or of low capacity. The sound card may draw considerable current when playing audio:

      http://forum.arduino.cc/index.php?PHPSESSID=a6136k9p9fg1kn6e3ub2e8er51&topic=175625.0

      Any batteries or on-board supply that can maintain their voltage as above with a 100ma load may be acceptable to it.

      On the microSD Audio Module there is an on-board regulator that accepts a higher supply voltage via the VCC hole/signal and drops it down to ‘well regulated’ 3.3v… This regulator will accept up to 12v via VCC. I would expect this would work fine from 3.8V to 5V. At higher voltages the regulator device might start to over-heat… and possibly even burn out - while playing certain audio files.

      You will have more leeway with sagging battery voltage if you use the VCC connection to provide power - at the expense of additional power/energy lost through the on-board voltage regulator.

  • i really need help . this device with its original mode , will loop play if you let the button pressed for more than one second . it kills the battery life because the busy line used to standby the amp is always high. what is the solution to this problem ?

    • Busy is set while audio is playing… The library playVoice function utilizes this characteristic. This guy measured power consumption during playback. If you know your battery capacity, given the current drain, you should be able to predict longevity:

      http://forum.arduino.cc/index.php?PHPSESSID=a6136k9p9fg1kn6e3ub2e8er51&topic=175625.0

      EOM

  • nice product. now playing with the arduino library people mentioned above.

    Is it also possible to control the volume via arduino code?

    thank you!

  • hey , there is quite a problem here if you use it with the mono amp . i linked the busy line into the stand by of the amp ; but reader module has a little problem ; if you press too long (longer than around one second) the busy bypasses and stay ON indefinitely ; so the amp is stuk on ON mode , and you can t save battery life

  • sooo, i have a project due in few days , i got this little reader, with the mono amp that seems to go well with it , i got it to work once (took a while) , mp3 mode , with grounding the play pin, with a 2go FAT no brand (maybe something chinese) microSD , i went to change the file to try to play something else , now , the player doesnt works anymore , tried everything i could , (the Amp works , i tested it separately ) so , is it possible that my sd was compatible once , and now it is no more compatible ? is it possible that i fried the reader? How to verify ? is it normal to have some kind of different high frequency sounds when not playing , while removing the sd and trying to remove the battery . now if i ground , the player seems to start , but go back to idle 1 second later , and i hear a distinct click at play pin grounding and another click one second later . is it possible that the mode switched by itself ? how to know ,what mode i am in , what does the reset pin does ?

    • so i have my own answer , i went and bought the last 1go card in the universe , and it is a kingstone , it worked on first try

  • buildcircuit.com has explained most of the things about WTV020SD module. The main issues are MicroSD card, volume of music file and sampling rate.

  • Got this working with sd card from old Nokia phone. It didn’t work with the sd card I bought from sparkfun.

    • I got it working by using 512mb Kingston SD. …And it works correctlly.

      Obviouslly, SDHC cards are NOT accepted (see http://en.wikipedia.org/wiki/Secure_Digital , and also references at: https://www.sdcard.org/consumers/compatibility/ (the missing image is available at: https://www.sdcard.org/consumers/sdxc_capabilities/using_sdxc/backwards-compatibility.gif )

      In fact, I got a 10 cards pack from a local supplier in Spain ‘cause I was getting sick of the chinesse little verison for this device, and I finally gave up…

  • Is there any Mac compatible audio converter out there that anyone has come across? Or an online one? or linux.

  • Works fine in stand alone mode on a 2GB Micro SD card bought from Walgreens. Package says “W Photo”. Formatted as FAT. Simply hook up ground and positive up to 20V (stated in an older comment)to VCC. Ground either the Play, Prev, and Next line to ground for a second to command the unit. Also make sure you name your file 0001.ad4 and up. Now to control it with a PIC.

  • Built an MP3 doorbell (… well, AD4 doorbell) using this, the Arduino Pro Micro and the Pololu pushbutton power switch.

    As bboyho suggested, the sample code from Arduino Forum works, but only most of the time. I have found playback via serial mode interface to be particularly flaky: (1) It may work on USB power but fail when battery-powered; (2) It may work for 0000.ad4 but not for 0001.ad4.

    I’ve pinned the problem down to 2 places in Wtv020sd16p.cpp:

    • insufficient delay after reset. In line 37, changing “delay(300);” to “delay(750);” worked for me;
    • if you rely on the playVoice() call: sendCommand() returns too soon, when the busy pin is not yet on. In line 94, tweaking “delay(20);” to “delay(50);” worked for me.

    Not sure if this applies equally to everyone, though.

    • I’ve got this working some of the time with my Arduino UNO (breakout board is powered from UNO 3.3v supply) in serial mode, but the breakout board keeps getting hung up or something because no sound plays when it should. The busy pin will be HIGH, but nothing is coming out of the speaker. I tried the delay() changes in Wtv020sd16p.cpp, but that didn’t help. I have to remove and re-apply power from the breakout board to get it working again. I posted more details on the Arduino forum: http://forum.arduino.cc/index.php?topic=117009.msg1278094#msg1278094

  • Several questions regarding power: None of your images show which is Gnd vs +ve on the JST connector? What input voltage range can be used on the JST connector? The 3v3 pin on the side - is this an alternative way of powering it - or is 3v3 intended for output in which case how much additional current can be drawn? If I want to power it from a 5v board do I have to use the JST connector (extra alternative header pins would have been good!) or can I use 2 x 1N4001 diodes in series to drop the voltage and feed it in to the 3v3 pin on the side? Should I also use 100 ohm resistors in series on the clock and data lines if my mcu is working at 5v?

    • Look at the Eagle file. With the OSHW logo on the right, the pin on the right is GND, the left is Vcc. The two pads have no connection and are just for securing the connector.

  • I am having a hard time connecting the module to the ATmega32. Anybody have any suggestions?

    • Hopefully this helps you, and anyone else attempting to use this module with an Arduino. It has been a long and winding road, but I’ve finally got it down. First, ensure you have a SanDisk or Samsung or other reliable brand 2GB (or less, but good luck finding them) micro SD card. If you are using Windows 7 as I am, you may find that there is no option to format the card with FAT 16. So, I recommend downloading the free software from SD Card Software . I’m not sure what it does differently, but it finally made my module work!

      Also, I’ve uploaded an image of how to connect an Arduino Pro Mini 3.3V to the module (and to a Sparkfun Mono Audio Amplifier), but it should be helpful for any Arduino: Arduino to Audio Sound Module

      Lastly, I use WavePad Sound Editor to convert my .mp3 or .wav files to the appropriate wave settings (22050 Hz, 16 Bit, Mono), and ensure your sound file is at least 1 second in length, as the software to convert to .ad4 seems to crash if the sound file is less than 1 second.

      And, as bboyho mentioned above, the code from Arduino Code for Audio Sound Module works perfectly with this unit. Hope this is helpful!

      • Using that SD card formatting software you linked here immediately fixed the problems I was having with my module. It would play the files, but would always cut them off after a couple seconds. Now they play flawlessly!

  • The board is playing static after I ground the play button. I have 3 tracks labeled 0000.ad4, 0001.ad4 and 0002.ad4 on a 1gb fat16 formatted card. I seems that the tracks are probably playing because the busy LED is on, but i cannot hear them. Is there no way to raise the volume? Very frustrating. I have tried grounding both p04 and p05 to try to change the volume but with no luck.

    • I had the same problem, but for me it was .WAV files that were playing back with heavy static. I converted the .WAV files to .AD4 using the utility above and they worked fine. I suspect it’s something wrong with the chip because nothing else I tried was working (adjusting voltage, etc.).

    • Hmm, send an email to techsupport@sparkfun.com with an image of your set up. We should be able to help you a little more from there.

      Unfortunately, the volume can be controlled with a microcontroller due to the manufacturer setting the mode of operation before being sent to SFE. The default volume is maximum.

  • Well I connected a speaker and power to the board, loaded a converted audio file into a 1GB microSD card from Sandisk, plugged it in and it didn’t work - until I changed the name of the file to 0000.ad4, then it worked fine. Grounding the Play pin played the file and grounding it again stopped the song (didn’t pause it, as advertised) so that grounding it a third time played the song from the beginning. Can anyone verify this?

    The chip datatsheet says it also can play 16kHz .way files, but I couldn’t verify this. Anyone been successful playing these files?

    Like the fact that there’s a voltage regulator on board (which can take up to 20V max (12V typical)) so I just wired a 4.5V (3 x AA batteries) supply between Vcc and ground - perfect!

    And regarding the Mode - unfortunately it’s NOT MP3 mode as stated by other posters, as MP3 Mode allows you to control the volume, which you can’t do. The mode my board was delivered in was Serial mode - hence the two serial inputs.

    Still nice piece of kit - glad it worked.

    • I had the same experience - I can’t get the 16kHz .wav files to play. I knocked it down to 11kHz and it worked fine. Also, I was able to get it to work with a SanDisk 2GB card and a Microcenter 2GB card. Both were less than $5.

    • Hay This is the best answer here! Thanks!!

  • Any information on current consumption? I just got one so I might check myself soon but I’d like to know since the datasheet is void of electrical information… I’m hoping I can use the 3.3V pin to power my MCU (planning on using an MSP430G2452) since it seems to be rated for 500mA. Would this work well with the 110mAh LiPo battery on this site?

    • Some anecdotal information here on power consumption: http://forum.arduino.cc/index.php?PHPSESSID=a6136k9p9fg1kn6e3ub2e8er51&topic=175625.0

  • What a surprise!!! The price is too high. Not sure if this module is designed by Sparkfun or their partner. I made a module based this chip a year ago. This chip is produced by a Chinese company. The chip datasheet is not good enough. I spent much time study on the chip, basically by experiment. The chip does almost everything. So programming is very easy. However, it has its own interface protocol, which makes a little hard for users (just a little). Unfortunately there is no link on this page to the code. I was thinking about putting my module on Sparkfun for sale. However, I sent mails to them but got no reply. To my surprise, today I found this module.

    • Hi,I’m a student using the module, but when I choose the loop mode without the MCU control, it doesn’t, could you help me with this? I connected the SPK+, SPK-(to my headphone),GND,3.3V and p06(busy), what is the problem with the whole system? Thank you!

  • When I hook up the PWM output to an amplified speaker I hear a pop at the beginning and end of every file I play. Anyone else experience this?

    • I experienced this as well. It sounds great hooked up to a speaker, but I tried going to an external amplifier and there is an audible click or pop at the beginning and end of each file played. I also noticed a little buzzing while playing, but maybe I only heard it because it comes out much louder.

      Did you ever get this fixed? Has anyone else had luck hooking this up to an external amp? (Lepai mini amp, which sounds great when I hook my phone up to it)

      BTW, all I did was hook up the SPK+ and SPK- pins to some RCA cables which go into the amplifier. Is that correct or should they be hooked up another way?

      • Sounds like you need a load resistor across the output that feeds the amplifer,to keep output or input coupling capacitor(s) charged. The pop would be caused when current flows suddenly to charge or discharge the capacitors. A speaker in the circuit provides that load.

  • Are the “serial” (I2C) pins DCLK and DIN 5v tolerant?

    Also, can you use DCLK and DIN at the same time as the pins for Play, Next, etc? Seems like you can, given the diagram on page 2 of the datasheet.

  • Has anyone had success wiring one of these to an Arduino? I’ve found a few forums online for similar modules, even some that provide a sample library. But, I’ve been trying for over 6 weeks to get this working, to no avail.

  • How do you get the installer to work, and what’s up with it needing a driver?

  • Can we get confirmation on the supported micro-SD card size? The data sheet says 1GB, product description says 2GB… 1GB micro-SD cards are actually hard to find now days.

    • I got mine to work with a 2 GB Sandisk. Simple test set up with two 1.5 v batteries, speaker, switches to short to ground the Play, Forw, Rev, or RESET. Good sound quality with 24000 sample rate from wave files (using the usbrecorder.exe utility to convert the .wav files to .ad4 format).

  • yes its more difficult than it seems: it won’t play a chirp. 2gb sd FAT format (is 2gb a problem? spec says 1gb, sparkfun says 2gb…) hooked up to 3.3v, tried a speaker as well as an amp. trying 7.1 MP3 mode in spec: connect play to gnd, then short next pin to gnd, nothing happens. tried different variations, nothing worked out… has anyone managed getting it to work in key mode? how did you set the actual key mode? thx

    • You mention MP3, but did you convert the files to .AD4 and save only those to the SD card?

    • if you keep having issues, you might want to contact techsupport@sparkfun.com. They should be able to help you out.

  • it seams so simple, (not to me), i plug the lipo battery, my 8ohm speaker, a 1gb sd card with a 0000.wav file, but,i dont know how to start playing the file, without using a microcontroller.

    I apreciate any help. Thanks in advance an regards.

    • First you don’t use a wav file. Convert it to a .ad4 file using one of the few converter programs on the internet. Second, after you hook all that up as you have described and get the .ad4 file on the card you need to momentarily ground the line marked ‘play’ to the circuit ground.

      If it doesn’t play then the most likely culprit is that the sd card you have is incompatible. I had to try 3 before I got one that would work.

      If you put an LED on the busy line to ground you will see if flash once when it gets power. If you ground the play line and it turns on momentarily but no audio plays it is likely the sd card incompatibility issue.

  • Hi, this looks great! How long a delay from choosing a file to play, to actually play it ? For example if I want a song to play that is in multiple sections, in different files, can this play them with no break ups? Thanks!

  • When I hook the three digital lines to an arduino (clock, data and reset), should I enable the internal pullup resistor on the arduino ports? Also- should I put a current limiting resistor in series, or connect it directly to three ports? Thanks.

  • Several others have asked this same question. How do you change the mode of operation? I would want this module to default to 5-key mode, but nothing in the datasheet shows how to do that.

  • Would this be sufficient to deliver a simple, single audio sound like a cow’s Moo without distortion?

  • me gusta mas el SOMO 14D

  • Hi the product notes (“Supports 64Mb to 2Gig micro-SD memory cards (FAT format)”) are inconsistent with the datasheet (“Support 1GB SD card max. or SPI flash 64MB max.”). Which is correct?

    • As many have reported success with FAT formated 2G micro-sd cards, you are certainly OK to try them. That having been said, I don’t know of anyone who has tried filling their 2G micro-sd cards past the 1G point to check IF the sound card can address more then 1GB of memory. Given how files tend to get fragmented over a storage medium’s space (as they are created and ‘deleted’,) I suspect someone has already inadvertently tested this on a heavily used 2G sd card…

  • The datasheet for this product states “Support 1GB SD card max. or SPI flash 64MB max.”

  • Looks interesting… comparable to SOMO from 4d systems?

  • The data sheet shows several modes of operation but does not indicate how to change modes. Their example circuit is the same. I would like to operate in the key (3 group voice) mode.

    • The mode of operation has to be set by the manufacturer. Unless you specified what you wanted at the time you ordered I can almost guarantee you that the module is in MP3 playback mode.

  • Is it just me or was the price on this originally $12 US. I thought that it was an awesome deal, but now I see the price is $20 US. Am I seeing things?

  • Are there any products like this out there that will allow you to play multiple sounds at the same time? For example, toy tank with sound effects – “firing” machine gun and main cannon. Or a “sounds of nature” audio player that would randomly mix from library of birdsong, crickets, neighbour kids, etc.

    • You may be able to do something with the MIDI capability of the VS1103. Look at the percussion instruments section of the datasheet.

    • Unfortunately none of our current audio offerings can do this (though it’s something we’re always looking into). You could get around this by stacking up multiple boards, or possibly finesse a small system into playing polyphonic uncompressed audio. But to play multiple MP3s etc. you’d want something more powerful like a Beagleboard or Raspberry Pi. The prices for powerful boards keep dropping, so stay tuned!

  • We produce a similar board - although we include a memory card as well.

    However we use an 809 for the reset interface. I’m happy to be proven wrong, but I’m reasonably sure that the WTV020 requires a reset circuit separately (which is what the 809 provides), rather than just a transistor. Despite the fact that Waytronic’s dodgy schematics use a transistor symbol, in fact it’s an 809 that’s used on their boards, not a MMBT2222A or equivalent. The schematics in the datasheet Sparkfun have attached specify an AME8500, another “reset” or supervisory chip, whose purpose is to make sure the main device stays in reset until the power supply is stable.

    Yes, it’s mono, powers a speaker directly and while the commands a slightly sluggish, you can get a fair amount of stuff on a 1Gb card.

  • Is this mono only or can it do stereo audio out?

    • Considering stereo isn’t mentioned in the product description and the audio is just 4-bit (8-bit seems to be the lowest resolution available for stereo audio), I’d assume it is mono.

  • Can we use this board as Breakout Board for microSD Transflash?

    Thank you for your help.

  • What kind of plug is that for the speaker? I’m sure some people can tell from sight but I can’t so it would be helpful to include a matching connector in the related products section below.

    • The JST socket is actually for a 3.7V LiPo battery (or other power source). You connect your speaker to the labeled headers (holes) on the side of the board.

    • The connector is a JST 2 Pin Male Horizontal Connector. Which is PRT-08612 on the website. You can see on the related products on the bottom of the PRT-08612 product page there is a list of mating connectors that have jumper wires with different types of connectors on the other side. Hope that helps!

    • looks like a jst: https://www.sparkfun.com/products/9749


Related Products