Loved this video, it answers a lot of issues to do with audio player modules in a very in depth way. The longer more thorough explainations are very much appreciated.
The drive sort tool is an absolute godsend. The frustration with having to redo the audio file indexes after adding or removing an audio was incredible. I wonder why we are restricted to using the indexes and if there is a library that allows playing files based on file name strings. Anyway, thanks again my good man
expected to hear about the vs1053b from the thumbnail! they do a lot more than play samples and you can write your own dsp code if the rom code doesn't do what you want. they can also play midi files with a given sound bank, or the included standard midi ones. thank you for making this video it will be helpful the next time i'm asked to figure out a dfplayer project :)
Amazing video. Question. For the DY-SV5W, if you're using it with the ESP32 that only has 3.3v. Do you need a voltage converter to up-convert the voltage to 5v?
No! Quite the opposite ;) All the DY players run at 3.3V logic. So, if you connect them to a 5V device, that's when you need the level convertor. For ESP32/ESP8266, just connect the Tx/Rx lines directly to the GPIO pins. This is explained at ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8obcTTYtjQM.html
Regarding the latency test between the Flash player and the SD card player: You might want to redo that test with the following modifications. Buttons - make all wires the same length. Speakers - make all wires the same length and use two of the same speaker. You've introduced latency in the setup shown.
Electric current passes through a copper wire at almost the speed of light. You're really not going to notice any difference in latency because the wire to one button is 10cm, 10 metres, or 10 miles longer than the other.
This information was exceptionally useful, thank you for the great work in setting this up. I'm planning a hardware soundboard project, and although I'm well versed at scripting, this will be my first "from-scratch" electronics project, as well as my first foray into Python. The tricky part of this project is that the hardware buttons wont trigger a single sound file, but a random one within a specific directory. So I'm leaning towards the DY-SV5W board in serial mode, with Python code to choose a random index to send to the audio board when a given button is pressed. However, I'm unsure of how to know if the max number of files on the MicroSD card from the arduino to be sure the random index sent is within range of the amount of files in a given directory on the card. For that matter, can i even use directories on the card if the Arduino is just sending a single file index number? Is there a better recommendation for my project idea? Requirements: - i can drag and drop MP3 and WAV files to the MicroSD card like ../dir1/sound1.mp3, ../dir2/sound53.wav - i can press button1 to play ../dir1/[randomfile] or button2 to play ../dir2/[randomfile] With my amateur knowledge, i would expect that the file storage probably needs to be accessible on the board doing the logic, which would be the Arduino in this example, is that accurate? Furthermore, is there an Arduino board that can do all this on it's own without needing a secondary audio board like the ones on your video? I appreciate patience, as this is my first dive into the world of microprocessor boards, aside from casual RPi tinker projects.
Hey Alastair, Just looking at the diagram you made for the DY-SV17F but the 5V line from the player is running to VIN on the arduino. Is this correct? I would have expected that you would want to connect it to the 5v pin of the arduino so you can power it from there
is there a board and software that allows you to press a button and it sends a signal via USB that plays a sound/alarm of your choosing through windows operating system.?
Great video! But for the larger form factor modules (DY-SV5W/etc) the only modes I managed to get working are the MP3 mode (pins are commands like play/pause/next/etc) and Serial UART mode. The other modes where pins select a track index did not work no matter what I tried, in any of the modules I bought (All AliExpress, but at least a couple different sellers 🤷♂)
@@PlayfulTechnology It was a while ago, but I think I literally tried all permutations after getting frustrated. Pulling the pins either high or low just did not trigger the tracks (but in UART MOde I was able to play them by index, and in the default MP3 mode I was able to skip between them, all with the same SD card). Where did you buy your modules from? Perhaps Ill try one
@@jonathanlevin7660 I've bought several batches from different vendors on AliExpress - I do normally use them in UART mode anyway, but occassionally use them in trigger mode and not noticed any problem - you just need to have the filenames saved appropriately on the SD card and the DIP switches set correctly.
@@PlayfulTechnology a couple months later I finally figured out the issue.. As you said the filenames have to be correct, I had "0001.mp3" and the module needs specifically 5-digit names "00001.mp3"... The tutorials I saw claimed that the modules use the FAT index, so what matters is the order in which you copy them over. This is untrue. One would assume even if not at least it would sort alphabetically- but nope, specifically 5 digit numbers with postfix `.mp3`. Most "datasheets" for these also fail to mention this, but oh well! once known it's a very solvable issue
Thank you for another great video Alister, How can we reach out to you for your support on a project we have? (Email or something) Great work. Thank you for all you do.
Thank you for the video. Very informative. Would any of these (thinking of dy-hv20t) would play file once powered on, providing that relevant trigger button is in pressed position already? Thank you!
@PlayfulTechnology Can you advise on selecting a speaker? I was planning on using the DY-HV20T in an RC car project (car stereo effects that sort of thing). If I’m powering this board with a 2s battery (7.4v), what size speaker should I use with the board? I have a few spare 4ohm 3W speakers which I presume will work, but I can get a larger speaker for better volume. If I’m powering the board with 7.4V will that limit the speaker power I can use? Cheers.
Great video as always! WRT DY-SV17F, what is the purpose of the three pull-up/down resistors? Since there is only a single connection to each pin, it seems to me those pins could be directly connected to +3.3V or GND as appropriate. I've only needed them to ensure an input does not float in the absence of an input signal.
I'm not entirely sure why the inline resistors are necessary - like you say, to set a logic signal of HIGH/LOW, you would think you could directly connect them to 3.3V/GND, but according to the documentation the resistors are necessary in both cases. This is also the way that the DIP switches are implemented in the 5W/8F boards. You can try without, but be warned in case you get funky behaviour!
Wonderful video. Do you know of any tutorials that show the code to use for either ESP32 or Arduino (have both) after buying either the 5W or 8F (will buy either). If not, how about either of the HT versions (will buy either)? Have been trying for weeks to get something working.
I have a DY-SV5W, when I plug it into my computer with a micro-USB it doesn't show up and I cannot load files. I was wondering if you have any advice as to why this might be happening.
Any advice for someone who works an escape room as the only person willing to fix the effects and boards, I've been thinking about freelancing to other escape rooms
Excellent video, thank you for putting it together. Can you recommend a board that has very little latency that can be used to make an instrument? And do any support playing more than one track at a time? So if you trigger a second track while the first one is playing, they both continue to play?
Amazing again i just love watching your channel, i have a question please, i am currently building an animatronic Parrot using an esp32 and controlling it with a playstation 3 controller. i dont know if you have used esp32 arduino in the fashion im hoping to do, i just love the idea of being able to speak through a microphone and the parrots mouth would open and close using servos as close to my voice speaking as possible. do you think this is something that i could possibly add to what i have already done with the parrot. Many thanks Alistair i hope you can answer my question. I am building it with 6 chans, with 6 servos even though that is a nightmare coding, so i am currently looking for an arduino coder that maybe able to put the sketch together (paid of course) for me if you know anyone.
Do you know of and modules with triggers like these to play two voices at once? I've been using two boards with two speakers but am looking for a small single board, single speaker solution due to space constraints.
One thing that I think is worth mentioning, is that the WAV Trigger lets you play up to 14 audio tracks from an SD card AT THE SAME TIME. This is extremely useful and I have not found a suitable alternative that can do the same thing.
That is true; whenever I've needed multitracked samples I tend to just trigger them off seperate devices (e.g. 4x DY-SV17F wired to the same ESP32), which works out cheaper unless you really need a lot of polyphony.
I need to play a single song from a push button command im trying to get good sound quality i have a 10w 8 omh speaker any suggestions to piont me in the right directions simplest would be great im new to this field.
Nice video.. was looking for something as a Robocop soundbaord for my cosplay.. do any of the devices can "mix" audio tracks, or all play only one track at a time?
I really appreciate this video. I am a senior, with no electrical engineering background. I make simple animated props for a yearly haunted house fund raiser for a 150 year old lighthouse. I am currently trying to add sound to one of my props. With the help of your video, I wired a DY-HV8F sound card with 5 different sounds, triggered by small push buttons. When I use an amplified external speaker, it works great. When I use a 4ohm 3w speaker, that I want to put in the creature’s head, I can barely hear the sound. I’ve tried adjusting the potentiometer, but it doesn’t have any effect. What am I doing wrong?
Oh my god you have somehow made a video that speaks to exactly the issues I was having with DFmini player!! Thank you thank you. I couldn't find answers anywhere about why my audio was cutting out on it. 🙏🙏
This was great instructional video. I learned a lot and now understand these boards way better. Two questions regarding the DY-SV5W board. Is there a mode to play upon power up and continuously loop the same sound track when using the 8 input trigger mode? Is the 3.5 mm jack a "line level" output (or does the volume pot change its output) that will allow you to interface to a power amplifier source input of your choosing? THANX
I'm working on a project with integrated sound, similar in theory to the Jawduino project. I'm using the DY-SV5W module and I don't think it's behaving as advertised. I'm using "I/O stand-alone mode 0", in which you trigger the module and it plays the song once and then quits. According to the documentation, and comments from several users, the busy line is active the entire time the sound file is playing. But what I'm seeing is that the busy line falls after about 100 milliseconds, long before the sound file ends. Any ideas? Does this match your experience?
Can you suggest a module with following features; 1: call incoming, receiving, decline etc 2: music play with my phone via bluetooth. 3: cant connect buttons to it for volumes, next etc which directly change songs in my phone just like normal car lcd does. 4: serial communication is important ad i want to show the song name, length etc on my lcd. I am making a car navigation lcd with similar features like a modern car i.e calls music etc
NOOB question - seeking to run Audio from an ESP32 to a Medium Surface Transducer (4 Ohm 3 Watt) - I have been advised I need an AMP (TPA2012). the question is, do I need an SD card breakout, controlled by esp32, or is there an integrated breakout with an internal amp and SD for the output I require (alternative a solid state flash breakout)
Automatic arati player. What I need is a music player play audio file from SD card on a perticular time. Example: 1. Player should turn on at 06:00 am play audio track 1 for 26 minutes 44 seconds and turn off. 2. Turn on at 12:00 pm play audio track 2 for 19 minutes 55 seconds and turn off. 3. Turn on at 06:00 pm play audio track 3 for 22 minutes 12 seconds and turn off. 4. Turn on at 09:00 pm play audio track 4 for 16 minutes 11 seconds and turn off. Note: I am doing it with smart switch with scenes. Which turning on my Ahuja 250 amplifier and multimedia kit with USB TF AUX & BT. Timmer working fine but managing seconds are a problem here. And changing audio track every day is not what am looking for. Anyways managing adding blank audio to match the timing. I'm looking for fully automation. It's for a temple. Audio module with Arduino is a option here but I'm not a programmer. Is there any pre built device available please let me know? If anyone like to help me with this most welcome. I can offer a like a cup of coffee. Thanks in advance.
Can i request some pro tips ? Ive got a pemenol pemenol 60W Voice Playback Module, PEMENOL DC 9-24V High Power Music Player Mp3 Trigger Amplifier 64Mbit Flash Storage Sound Board Supprt Sound and Light Alarm How the hell do you make the lamp trigger, im using the module to make a dance party bathroom 😅 and the lamp circuit is suppose to trigger a 24v relay that will controll the 110v overhead lights. My board is showing a constant 24v actoss the lamp pins whether its triggered or in standby.
Hi, great videos and content! Question regarding the DY-HV20T... the data sheet is a bit light on information... are you familiar with what logic level the pins are working at? I've seen videos with an Arduino connected directly, and discussions suggesting they work at 3.3V (hence I could then hook my esp32 directly to the board without a logic level shifter). Do you have any experience with this? Thanks in advance.
Have you any experiance about looping mp3 tracks? I've used DFPlayer mini with Arduino as engine sound simulator, cyclic repeating engine sound track, but I hear a click sound when the loop restarts (triggered from IO pins, but same clicking result) I'm looking for another sound module for this, the DY-SV17F could be better?
Thank you for the video. I have been struggling with a arduino project which involves a adafruit sound board. I’m trying to connect with serial to the board but also want to use a Oled screen which is i2c. I can get both to work individually but not together. Have you any recommendations. I am more than happy to use a different sound board if it will make it simpler.
Outstanding video. Nice to get recommendations from someone who knows what they are doing. Particularly liked the power wiring for the DF. Is the size of the smoothing/filtering cap critical (assuming the voltage can be handled of course)?
Great video! Have you explored using the USB pins on the DFMini for power and file transfer. I have a project in mind (dementia friendly music player) and was thinking of using commercial power banks to power the unit. Transferring files via this port to the onboard card would be much easier for caregivers. I've seen one video on this but... sketchy. Wondering if the same power conditioning should be used.
Why do you need to connect both grounds of the DF Player (@4:30)? The grounds are both connected to the case of the SD card holder, so they're already inter-connected.
12years ago I had to make a system to play safety messages and some other audio tracks and at the time I was using a bu9437akv chip by ROHM. took ages to get this going and I wish these modules were around back them. I may have to redo the project soon so I will be using one of those modules in your video.
I am going to use a DFRobot Min iMp3 player on my next project with an Arduino R4, I'm going to use a breadboard power supply to power the device independently using the 3.3v option, do you think this will be okay?
What happens when the last (or only) mp3 file reaches the end? Do the DY modules loop back automatically? If not, Is there a way to loop the mp3 without the need of a microcontroller? Thanks for your video! I am more aware on how to approach my project now thanks to you :)
I have been encountering the sorting issue over time as I remove/replace/rename files, and my solution was to just delete all the files and begin again. Obviously, pretty annoying. Thank you for highlighting the DriveSort tool as a much better solution!
Brilliant ! Thanks for the bit at the end about naming and indexing. I have just started messing with the AI Thinker Audio Dev Board and the Koobok SD version. Tons of potential with these playback boards. Thanks !!!!!!
Many thanks for your video. The DFPlayer mini has been my usual goto for sound and you’ve taught me something new about it (diode). My current project uses the DFPlayer Pro. It has some similarities to the Mini and some differences. Your section on naming was very informative and explained some of my Pro issues. It’s a pity the Pro was not one of your comparisons, but maybe another time. Thanks again 👍🏾🤓
Dear Alastair. Thanks for all of that and your very useful comments. Is there any device allowing to play and control independently multiple audio files or do we need one board for each? I was looking for a way to build a 8 steps loop sequencer launching individual audio files and build a more elaborated Raagini Tanpura. Thanks 😊
I recently got afew of the blue 8 track flash drive boards, came with 8 MP3 files on them however when I add my own MP3 files only 1 will play, and only from the I01/RX tab on the board, I get nothing from the 102, 103, 104 etc tabs. These all work & play the included test MP3's. What am I doing wrong?
Ok Now have it playing the 4 sound files I want, controlled by 4 latching on-off switches, Only issue now is if I flip a switch it plays the sound file twice, then stops. Don't know why it plays each one twice...
My experience with the DFplayer mini is the same I've never yet found one that performs 100% of the functions in the spec.But generally they are good enough and cheap. I would be interested to know how you would incorporate a variable volume control as this is often needed though
The DFPlayer has software-based volume control. So, if you're controlling it via the serial connection, you can issue a command like myDFPlayer.volume(10); to vary the volume supplying a value from 0 (min volume) to 30 (max volume). If you're using it as a standalone device you'll need a hardware-based volume control instead: your first instinct might be to put a rotary potentiometer into the speaker output, but this will change the impedance between the amplifier and the speaker. The "correct" solution would be to use an L-Pad attenuator instead, like one of these: cpc.farnell.com/c/pads/l-pad
Great video! Is there any way to query the DY series boards for the number of stored files when using the serial interface mode? You could just hard code a number into the Arduino that reflects this but would be good to be able to do this dynamically so that you don't have to recompile the code when you add or remove files.
The serial interface is pretty basic and restricted to only those pre-programmed commands as documented here: github.com/playfultechnology/arduino-audio/blob/main/DY-XXX/UART%20mode%20user's%20guide.pdf However, one of the commands is described as "Check number of all music", so try issuing 0xAA0C00B6, and reading the two byte returned value
Really struggling with a DY-HV20T at the moment. I got it to work once (although it played 3 tracks as if it were skipping to next) using a test sd card I had. I removed the sd card, changed the files to the one I wanted (playing an explosion only) and now it's lifeless. Did you find an documentation on the dip switches and modes, other than what's on the Aliexpress listings? Thanks, Patreon Steve
@@PlayfulTechnologyThanks for replying, in the end I had a combination of issues (faulty sd card...doh!) that contributed to my frustration. I was still unable to get it to do exactly what I wanted, but I worked around it, and it's now installed in an ER
TTS hardware does exist - it typically sounds very primitive though - like "Speak and spell" machines from the 1980s - you can even emulate it using software alone, e.g. with this library: github.com/bobh/ESP32Talkie.... or, if you just want to read one letter at a time, you can save separate audio samples as a.mp3, b.mp3, c.mp3 etc.
Hi Alastair, thank you for your videos. I have been watching your projects for years, as you are the only person on youtube that handles some of the concepts needed for the weird things that I come up with and try to learn how to build. Recently I was researching this very topic. I found out you can play audio files from an ESP32 by wiring it directly to an sd card (easiest setup is to use a microsd and solder the wires to a sd to microsd adapter) and to a speaker. I found this setup to be the minimal option to be able to play random audio files with minimum number of items and space. I think there might be a way by using logic gates, a timer and a standalone dfplayer but if possible it would be quite more complex. I am sharing this option because I usually have very little room available, and I almost go mad every time I have to face the inconsistency of the dfplayer.
Thanks for the comment! You're absolutely right - you can play back audio files using only the ESP32 hardware (in fact, you can even do this on an Arduino [at very low bitrate] using something like the TMRPCM library: github.com/TMRh20/TMRpcm). I didn't mention this as a viable solution though, because it tends to occupy a large amount of the limited resources available on an embedded chip, both in terms of processor and memory usage. So, if you try to get your sketch to do anything else in addition to playing back audio (e.g. polling button input, reading a sensor, or applying any controller logic) you quickly run into timing issues and playback becomes unacceptably choppy. That's why generally I'd recommend offloading responsibility for audio functions to a dedicated audio chip like those mentioned in the video, and all the ESP32 has to do is issue a few simple byte commands.
hi i have been looking for a small mp3 player but i do absolutely need the output to be stereo i have tried the df robot mini player board only to find it only outputs a mono audio i confirmed this by tracing the dac L and dac R pins they ultimately go to the same pin on the mp3 chip on the board i was looking at the other boards you show in the video but i cannot find any schematic diagrams or other specifications and or pinouts of the ic so i could confirm that those boards are indeed stereo via the 3.5mm jack i am not bothered about any on-board amplification as this is done elsewhere in the project all i want is a simple to control via a serial connection MP3 player that outputs a stereo audio. Can any one confirm if any one of these boards are stereo?
Is it ok to use a toggle switch (always on after activating) to trigger sounds? I have a 5 switch panel for my car. Looking to make it seem like I have a Jarvis. When I switch on the first + lead to ACC, I want it to activate the "Welcome back Sir". that switch will remain on providing power to ACC. then When I switch the Coil Lead, I want a "Ready to start Sir". Possibly a few others, but is it stable to trigger multiple soundbites once with an always on switch? Did that make sense haha
Thanks for a genuinely useful video! So many other folks don't go into the actual nitty gritty on how to make the things work properly, but just hand-wave vaguely. This is far more useful! Now - if I could find a board like the ones you described here, but capable of stereo amplified playback and which autoplays on power-up... :)
Hi! It will be interesting video about VS1003 / VS1053 because it is using in many models of modern internet radio. There are several models of VS1003/1053 and VS1053 on the market now. And they are not same. PCM5102 and UDA1334 will be interesting too. Thank you!
Thanks for that fun and enlightening video. I've just started messing around with audio stuff (via I2S), and have an ESP32 MCU and a Sparkfun WM8960 breakout board. So far, I can say that the WM9060 is complicated as heck, but you can probably do almost anything you can imagine with it (but maybe I have a limited imagination). Between the "Analog in" to "I2S out" section and the "I2S in" to "Analog out", and combining with Bluetooth and/or Wi-Fi, I imagine there's not much you cannot do with this breakout board. I'm still trying to figure out, when you read or write the I2S interface, how the code can discriminate between left and right channels in the buffer memory. Great fun, thanks again!
Hi. Great video! I would liketo show the active file on an lcd. So do you know any such module which allows to read the filename from the storage device? Or let you stream the data to it so you can access the files via an sdmodule?
These cheap audio modules only have a basic access to the filesystem of the SD card, and unfortunately don't expose it to allow any queries from the microprocessor either. To do that, I'd use a standalone SD card and then stream the data to an audio chip using I2S, but that's quite a lot more involved.
@@PlayfulTechnologythangs for your reply. I have no problem with involved.. at least I guess. Just limited time. So bitbanging would be beyond scope. But as long as there is a library for it i thing i could manage.
Hey! I am looking for the best microcontroller for a drum machine I want to do as a project. Ideally i want it to be programmed digitally but controlled via an analog controller. What would you recommend?
Does anyone know if there any way to configure the DY-HV20T to be not-Interruptible? I've been trying to use the busy pin but have not landed on a working solution. Every time the board is triggered it will restart the song.
Hey, great video. I need some help.... am using an MP3 trigger board to play a sound to sync with lights from a prop but there always seems to be a 1.5 sec delay for the MP3 to play when triggered (even using a relay). Do you have any tips as to how to make a sound play instantly as soon as a trigger voltage (high 3.3v) is applied so it syncs perfectly with the prop I am using (which triggers instantly). Delaying the prop is not an option in this case unfortunately. Thanks in advance as flashing of the lights needs to sync with the sound
Hi great video very helpful. I like to control the skull jaw with a servo motor mover with a sound device that loads soft sounds. I can control the servo with the gpio pin pi pico but what's the best board to use to do this ?
Just thank you so much for all of this information with everything wandering around on the internet! I wish this would be saw by more People You don't know how much it helped me