MP3 Player (DMX Controllable)

MP3 Player

The MP3 player is designed to be used along with the Effects Controller for synchronizing music and lights. MP3 files are placed on an SD card into the MP3 player. The Effects Controller sends commands to the MP3 player to start playing particular files using a standard DMX protocol.

When the Effects Controller starts playing the first lighting effects file on its own SD card, it send a command to the MP3 player to play file 0.mp3. When the EC starts the next lighting file, it tells the MP3 player to play file 1.mp3, and so on.


The MP3 player requires 9-12vdc at about 250ma. This is via the power pins on the side of the case.

The MP3 player reads files from an MMC, SD, or SDHC card. The card must be formatted as FAT or FAT32. Up to 100 files are supported by the controller (though the Effects Controller only supports 50). The files must be named 0.mp3, 1.mp3, 2.mp3, etc up to 99.mp3.

The audio is output via a 1/8 inch stereo jack. Headphones or an external amplifier can be plugged in.

Control is via an RJ45 jack implementing the DMX RJ45 standard pinout (pin 1 D+, pin 2 D-, pin 7 and 8 Ground). Normally you would connect a standard ethernet type cable from the MP3 player to port 4 or 5 on the Effects Controller. The MP3 player has a built-in DMX termination resistor and so should be the last controller on a DMX network. A jumper on the PCB marked TERM can be cut it this is not wanted.

Part of the MP3 player is made by Rogue Robotics and is described here in detail for those that need additional info on what it supports. The DMX control part was added by Minleon.

MP3 DMX Protocol

The DMX protocol is described here for non-standard uses. In general you do not need to know anything about it. The MP3 player reads commands from a DMX packet starting with the first data byte. The commands are:

'P' #          P followed by a single byte (binary file#).  Starts playing file "#.mp3" from SD card.

'M' 'P' 'S'    Three bytes, "MPS".   Stops playing current file.
'M' 'P' 'V' #  Four bytes, sets volume level from 0-254.  0=loudest.  16=default.