Go Down

Topic: WT5001M02-28P another mp3/wav cheap sound module (Read 49810 times) previous topic - next topic


Aug 18, 2013, 11:08 am Last Edit: Oct 21, 2013, 02:04 pm by onesky Reason: 1

Good afternoon.

as I can do to access the contents of the SD and internal memory module.

I could tell as I connect it to arduino and PIC microcontroller?
There are some example pic done to help me?
is there any example you select the track you want to play and can be controlled with SPI or USB or serial?

sorry for my English, I'm Latino of Colombia

this is the pin assignment scheme to control the micro-SD mp3 files via Arduino Serial line

this is an example (posted before) to control mp3 files via Arduino Serial

the track 002.mp3 will play automatically at startup

the track 001.mp3 will play when push button is pressed

Code: [Select]
const int buttonPinFire = 2;   // FIRE

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
   // initialize the button pin as a input:
pinMode(buttonPinFire, INPUT);

// initialize serial communication:

   Serial.write(0x1F); //  volume max
   // start sound
   Serial.write(0xA0); // A0 for SD card
   Serial.write(0x02); // track number
   void loop()
 buttonState = digitalRead(buttonPinFire);
if (buttonState == HIGH) {

   Serial.write(0xA0); // A0 for SD card
   Serial.write(0x01); // track number


Gracias por la pronta respuesta.

ya realice el montaje como esta en el esquematico, pero no me funciona, solo funciona en modo ADC en modo MP3,
1- le di formato a la sd card en FAT y fat 32 y ninguna funciono
2- copie tres archivos mp3 desde el PC a la sd card
3- monte el circuito anterior
4 conecte el arduino leonardo del TX al modulo, alimente a 5v, conecte el pin 7 del arduino
5- presiono el pulsador y no sucede nada.
6- cambie el pin 7 por el pin 13 de arduino y nada.

ayuda...help...help please.


the mp3 files must be copied on the root of the SD CARD (without folders)

you should post a photo of your circuit


cordial saludo.

ya me funciono todo, hay un error en el codigo por que se debe colocar Serial1.begin(9600); y en todo lo que se use el puerto serial del arduino se debe colocar el puerto correspondiente, serial es para envio de datos al PC pero esto no activa al modulo, lo demas funciono bien, solo falta ensayar SPI, USB
les dejo un video y el tutorial en espaƱol de todo lo que hice

el proyecto consiste en enviar datos por blueooth RN42 desde android el arduino leonardo recibe el codigo y envia los datos al modulo para que reproduzca la pista seleccionada y luego al prender un led se reproduzca el sonido respectivo.

saludos desde colombia.
gracias por su ayuda


as requested by a friend i add the scheme working with the test code above


I'm probably very spoiled, but I don't find that module very cheap.

I can buy a car mp3 player/transmitter with USB connector, SD card reader, remote control and decent sound quality for maybe $4.00. But just an mp3 player without FM transmitter, without remote, without USB but with Arduino compatible input pins instead of buttons is $19.99. Why? I guess part of the explanation is the fact that they don't make this in the same quantities. But yet, $20?

on aliexpress now only for 9,99$, i just ordered 2 more for future projects.


- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH


Aug 21, 2014, 01:02 pm Last Edit: Aug 21, 2014, 01:05 pm by onesky Reason: 1
this module is one of the best i ever tested

i could finally finish the project with arduino and it's very fast and loud when used with a small mini amp

you can see at work in this video


as suggested before it's very important the order of the files saved in the microsd that can be done with this small software

sound tracks numbers need conversion to hexadecimal letters/numbers
you can use the script in this website:   http://www.statman.info/conversions/hexadecimal.html    


if track number is "10" ---> "A" hexadecimal

   // start sound
   Serial.write(0xA0); // A0 for SD card
   Serial.write(0x00); // track high byte
   Serial.write(0x0A); // track low byte


Dec 08, 2014, 03:44 pm Last Edit: Dec 08, 2014, 03:58 pm by vwlowen

I wonder if anyone has managed to access the SD Card directly using SPI? I've wired module pins 11, 12 and 13 for the SPI and tried module pin 15 (SPI_CEN) for CS but without any luck  ("Initialising card.. failed" using the Arduino SD examples.).

My idea is to be able to list the actual track filenames from the card to a display (and hence work out the "track order number") and then to "switch over" to the module to access each file by track order number using the module's Serial communication.

Edit: Just to add that the module itself is working fine using the example posted earlier by onesky.




I think the WT5001M02-28P 's SPI pins are for the onboard flash memory chip (25Q32BSIG).

I believe the SPI flash chip holds the kernal that provides all the WT5001's functionality.   This is probably a VLSI chip that Waytronic has created using VLSI's development software.


Thanks for the reply.

Shame!  I've tried three different mp3 modules now.

The Adafruit version does allow access to the SD card but uses quite a few more IO pins which doesn't really leave enough (with a ATmega328) to drive a display, a few buttons and maybe an IR control.

This one  is very similar to the WT5001M02-28P but, again, there's no access to the SD card.  In its favour, it's quite a bit smaller.




Dec 08, 2014, 05:42 pm Last Edit: Dec 08, 2014, 07:03 pm by borland
Take a look at the WT2000M04 module.  It's described as a recording module, but it seems to have all the playback features of the WT5001, plus built in amplifier.   I haven't looked at the datasheet much, but it seems to support playback by file names.

Alternatively, you might look at a USB hub and see if you can store files on thumb drive and access it by both Arduino and WT5001.  Not sure if that's possible.

BTW...  did you know that the logic I/O for this sound module is designed for 3.3v?   Examples above show connections to Arduino UNO (5v I/O).   May work fine with 5v Arduino transmitting serial commands to WT5001, but for Arduino receiving command replies from WT5001, may not be reliable without a level shifter or using Arduino running at 3.3v.   


The WT2000M04 does look promising but,unfortunately,  I can't find a detailed datasheet or a small-quantity supplier.

*IF* this project ever gets off the ground,I'll probably run the ATmega328 at 3.3v because the display I have in mind and the Si4703 FM tuner are both happier at 3.3v anyway.

Actually, the WT5001M03-28P looks promising as it's similar to the WT5001M02-28P but with provision for an external SD card. If I order one now, I should receive it before the Chinese New Year - just :)



Dec 09, 2014, 07:56 pm Last Edit: Dec 09, 2014, 07:58 pm by borland
Sounds like the WT5001M03-28P will work best for you.    You can request the datasheets direct from Waytronics, via e-mail from their web site.   


The WT2000M04 can be sourced single quantity on eBay for about the same cost.  I looked at the WT2000M04 datasheet. It supports playback by filename, but will only confirm (yes/no) if a file with a filename exists on the SD-card (no directory listings).


Thanks for the link, I'll get in touch with them.

I'm thinking I might be able to use a quad SPDT IC ( http://www.farnell.com/datasheets/82522.pdf ) to read the SD card in the "normal" way with the Arduino SD (SPI) library, choose the file I want to play and then switch the SD card over to the WT5001M02 to actually play it.

There's probably a more elegant way of doing it but that's about the limit of my "design" ability :)


Go Up