- Add functions to your Dotklok: Remote ControlPosted 5 days ago
- A useful and simple IO Shield for ArduinoPosted 1 week ago
- Open Compute Project: open design applied to data centersPosted 2 weeks ago
- A Look into the Open Source Hardware CommunityPosted 2 weeks ago
- Raspberry Pi: giant hacks for a tiny boardPosted 3 weeks ago
- Hack your Valentine with HeartThrobPosted 3 weeks ago
- A new Wi-Fi Shield to connect your Arduino to the InternetPosted 4 weeks ago
- Interview To Gabriella Levine, OSHWA presidentPosted 1 month ago
- LEWE: the biometric wristbandPosted 1 month ago
- An Intel Galileo WalkthroughPosted 1 month ago
Embedded MP3 module
This embedded MP3 module is an universal and compact circuit (37 mm x 27 mm) for playing MP3 audio files. The MP3 module can be used in embedded systems.
The MP3 files (up 65,536) are stored in a micro SDcard.
Controlling the module could be done either by buttons and digital inputs or via TTL serial interfaces.
The MP3 module (developed by Luca Pascarella info at lpsystems dot eu) is based on MP3 converter VS1011 and a PIC24 and can play up to 65,536 songs or voice messages stored in a microSD. Each track can be selected via serial lines or by using 9 buttons or switches (64 mp3 files with dip switch). If you choose the serial communication you have to use a microcontroller, using the 9 digital lines you can control the player with logic signals from stations of various kinds, such as tension-indicator lamps, relays, etc.. The module can be used to play voice messages in vending machines, telephone systems, in the car to inform the driver of the vehicle’s condition and environmental ones, in alarm systems, to assist configuration and inform about events that occurred, and in many other areas yet. The device supports micro SD with capacity up to 16 GB and can be powered with a voltage of 3.3 Vdc or 5 Vdc selectable. The module has a single in-line single-connector positioned on one side of the PCB, so you can better manage the space and mount it also in upright position.
In “Pin-to-Pin” mode is provided the use of three buttons (PLAY / STOP, VOL UP and VOL DOWN) and a 6-way DIP switch connected to the module, while “Serial” mode the serial communication is with TTL signal level. The device can also be used in “Mixed” mode that allows you to issue orders both with serial port and pin-to-pin input.
In the mode Pin-to-Pin (mode 1) to perform a song you have to select the track number using binary inputs IN1, IN2, IN3, IN4, IN5 and IN6 and then run the selected file simply giving a ground pulse on the PLAY line. Applying logical zero on the lines VOL_UP and VOL_DOWN, you can respectively increase or decrease the volume.
In serial mode (mode 0) commands are very similar to the Pin-to-Pin, except for the choice of the MP3 file, which must take place in several stages within a time limit fixed in the configuration file. The special command # allow to insert the name of the track and the second special command * and the input.
For example, to play the file 65.mp3 you must perform the following steps:
• Step 1 (mode track name) = #;
• Step 2 (first byte of the track name) = 6;
• Step 3 (second byte of the track name) = 5;
• Step 4 (mode locking of track name, optional if you wait timeout) *;
• Step 5 (Play) = P;
• Step 6 (Stop) = S.
Mixed mode (Mode 2) allows to give orders both serial and pin-to-digital input pin. In this case the number of inputs usable is 4, for a total of 16 tracks addressable with Pin-to-Pin mode.
The names of MP3 files must be a number from 0 to 65535 followed by the extension .mp3 (for example, 0.mp3, 1.mp3, 2.mp3, 3.mp3 16.mp3 … … 65535.mp3).
The configuration of the module is made with a file (config.txt) saved on the memory card. The firmware of the MP3 player is able to recognize a new memory card and create the configuration file with default parameters, this is accomplished even when the configuration file has been damaged in some part. The generated file will be written to the root of the micro SD. The file consists of two parts: the first introductory to the project and useful to recall the description of the pins and some important notes, a second corresponding to the configuration section. In particular, all lines marked with the symbol “#” correspond to comments, the other concerning the configuration parameters. The configuration parameters are as follows:
Mode: lets you choose the mode of operation.
The possible values are:
0 for the serial mode;
1 (default) mode for the Pin-to-Pin
2 for the Mixed mode.
Parameters for Serial Mode or Mixed:
Baud rate: indicates the communication speed of serial port (allowed values are: 1,200, 2,400, 9,600 (default), 19,200 and 115,200 bps).
Echo Command: The parameter that enables the echo command sent and whose possible values are 0 (off) and 1(on, default).
Extended echo Com: Similar to the previous command. When enabled, the serial port returns a description of the requested action (enabled by default).
Play: allows you to associate two distinct functions to control play, and if the associated value is 0 before sending the command “P” or “p” is not a trace was selected, the command is ignored. If you have room for 1 (default), the play command will perform the last song played previously in memory.
Timeout defines the duration in milliseconds of time for entering the track number, the value can vary from 1 to 10,000 ms (default is 3000, ie 3 s).
Parameters for Pin-to-Pin and Mixed mode:
Time Wait Play e Time Wait Vol: are similar and the value assigned corresponds to the time that elapses before the next state change is detected, and their value can vary between 1 and 5,000 ms (the default is 100).
Play: If set to 0 the change of state of the input pins Play (with a running track) is the pause function as long as the track number with the selected input pin (IN1, IN2, IN3, IN4 , IN5 and IN6) is not changed, if the value of the track changes, play action corresponds to the stop function. If the parameter is set to 1, the associated action at play when it is running a song is always and only stop.
Mixed mode-specific parameters (for enabling and disabling the action of the input pin):
0: Ignore the action
1: (default) enables state changes.
Schematics and BOM