We are using Arduino Uno revision 3, with TinkerKit DMX Shield rev. 4 and Sparkfun Mp3 Shield.

We uploaded the Mp3 Shield example called FilePlayer and after we open the serial monitor, the interface is there and working. The problem is that it won't output the music from the SD card.

If we ONLY stack the Mp3 Shield onto Arduino, it works.

Is there some king od incompatibility between the DMX and Mp3 Shield, and if there is, what would be the solution, maybe some kind of bypass, since we aren't that familiar with what pins the DMX shield uses for it's purpose. ATM the Tinkerit site is down so we can't acess the TinkerKit DMX Shield datasheet.

1 Answer 1


Yes, overlapping is a problem, by default the MP3 Shield uses digital pins 2(DREQ),6(mp3CS),7(mp3DCS),8(RST),9(SD-CS),11(MOSI),12(MISO),13(SCK)

The Tinkerkit DMX Master Shield R4 uses 2(RE-ENn),3(VTX),4(VRX),5(DE-EN),6(D6)

So there are conflicts with D2 DREQ vs RE-ENn and D6 mp3CS vs D6.

The DMX Master Shield basically converts the UNO's serial to DMX. If nothing is at first included into the Sketch for this, then the problem is with only D6. Leave this jumper OFF. And I suspect the MP3 Shield will work stacked.

To use them together you can move the pins, as demonstrated at https://www.youtube.com/watch?v=behMgV3tUr4. Noting that is for different pins. And of course you will need to subsequently change their definition, in the sketch.

  • We swapped pins D2 -> D5 and D6 -> D10 following your tutorial, changed the input declaration in the SFEMP3ShieldConfig.h script and after we plugged in everything it still didn't play (Arduino , stack DMXShield and MP3Shield). We removed the DMXShield and stacked just the MP3Shield (still with the bypass), and in the interface used the BEEP test, and it works. But the music from SD card is now playing just for 1 second and stops.
    – Sasa
    Commented Apr 12, 2015 at 19:41
  • Please note that D2 on the Arduino UNO is a interrupt pin for INT0. The default behavior of the SFEMP3 shield's library is to use interrupts. As per your YouTube comment you moved D2 of the SFEMP3. I would not recommend moving this wire. As it must be moved to another INTx pin. And on the UNO that is only INT1(D3). Rather I would recommend moving the DMX shields with this technique to pins not used by the SFEMP3 shield. That is why it plays 1/2 second and stops there is no IRQ to do a refill. Did you leave the D6 jumper OPEN? that is likely the hot problem, blocking the SdCard.
    – mpflaga
    Commented Apr 13, 2015 at 17:42
  • I would recommend a simple Debug technique of using jumper wires. Stack the MP3 on top of the UNO and Jump all the wires from the MP3 to DMX. This emulates it being stacked. Then start pulling wires until it works. Or the opposite. start with just GND and VCC and then add wires until it stops. Bingo you will know what broke it. and then can learn from the schematics as to why. I have learned very little from what works. But much more from what does not.
    – mpflaga
    Commented Apr 13, 2015 at 17:45
  • Thx for the continuous support. It still doesn't work, but your advices have been very educational. We did as you suggested: we wired the MP3 interupt pin (D2) to the D2 on Uno. And instead, made the bypass from D2 to D5 on the DMX shield. As for the D6: we wired the MP3 D6 to Uno D6, and bypassed DMX D6 to D10. All of this to prevent the DMX from getting into the MP3's wheels. To answer you question, no, in any of our attempts, the D6 was never "cut-off" without being wired to another pin). Although the serial monitor didn't show any errors, the beep sound test and track made no sound.
    – Sasa
    Commented Apr 14, 2015 at 18:25
  • We had also tried using Analog pins for bypass since on the MP3 shield, according to Sparkfun's docs., pins free to use for other than the MP3 itself are just D5 and D10 + the analog ones, and always the same story: MP3 alone works as it should, but as soon as we bring in the DMX it stops working. On the side note, the DMX always work as he shuould, bypass or no bypass. No problems there. Our next step is the Debug technique as you recommended, to find exactly where the conflicts happen. Maybe there is something more that the DMX uses, other thanD2 and D6? Will post results tommorow.
    – Sasa
    Commented Apr 14, 2015 at 18:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.