erco
Senior Member
2/16/22 Edit: added shuffle to attached program.
2/19/22 Edit: fixed BUSY conflict, see next post for updated hookup circuit
Starting a new thread on the DY-SV17F module I mentioned in Jeff Haas' thread on the YX5300 MP3 player. Unlike the YX5300, the DY-SV17F requires neither a micro SD card nor an amplifier. It's cheaper ([~$2 if you buy ten](https://www.aliexpress.com/item/4000531948607.html)) and has 4MB flash memory and a 5W audio amp onboard. It has a micro USB connector to load your MP3/WAV files through a USB cable, quick & easy. Control the player using 9600 baud SEROUT commands, running the 08M2 at 8 MHz.
Multiple modes are available but I'm primarily interested in UART control, where only 3 lines are needed to connect your Picaxe to the player, +5V, ground and serial data. 4MB is sufficient for many projects. For reference that's the size of a typical 3-minute song. You can have as many smaller files as you like, using the usual names, 0001xxx.mp3, 0002xxx.mp3 etc.
The module has 5 **EQ**ualizer settings for normal, pop, rock, jazz and classic! I can't confirm the 5-watt rating of the amplifier, but it's PLENTY loud on my tiny 8-ohm pillow speaker. BTW the 5W spec is for a 4-ohm speaker. As my video shows, I put two series LEDs in parallel with the speaker and they flicker with the sound.
Download the datasheet at https://electropeak.com/learn/interfacing-dy-sv17f-audio-mp3-player-module-with-arduino/# from https://electropeak.com/learn/interfacing-dy-sv17f-audio-mp3-player-module-with-arduino/
Issues:
1) It's a little finnicky about how the files are loaded, some of mine played out of numerical order when I copied them randomly and renamed on the board. This long recommended method works: _Empty the storage device.
Make sure there aren't any trash files on the storage device. **(I did a quick format)**
Copy the files in the order they should be played (it helps to have them named sequentially, sort by name and copy the files, usually they will be copied in sequence order_ but Jeff Hass recommends the utility DriveSort.
2)Pin 12 is a dual-use pin, initially used to set the mode, then to provide a BUSY output signal. I tried it and it does give a busy-low output but it generated motorboat noise in the audio output. The audio is good only if it's tied directly to +5V. So for now, no busy output, your program has to know how long each file is and act accordingly. (Edit: solved, see next post)
Here's my video showing both an 08M2 and another micro controlling it.
All of the various UART commands can be found in the datasheet. Some Picaxe examples sending data from pin c.2:
Play: serout c.2,T9600_8,($AA,$02,$00,$AC) has no argument, the final AC is a checksum for all the other values AA+02+00 (bust out Windows' calculator in programmer mode)
Next: serout c.2,T9600_8,($AA,$06,$00,$B0) no argument
Set EQ to jazz- 3: serout c.2,T9600_8,($AA,$1A,$01,$03,$C8) ' bolded for reference only
Play file 5 : serout c.2,T9600_8,($AA,$07,$02,$00,$05,$B8) ' bolded for reference only
Add a 100 ms pause between serial commands. Starter 08M2 code attached.
This module has lots of input pins and several modes to support triggering via external pushbuttons in lieu of UART control. Some detail at:
2/19/22 Edit: fixed BUSY conflict, see next post for updated hookup circuit
Starting a new thread on the DY-SV17F module I mentioned in Jeff Haas' thread on the YX5300 MP3 player. Unlike the YX5300, the DY-SV17F requires neither a micro SD card nor an amplifier. It's cheaper ([~$2 if you buy ten](https://www.aliexpress.com/item/4000531948607.html)) and has 4MB flash memory and a 5W audio amp onboard. It has a micro USB connector to load your MP3/WAV files through a USB cable, quick & easy. Control the player using 9600 baud SEROUT commands, running the 08M2 at 8 MHz.
Multiple modes are available but I'm primarily interested in UART control, where only 3 lines are needed to connect your Picaxe to the player, +5V, ground and serial data. 4MB is sufficient for many projects. For reference that's the size of a typical 3-minute song. You can have as many smaller files as you like, using the usual names, 0001xxx.mp3, 0002xxx.mp3 etc.
The module has 5 **EQ**ualizer settings for normal, pop, rock, jazz and classic! I can't confirm the 5-watt rating of the amplifier, but it's PLENTY loud on my tiny 8-ohm pillow speaker. BTW the 5W spec is for a 4-ohm speaker. As my video shows, I put two series LEDs in parallel with the speaker and they flicker with the sound.
Download the datasheet at https://electropeak.com/learn/interfacing-dy-sv17f-audio-mp3-player-module-with-arduino/# from https://electropeak.com/learn/interfacing-dy-sv17f-audio-mp3-player-module-with-arduino/
Issues:
1) It's a little finnicky about how the files are loaded, some of mine played out of numerical order when I copied them randomly and renamed on the board. This long recommended method works: _Empty the storage device.
Make sure there aren't any trash files on the storage device. **(I did a quick format)**
Copy the files in the order they should be played (it helps to have them named sequentially, sort by name and copy the files, usually they will be copied in sequence order_ but Jeff Hass recommends the utility DriveSort.
2)
Here's my video showing both an 08M2 and another micro controlling it.
All of the various UART commands can be found in the datasheet. Some Picaxe examples sending data from pin c.2:
Play: serout c.2,T9600_8,($AA,$02,$00,$AC) has no argument, the final AC is a checksum for all the other values AA+02+00 (bust out Windows' calculator in programmer mode)
Next: serout c.2,T9600_8,($AA,$06,$00,$B0) no argument
Set EQ to jazz- 3: serout c.2,T9600_8,($AA,$1A,$01,$03,$C8) ' bolded for reference only
Play file 5 : serout c.2,T9600_8,($AA,$07,$02,$00,$05,$B8) ' bolded for reference only
Add a 100 ms pause between serial commands. Starter 08M2 code attached.
This module has lots of input pins and several modes to support triggering via external pushbuttons in lieu of UART control. Some detail at:
Attachments
Last edited: