Asked — Edited

Alternative Mp3 Trigger Sound Modules

I started testing some alternative MP3 Sound Modules, my goal to get similar functions but at 50% less than the cost of MP3 Trigger ($50 + s/h). This could help people with low budget that want to get into robotics or just wanted to build a low cost robot. I choose these two modules in theory from reading their data sheet should work with EZ-B thru very simple sendserial command already built into ARC:

This MP3 module im testing and is working very well with EZ-B, it supports 40 MP3 files, 6 outputs:

40MP3 Module


This MP3 module supports 199 MP3 files and 8 outputs but I can't get it to work because it required baud rate of 4800 which ARC doesn't support but i would like to have it working because it supports 199 MP3 files and have better features than the above module:

199MP3 Module


However both modules needs an audio amplifier but for the price you can't beat for small to large robot projects that don't need a lot of sound files.

I have already got it working well with my Wall-E project, there is just one problem because the volume reset once power is disconnected so i found a way around that by using a init script at connection to change to max volume and a start up sound. All costs less than half price of MP3 Trigger :).

Here is a rough wired pic using Wall-E own speaker, MP3 module, and a dual 3W amplifier. I will post more details soon but still i would like to be able to use the 199 mp3 module, nice thing is both module output stereo sound and you are not limited to small speakers, just use bigger amp for bigger speakers and blue color matching EZ-B board :)

User-inserted image

More details on wiring and custom scripting coming soon...might make a demo video if i have some free time.


Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.


Here is my example EZ-B test project file. I figured it is easier this way.


Make sure your SD Card is formatted in FAT in Windows (not a camera or any other devices), name your MP3 files to 01.mp3, 02.mp3,...40.mp3, drag and drop each file one by one to ensure they are playing back in the correct order.

The files are being read by the index not by file name or what you see in Windows explorer, you may even just leave the file name don't have to rename but i haven't test this, best rename or leave it short. Any questions, feel free to ask.


Perfect. I was looking at those last night on e-bay. I'm was looking for cheaper mp3 units as well for my omnibots project.

So they work ok, just need a cheap amplifier.


i see a small drawback on this item,EZB only has one TTL port,so if you need it to interface to another robot and need sound wont work,i found one that has I2C I/O that many I2C can be attached on one port and cost $25


@Lumpy That's good to know, i've been at it for a while and just now able to test it some more. There is only one problem i didn't like was the volume control and the order are read by index hex instead of file name, it could be tricky to get it working right. For the volume, you can't set it to a certain volume because it'll reset once the power is disconnected, at default it is not loud enough, but the init script i provided get around that, just need to have a start up sound, can even be a dummy Mp3 silent file if you don't want noise at connected. Let me know how it works out for you.

@robotmaker Sorry for my lack of knowledge but I don't fully understand why it wouldn't work with another robot. I dig around the forum first for an alternative MP3 module but didn't find any real details or instruction for ARC, just useless stuff. Can you post details on how you get it to work? which model did you use?

Found the post:


i2c mp3 board it use simple i2c commands

EZB only has one TTL PORT so if you are using that port for like ROOMBA or other robots or modules that uses A TTL port it wont work most good for for some robots,that TTL port is good for other computer boards I THINK IF using a second EZB you need that port its not the module is bad its that the EZB ONLY HAS ONE TTL PORT


@robotmaker the EZ-B has 20 TTL ports. only one of those can do 115,200. You can read more about the EZ-B on our FAQ page:

@Louis_T, those are fantastic mp3 player findings. Thank you very much for the ground work. I'll see which modules we can get and use for our EZ-Bit. I had one module selected for an EZ-Bit, but it required a seperate control chip for the 2-wire interface. Be careful, some devices say 2-wire serial interface and appear to be i2c, but they are not. They are not addressable like i2c, and therefore have similar connectivity method (clock/signal) but the signal is different.


i thought they was only digital I/O PORTS AND PORT 2 IS FOR TTL irobot ROOMBA DJ WHY does port 2 only for roomba only


Only one port on the EZ-B can do high-speed to support the roomba's 115,200. There is no "Port 2" on the EZ-B. The roomba connectivity port is D0. You can find a diagram of the EZ-B in the user manual here: or look in most of the Config menu's for an image within ARC.


one more question then if DO IS HIGH speed 115,200 then what are the rest of the 19 ports you said are TTL PORTS HAVE ON I2C what is the speed of it,i see i2c MP3 supports up to 400k and think high speed 4.3mb

i2c speed buss info There are three data transfer speeds for the I2C bus: standard, fast-mode, and high-speed mode. Standard is 100 Kbps. Fast-mode is 400 Kbps, and high-speed mode supports speeds up to 3.4 Mbps. All are backward compatible. The I2C bus supports 7-bit and 10-bit address space devices and devices that operate under different voltages DJ your are right some are SPIwitch is close to i2c but not real I2C on the MP3 PLAYER i found is real I2C buss


I'm unsure what your question is. Also, some of your words are capital case and i'm unsure the context. Can you rephrase your question please?


what is the speed of I2C BUSS and i found out the 19 other TTL ports only 57k is the highest sorry about my caps DJ my brand new stupid laptop from dell doest have a caps light


The i2c speed of the ez-b is standard: 100kbit/s


The IC reference design has a 7-bit or a 10-bit (depending on the device used) address space. Common IC bus speeds are the 100 kbit/s standard mode and the 10 kbit/s low-speed mode, but arbitrarily low clock frequencies are also allowed. Recent revisions of IC can host more nodes and run at faster speeds (400 kbit/s Fast mode, 1 Mbit/s Fast mode plus or Fm+, and 3.4 Mbit/s High Speed mode). These speeds are more widely used on embedded systems than on PCs. There are also other features, such as 16-bit addressing.


ok that what i wanted ,so with mp3 player can only use 57k thats about half of I2C or use the high speed port one last QUESTION can TTL PORTS only transmitt or do they receive.i know I2C is bi-directional i thought it wass 100k on I2C buss but didnt see any info on it



Glad to help, it's the least i can do. I'm excited to see either one of these units or both supported in future version of ARC.


Grabbed (2) off E-Bay, price went up $3 bucks since last night! lol

Also scooped up (2) of the same little amp in your pic.

Looking at your EZB file. Your init file, is the multiple commands to basically ramp up the volume on power up?

Other than that looks pretty easy to use. Only real difference from the Sparkfun unit is no external triggers and max .MP3 capacity. No biggie as I will either put on random or use voice command.

Great find! Thanks for sharing.


on my wall-e project since wall-e only says a few voices will get the cheapest one on my ROOMBA project will use I2C one i found since it will run at a faster baud rate amp circuit fairly easy to design made so many at my work reading the specs can only use 9600 buad rate not that great ,but i guess it will work



Yes the init file is basically to ramp up volume to Max, but it won't work if you just ramp up without playing the track first, know that thru trial and error :). Also i like the fact that the sound fades in due to the volume up.

Not true, if you look at the specs sheet, there are 6 output control :). Only come down to 40 files limit but like said for the price you can't beat it!


Spec sheet is a little vague.

It shows 1-6 as I/O but no real information.

Just thinking out loud. Would you have to script in a serial command to monitor a trigger(s) high/low and use a IF statement?

IF IO1 High = Play Track 3

That kind of scenario?


@Lumpy I asked customer support and this is what they said:

If you want to set output(1) high, just send D1 to the module via the TTL (with a terminal software or you can download one here: . To set the output(1) low, send C1.

My guess use send serial command like this: sendserial(port#, 9600, 0xD1) set output 1 high and sendserial(port#, 9600, 0xC1) set output 1 low, replaced D1 with D2 and C1 with C2 for output 2 and so on.

I'm no programmer so if you know more please post.


@LUMPY I am not a programme too.i most test and know about every sensor made and electronic engineer,but if you need help on any electrical design or any sensor made for robots or commerical products le me know ,or anyone else,i have alot in test equipment



I am using an AP-16+ audio player in my current robot project. It plays .wav files rather that .mp3 files, but it has a built in 20 watt/channel amplifier. Rather than request a special control for this board, would you consider creating a generic matrix control? Similar to the MP3 control with an array of buttons, the user would specify the actual scripting command to be executed with each button press. This control could be used for a wide range of applications.



That's a great idea Jim, a generic control that you can type in your own script. Even better if there a blank window, and you can start to add only the control that you need. For example, add play button, setup script, add stop button, setup script, etc.


@JIM does it have serial or I2C buss or buttons you want to control using digital I/O i can design a matrix circuit using digital I/O



The AP-16+ has a 3 pin header for serial input control from a digital i/o port. The board was obviously desgned for the special effects market but, it has a lot of useful functionality for robot builders. It is available from Parallax. It's more expensive than the Sparkfun MP3 but, it fit my application perfectly.



my favorate is the one that uses I2C commands it free's UP DIGITAL PINS on EZB but the onethats post here can work on some designs looking to get 5 of them


@ Louis T

That would be ideal if you could add only as many buttons as you needed and you could label the buttons with a descriptive name. I hope DJ is listening.

Jim Milan


i see 40mp3 is $16.95 and at 10 it drops to $12.95, so will buy 10 of them i do have many robots and might need spares,i did get I2C at a better price when i bought many


DJ, i found this open source MP3 module, it has schematic and firmware if you want to manufacture them, looks to be great addition for EZ-Robot. It has virtually unlimited # of track "65,536" songs/tracks:D and use microSD up to 16GB, has lot of configurable manual inputs/outputs, baudrate support: 1,200, 2,400, 9,600 (default), 19,200 and 115,200 bps.


most open source you cant manufacture,many because it open to anyone who wants to make the board and not for resale,thats the reason of open source projects

looks very good the design,but very hard for robot builders to make,its surface mount parts

also looking at the design of the circuit the main chip VS1011 IS HIGH COST sparkfun does make a breakout board for $19.95 ,a i see the sell the 48 pin surface mount chip for $19.95,something must be wrong other micro chip can through hole chip,then need a sd card holder looking at may be $60 total in parts and pcb can get a much lower price on parts from china ,since most chips are cheap there ,but need to buy a lot of them



My sound boards came in today.

I'll be tinkering around with them tomorrow night. The wiring looks to be pretty basic.

Still not sure on the whole Input/Output ports.

I understand we can set I/O 1-6 high/low via serial command.

I want to be able to wire a button (or whatever) that when depressed plays a certain sound track. So not quite sure, would the input need to be pulled to ground? Then have a script to monitor the inputs for high/low and play the audio file accordingly?

I'll tinker with it, no biggie If it won't do that. It's still perfect for cheap audio for my Omnibots.


Hey Lumpy,

Yes, the I/O port only support input over serial command, it acts like a digital switch so you can turn LED on/off, you can connect low current device like LED directly to each port but not buttons. Looking on the bright side you get 6 extra digital on/off switches that don't take up EZ-B digital ports :)

The other MP3 module i shown does have direct play mode for up to 8 tracks with push buttons, that's why i wanted to get that working, with DJ latest release to support 4800 baudrate, i will do some testing when i get the time.


No worries,

These are just going into the Omnibots. I'll just use the digital on/offs as suggested.

Still a good cheap alternative MP3 module.


Gave it a whirl tonight. Very easy to setup and control with the .ezb file supplied in this thread.

Definately need an amp to use. I'm waiting for my amps to arrive but tried it direct to my Omnibot speaker. You can just barely hear it. Very easy to send serial commands and control.

Recommend to anyone looking for a simple MP3 playback module. $16.95

Now to create some random sound scripts.


Awesome! Glad it's working for you. Yes the amp is a must the module itself doesn't have built-in amplifier, The first time i thought it wasn't working until i put my ears against the speaker, then i was so excited it worked and knew i needed an amp.

Good thing is you get to choose your amp and speakers size what suits your robots. Best thing is even with amp still cheaper than MP3 Trigger, speaker is free from your robot/toys usually :)

If you get a chance to get the random sound script done, can you post it? Thanks.


I should make a breakout board with a headphone jack and an amplifier on it for this mp3 player


fairly simple circuit DJ a op amp and few componets.i a higher speaker out is needed,better to get it on ebay

about the DFRduino Player for $25 i found out it does serial and true I2C buss plus not limited to 40 or 199 MP3 songs,can play as many that will fit on a SD CARD

#38 you have data sheet for DFRduino?

Czech Republic

Are these mp3 players usable with EZ-B without any special scripts or codes ?


none of them will, you need to use custom script and sendserial command (very simple), the one i posted is easiest to use, read first post for details amd EZB script file example i posted. I read on the I2C mp3 module but passed for now because too long documentation and complicated.

Czech Republic

It seems that is easier to use MP3 Trigger V2 with EZ -B.


With MP3 Trigger you still need to configure your own script to play back different track when you want your robot to speak/make sound, only difference is using ARC command instead of to sendserial command, but whatever works best for you :)


i did a comparing on MP3 trigger and DFRduino Player FOR $25 and found out is much much better and best part unlimited MP3 files and does tie up I/O PORT ,it uses I2C port where on the same line you can have more then 20 I2C devices,just by changing the I2C address


I've got the MP3 module Louis posted. They setup and configure very easily. It uses very simple serial commands.

The MP3 trigger is also very simple to use. I have one in my R2 droid.

You just need to decide what features are important to you.

How many MP3's do you want to play? Do you require external triggers?

I've got the smaller 40 track MP3 modules for my two Omnibots and Wall-E. I use the larger MP3 trigger for my R2 which uses a schwack of MP3's.

Czech Republic

Yes, I understood, but for me as greenhorn is easier to use EZ-B or not ? For Wall e purpose


I like the I2C features but the long data documentation threw me off, was reading and trying to find instruction to using it but couldn't get it, the one i posted is very simple, data sheet get right to the point and i could understand it right off without wasting too much time reading, don't need too much technical stuffs on there if you know what i mean. The simpler the better as most of us don't have enough knowledge to know what all these technical terms and data means.


every mp3 has good and bad, i found out I2C commanDs are easy to use and faster but i loved the most is unlimited mp3 files ,where on the MP3 can only add up to 40 mp3 files plus if high speed uart is needed you are out of luck,only one high speed port left on EZB other is used for bluetooth module so if using a roomba ,cant use the MP3 trigger and other robot and devices using high speed port

Czech Republic

I2C is for me little bit difficult and I would rather use MP3 trigger. I know it is expensive, but for that easier.


@robotmaker Can you post example of how to play different track using i2c command? perhaps it will make it easier for all of us with trouble understanding the data sheet.

Why would you need high speed for MP3 Trigger? you can use any of the other 19 digital ports.


higher speed is always better faster loading and more

plus on my design all I/0 PORTS are used up,i/o ports are for sonars,servo's and controlling led or relays and mp3 or others and after using them ,pretty soon none left over, i do see its great for small robots like WALL-E and few others but what i look at is using very little digital ports as you can thats the best thing about I2C ,i think KKEAST is using I2C MP3 or looking in to it since he using I2C port for other modules on his rad robot


@ Louis T - This looks like just what I need for my B9 hack. Being on a tight budget, every dime counts, and he doesn't have that many phrases I want to use so 40 would be great. Am I right that you can select the phrase you want him to speak? When you want him to speak it? So it appears he is responding to you?


Yes Bret, just use the sendserial command when ever you want him to speak, very easy and simple, you can also turn LEDs on/off synchronize with the track you want to play using the 6 input/output command, those are like digital switches, but you need separate power for multiple LEDs since the board can only handle 1 LED per output. Also check out the EZB example file i posted, it might help. I like budget and simple too! Your B9 is looking great, can't wait to see him completed :)


I've got (3) more of the 40 MP3 modules on the way, plus a replacement for the one that crapped out.

I received this response and picture when I was inquiring about the replacement module.

"We recommend that you connect a resistor between the audio output and the amplifier input. This may prevent the amplifier from damaging the module."

User-inserted image

Can someone translate? How would adding a potentiometer help/work?


@Lumpy That's odd, i don't why you need the pot, may be someone else will have a better idea. Was there anything burnt on that broken one? Are you combining all these into one robot or use for separate robots?


No magic blue smoke or anything. It would light up and go through the motions of playing an MP3 but nothing would come out. Just started doing that out of the blue.

I confirmed with my other MP3 module, it wasn't the MP3's on the memory card, amplifier, speaker or cabling. Just kinda gave out on me.

So ya I'm kinda curious how adding resistors to the picture would help?

These are all for separate robots (2-Omnibots, 1-Wall E) for now.


by adding a pot you can limit the volume and at the same time keep the speaker from going bad


Okay Louis T, I got my amp, mp3 trigger, and sound bites for the robot. Thank you for all your work on this cheap alternative. I will be working on it this weekend and hope to have a video of B9 speaking - Yay! On a side note, I have a little over 100 clean B9 voice clips in mp3 format if anyone wants a copy . Just let me know and we can figure something out.


So if we want more than 40 phrases we need a second ezb ? Or can ezb control more than one of these boards?


@ bret.tallent...That is cool, im glad to see others using this method :)

@ jstarne1...I believe you can hook up as many boards as you need, because it doesn't use the native ARC MP3 scripts, so just use the sendserial command to different digital ports so it can tell which board to play which track.


Okay, got my memory card loaded with my 40 mp3 files last night. Tonight I will wire everything up as you have outlined previously. And if time permits, I will play a track.


Awesome brett! Thats great. I need to get a couple of these mp3 boards. The initial link shows them sold out. Where can I buy them? Thanks guys


Well I dont know which ones are compatible or not. What should I look for?


I'm looking for one too. Just doing a little snooping on Ebay and seen this. Less then 6 bucks ... WOOT WOOT ... will it work?

Heres more info if needed:

Please send a link if possible to the one you are all talking about.


#66 many do you need? I have 5 new units that I don't need right now, same price + s/h? Let me know. Thanks


Hey Louis T - did you ever get that 199mp3 board to work? Also, if you had an extra one of the 40mp3 boards I would really like to buy it. I kinda ruined mine.....soldering iron and a lot of curse words....Any way, if you could help a bot out that would be great! Thanks, Bret


I found another module on MDFLY that will use up to 99 mp3s and uses the TF card (up to 32g). It is smaller and uses less Voltage. It is only $20 so I bought one. It works just like the one mentioned above. Here is the link SD/TF Card


That's nice. I got 5 of those 40s board if anyone needs one. I never got the chance to work on the 199MP3 board, think i saw that 99 one before but i didn't go for that because it was over $30 at the time, i think they have just lowered their price. The other reason i use the 40MP3 board is because it can run off 5V input so you don't need an extra step-down regulator, the 99MP3 board use 3.3VDC input so you need to care of that. Good find though! Let me know how that work out.


I'll take one. Can I paypal you the money? How much?


Yes I believe i got it for $16.95 + s/h, sure send me an email thru


Louis t I would love to get a couple of those. Are they on the aprohobbies website? Thanks


Actually i don't sell them, these are my spares ones i ordered just saving for projects but i don't need them now, i have 5 of them and bret.tallent wanted one so that leave me with 4 to spare. Just send me an email and let me know how many you need, i'll send an invoice over.


Thanks Man, just sent email. I also like your store! Added to my bookmarks. Lots of stuff I want......


@bret.tallent...I got it all packed and ready to go out today. Thanks for the compliment:) really looking forward to see your order.


@Louis T - I have been playing with this set up on B9 and I really like it! Using a second Op-amp I am able to get my LED array to light up in sinc with the sound too. I had one question on you MP3 init files. Do you need both the INIT script and the VOL MAX script? It seems redundant because the scripts are identical after the (200) in the INIT file. Also, do you need the STOP MP3 script? Just curious.




Bret...That's awesome! That sounds interesting, could you post details on how you did that? I haven't work on this for a while but if i recall correctly, you only need the init file so it goes to Max volume at the start, the Vol Max script is just there as example, or if you need quick way to turn it to Max volume instead of running multiple Vol Up script. The same for Stop MP3 script, it's just an example, you don't need it unless you need to stop the track while it is playing in some situation.

Best robot building! Louis


Thanks! I used an op-amp kit in this pic Linky and took the R Out from the MP3Trigger into this and the output from this to my LED's. This way I can adjust the power to the LEDs via the op-amp and they light up with the output from the MP3. It works really well.


is there a link where you purchase the op-amp kit? Thanks.


Hi All, I've installed this setup (The 40MP3 Module) and initially it worked fine. In fact, when I power up the EZB, the sound card plays the first sound file. However, although using the example script (and consequently, my scripts) I was able to control the board, not however, I can no longer control it (with mine or the example scripts.). There is no change to the indicators on the sound card; fast flashing blue, constant red.


Seems I'm going backwards, rather than forwards : (


OK, can't find my original post about yet another alternate MP3 player from MDFly.

Just installed the AU5032 TF CARD MP3 PLAYER MODULE. Linky

The data sheet says it needs a Logic level TTL voltage converter: Linky

However, this converter seems to be just that, the logic signal and voltage. The "power" to activate the MP3 card requires that you feed another 3.3v source into the line:

User-inserted image

So I wired it all up, and it works fine (although you will still need an amp.)

Any ideas on how to power this thing without an external supply?


hi.. does anybody knows this "wtv020 sd mini" ( ) do you think it will work with ez-b ? any idea how to hook it up ? thanks...