* MP3 Shield * - Rogue Robotics rMP3

Sparkfun's MP3 breakout is far less functional. I really had to search high and low for a "high quality" and flexible MP3 board for my JukeBox project I'm building. There just aren't that many out there. It was pure luck that this one was already arduino compatible, because I was quite prepared to fashion one into an arduino ready product.

Sometimes less is more. :wink:

for example

I never had a problem with that shield - until I tried to use it. You pay less for more work (and more headaches, and more technical jargon, and so on). If that turns your crank, go for it. The adage always holds true: "You get what you pay for".

I'll put forward a challenge to you though. If you can explain the differences between that board and the Rogue Robotics rMP3 shield, I'll send you a free rMP3 shield. [Offer only valid for Sannin :wink: ]

b

P.S. I'll steer clear of the fact that they also use Arduino in their product name when it clearly isn't endorsed by the Arduino Team.

It's awesome!!

sorry if the question is silly...

I am building a small installation where PIR sensor will detect presence and start playback of two audio files simultaneously at two different locations.

If I stack two rMP3 players on top of one arduino board, will both of the players start playback simultaneously when 'play' command is sent through pin 6, or do I need to rewire pins on the second shields and have a second 'play' command sent through the rewired pin.

thanks,
M.

There's never a silly question.

Actually, that's a clever question. If you have two rMP3's stacked, using the same serial pins, you could send commands to both of them simultaneously. Works great (I even tested it out here). Just don't expect to get any meaningful data back from the rMP3s - they will both be vying for control of the Arduino receive pin.

Here's the code I used:

#include <RogueMP3.h>
#include <NewSoftSerial.h>

NewSoftSerial rmp3_s(6, 7);

RogueMP3 rmp3(rmp3_s);

void setup()
{
  rmp3_s.begin(9600);
  
  rmp3.sync();
  rmp3.playfile("/ump3test.mp3");
}

void loop()
{
}

In theory, you could stack 10 rMP3's up on the Arduino, and send a single command to start them all at the same time. Have the same named file on each card play a separate instrument track from a symphony, and they would all play together. Of course, you'd need a 10 channel stereo mixer to mix all the outputs, but that's another story.

b

Very nice. I like the ease of programming. But don't you think it's too pricy? I mean there's the Arduino MP3 Shield (micro4you.com is for sale | HugeDomains).

This costs only 30 dollars, almost 50 dollars less than the rMP3....

DeadEye - Same issue as Sannin (I guess he/she didn't want a free rMP3).

That board is just an MP3 decoder + SD card socket. It doesn't do anything. You still need a controller.

So, $30 for that board, plus $30 for an official Arduino, and you're at $60. Then you will have to do the interface between the SD card and the MP3 decoder - tying up the Arduino which could be doing a lot of other things.

I'm definitely not putting down that product. It's great if you want to learn how to use SD cards and the MP3 decoder. Go nuts if that's what you want.

The rMP3 can run on it's own, or can be controlled by an Arduino (or another microcontroller) with very little interaction.

Bottom line:
You'll need more than just that $30 board to get MP3's playing. And you may not have much space/time left on your Arduino for anything else.

b

Oh, sorry didn't notice that. If that's the case then I'm definitely buying this one over the MP3 Shield. Seriously, though, I thought the MP3 Shield didn't need any other parts. If what you say is true then it seems the rMP3 is way better.

Thanks for the explanation.

Can you tell me what are the differences between the uMP3 and rMP3?

The uMP3 has been around since 2003 and is tried, tested and true. It's original design was intended for OEM integration. It uses the ATmega32 controller running at 7.3728 MHz.

The rMP3 can also be used for OEM integration, but is also an Arduino compatible shield. The controller (ATmega644P) is running at 2.5x the speed of the uMP3, enabling more processing in the same amount of time. The larger flash size on the controller also provides more space for firmware improvements.

They both have the same base function set (playback controls, external triggering, config on card (COC), file access, etc). You will see more improvements on the rMP3 versus the uMP3 because of the flash constraints.

You can use either with an Arduino (libraries work with both), but the rMP3 can piggy-back directly onto an Arduino:

Have you considered providing a simpler way to reroute the jumpers on the rMP3? I had a tough time soldering new wires to the jumper pads with my 2.3 mill soldering iron, and would have loved to have simply been able to move a jumper sock, instead... This might not be the best solution, but there must be other methods for providing for this? :slight_smile:

I had. The problem becomes: how does one reroute signals? Do I provide a couple of options? There currently are no standards for what pins are used by what shields (considering the vast amount of shields around, it might be worth making a list of pins used by them all).

Another shield I had considered making was what I called a "SwitchBoard" (i.e. like the old style telephone switchboards). You simply use wires to reroute signals (it's all flush or below the female headers). But I figured that not many people would use it.

I chose to put down some pads. Unfortunately, I used 0603 pads. A bit small to work with. Sorry about that!

The next hardware version will have something easier for rerouting the signals.

Out of curiosity, what pins did you reroute to and why?

b

I rerouted to 3 and 4, simply because 5 and 6 are used by my LED Keypad shield, which I need for my Jukebox project. When I first looked at rerouting, I was hoping to use the little holes that lead to the pads, by threading a simple tinned wire through each. However, those holes are too small, too... It could have been a nice option, though.

Geez. I forgot you posted that earlier.

I was thinking of maybe just using some standard holes in place of the pads next time.

Have you got a blog/page for your jukebox? It would be great to see.

b

Not yet, my site is down, but I do plan on posting a start to finish mini site. I'll be sure to send you a link when it's up. Maybe you could use it as a case study?

That would be great! Thanks! Let me know if you need any help with coding - I'd love to help.

b

considering the vast amount of shields around, it might be worth making a list of pins used by them all

I agree with this but obviously not the easiest thing to do.

The idea thing would be an interactive list where you can add shields to see which pins are the same and which of the pins on those shields are re-routable (if any).

Anyone want to help take on this challenge?

Mowcius

Er, no. :slight_smile:

haha, thanks! ;D