Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : DFPlayer Mini v MP3-TF-16P
Page 1 of 2 | |||||
Author | Message | ||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 284 |
Hi all. I've been using the DFPlayer Mini for some time with no problems with MM Basic and a while ago got some MP3-TF-16P ones from Aliexpress. Both units look the same but have different chips. The MP3-TF-16P uses a MH2024K chip, while the DFPlayer Mini uses a YX5200 chip. Both unit work fine in standalone mode, connecting pin 9 to ground will make the unit play, but only the DFPlayer Mini will work using the serial port. I've searched the internet and found a few people with the same problem. Is there a workaround for this chip or is it fake and just cannot be used with the serial port? Thanks in advance. Dave. |
||||
led-bloon Senior Member Joined: 21/12/2014 Location: AustraliaPosts: 205 |
Have you looked here... This appears to produce results with Arduino code example MP3-TF-16P Miss you George |
||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 284 |
Some of these modules marked as MP3-TF-16P have the YX5200 chip and work ok. It's the ones that have the MH2024K chip that seems to have the problem working with the serial port. Thanks. Dave. |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9308 |
Buy only DFplayer modules with the YX5200 or YX5300 IC. These ones seem to work just fine with the standard commands. The MH2024K chip seems to use a different serial protocol, and details are very hard to find. Smoke makes things work. When the smoke gets out, it stops! |
||||
Quazee137 Guru Joined: 07/08/2016 Location: United StatesPosts: 572 |
I have been looking in to a screen-less controller using a motion detector to pickup a body near by then announce the current data with a few capacitive touch pads to adjust the settings. So I saw what was being done here on The Back Shed and started looking at these modules. Sad to say it's game of roulette on being sure any batch is good even when the pictures show the right part. Lucky amazon does get refunds on miss represented items. Just be sure the description has the right part number in it to ensure a refund. I was going to just add the links but then the information would be scattered so here is some reviews with usable information from amazon buyers over the last few years. From an Amazon May 2018 Review There are a lot of vendors out there selling these "DFPlayer" boards. I bought two sets of five from this particular vendor and all of the ones they sold us do not work with setups/code that do work with this type of board I got from other vendors. It seems that it boils down to the actual chip they are using. These are not the YX5200-24SS marked chips which actually have a datasheet and which you'll find on a lot of boards. These are some knockoff chip/or another run or something that say MH2024K-24SS on them (many with worn-out ink/printing). They also have MH-ET-LIVE printed across them...again highly variable in quality. Without speculating too much, maybe these are counterfeits or clones or busted chips that were bought/taken from a fab house and relabeled? I'm honestly not sure what MH-ET-LIVE is...google has some links but it just seems like some random hobby-electronics rebrander with little-to-no-documentation. Anyways I have no idea, but after spending quite a bit of time try to ring these chips out and comparing how a properly I've had no luck. They are all bricks (they draw some reasonable current...but do not respond to serial data that I know YX5200 series do, so I'm sort of at a loss. Every other component on these boards is identical to working boards so it is the chip...maybe this type of chip works normally and I got 10 out of 10 bad ones ? Maybe this isn't even a real chip and someone is just offloading a bunch of junk somewhere along the parts pipeline. Regardless, I have ten boards that are useless now. They are not mutually interchangeable and have no documentation at all online so are pretty much useless junk. Waste of money and very frustrating. The price is clearly cheap for this reason. I do a lot of large-scale development so I can handle debugging stuff like this, but it is frustrating when a vendor is selling junk like this and some kid will buy it and have no point of reference for why it is/isn't working. From an Amazon Dec 2019 Review Ordered the DF Player mini from this listing "Anmbest 5PCS YX5200 DFPlayer Mini MP3 Player Module MP3 Voice Decode Board Supporting TF Card U-Disk IO/Serial Port/AD for Arduino" I received a mp3-tf-16p module. These are not the same though they do the same thing. I spent time spinning my wheels trying to find out why my code wasn't working, I mean it's not rocket science. I have a DF Player mini and had coded for that and everything worked great. Once I received this module and swapped it out it no longer worked. turns out you need to delay after calling begin on the library and call begin again - probably because of some initialization time on the mp3-tf-16p chip. At any rate, I should have received the advertised product and wouldn't have had to go through all this. If you are the seller and are reading this: if you didn't know that you weren't providing as advertised please update your photos and be clear about what it is you are selling. if you did know this, shame on you From an Amazon April 2018 Review So when these boards ship with a chip marked YX5200-24SS they work really well. In the last month, however, a lot of vendors (including this one) seem be selling these boards with chips marked "MH-ET-LIVE MH2024K-24SS", and these do not seem to be interchangeable. If you are having trouble getting these boards working, check the chip number. I'm not sure if these are counterfeits or some different run of the chip or a completely different device altogether, but I cannot get these type of boards to work reliably with 3.3V devices anyways. I have not rigorously tested them, but please be aware of this. From an Amazon Feb 2019 Review The picture shows YX5200-24SS. I got a JC? AA1828CJ5M2U.1-94 instead. I think JC stands for "Just Crap". It's mostly the same as a DfPlayer Mini, but not quite. You need a 1K ohm resistor on both the Tx AND Rx interfaces for some reason. Other people suggested connecting BOTH grounds on the Df module too. Mine doesn't seem to work when the arduino is powered via the PC, but will work if I just power the board from a USB charger directly. This has wasted tons of my time debugging, and it is still not very reliable as far as I'm concerned. Some pic's of the boards reviewed. From sellers images so who knows good/bad/other wise I hope this information gleamed from others help here. Quazee137 |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9308 |
Yes, useful info. Thanks for posting. It would seem that the authentic YX5200 based DFplayer Mini......is now being cloned. ....just like anything else that becomes popular, such as the HC12 module, and we all remember THAT fiasco.... All the ones I have are marked as YX5200, and they work. You CAN buy just the YX5200 chip, so you could always pull the MH2024, and replace it with a YX5200 which should then restore the module to working status. YX5200 chip link... Weather that is a waste of effort for a $2 module, who can say. If you build a project around the DFplayer Mini though, and the clones won't work, then it probably is worth it if you don't have another one handy. The EARLIER version of the MP3-TF-16P did indeed have the 5200 chip on them, and they work. I have ten of those here, and they work, but I think the later version of this module they swapped to the chip that does not want to work. Smoke makes things work. When the smoke gets out, it stops! |
||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 284 |
Thanks for all the info. Like I said in my above post, the chips do work if you just want a stand-alone push a button to play module, they just won't work with the serial port. I've even tried different baud rates and reflowed the chip but nothing works. I did look at buying some YX5200 chips to replace the non working ones as Grogster said, but I can only find them on Aliexpress and don't really trust them anymore. Thanks for the info. Dave. |
||||
Revlac Guru Joined: 31/12/2016 Location: AustraliaPosts: 1026 |
After reading this and the info about the fakes, thought I would check the ones I bought and saw this in the chip MH-ET LIVE MH3028M-24SS. So now I'm confused. Bought these for a model railway project to add sound to some parts of the layout, was thinking about using it for loco sound loops but that would be too limited, so on to the next idea for that. Have not seen another of these DFPlayers with this MH3028M-24SS chip. Cheers Aaron Off The Grid |
||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 284 |
Have you tried this using the serial port and if so does it work? |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9308 |
@ cosmic frog: "I can only find them on Aliexpress and don't really trust them anymore." - Really?! I use AliExpress all the time, and I actually prefer them to eBay most of the time, cos you can choose from various shipping options on most of the AE listings, so I find stuff comes to me faster from AE then eBay. Oh well. I could get in some 5200 chips if you like, then send some to you if you wanted to try that? @ Revlac(& also cosmic frog): Yes, I would be interested if the 3028 responds to serial. It is possible that 2028 is buttons only, and the 3038 might be serial and buttons. Who can say. I cannot find any useful information about the MH series. Smoke makes things work. When the smoke gets out, it stops! |
||||
Revlac Guru Joined: 31/12/2016 Location: AustraliaPosts: 1026 |
Have not tried it yet, its in the endless list of things to do, will update when I get it together. Already have most of the parts and there is a Nano somewhere on the table and will give it a run Got this one from Ebay and the seller no longer stocks them...whats new. I was going to ask if there are any other module that has similar functions to these? When I look up MH3028M There are pictures of a different module, eg. Aideepen YX5300 UART Control Serial MP3 Music Player Module for Arduino/AVR/ARM/PIC It looks more serial orientated, so I'm thinking it would work. Cheers Aaron Off The Grid |
||||
GerryL Newbie Joined: 24/01/2019 Location: AustraliaPosts: 33 |
My first post! I can confirm the module labelled MP3-TF-18P with a MH3028M-24SS chip does work with the serial interface. I have another module labelled DFPlayer-Mini with a chip marked as AA1752CJ3J13.1-94 and that also works with a serial interface (both 9600, 8n1). Gerry |
||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 284 |
Hi Gerry and welcome to the forum. Thanks for the info. This will be helpful when purchasing these modules in the future. And thanks for testing out the serial port. Dave. |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9308 |
Welcome. Yes, useful information - thanks for posting. It would seem then, that perhaps the 2028 chip is simply button-only, and no serial support? Smoke makes things work. When the smoke gets out, it stops! |
||||
Revlac Guru Joined: 31/12/2016 Location: AustraliaPosts: 1026 |
Tested using a nano and DFPlayerMini_Fast-master, the DFPlayer with this MH3028M-24SS chip works nicely with serial, the wav or mp3 files, last one saved to the micro SD was the first one to play. Also it was a bit fussy about the file names, it refused to play 01 (ended up corrupting the file) but 001 or was it 0001 works fine. There was some explanation about this in the DFPlayerMini_Fast file. Obviously I'm new to this, but I have it the player doing what I want it to. eg. play first track then loop second track. perhaps the 2028 chip wants the correct file names. Cheers Aaron Off The Grid |
||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 284 |
Got some more info to add to this thread - After some more experimenting I found this out - The MH2024K chip = Will NOT work with serial The YX5200 chip = Works with serial BUT has problems with folder "00" and "99" The YX5300 chip = Works as expected Dave. |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9308 |
5300 sounds like it might have been an upgrade to the 5200 to fix that folder problem perhaps. I don't bother with folders in any of my applications that use this module, all the sound files are in the root of the uSD card. All my files are 3-dot-3 filenames. IE: 001.wav up to 999.wav Can I assume then, that you have tried the external buttons on the 2024 based units, and they work OK, but only via buttons? Smoke makes things work. When the smoke gets out, it stops! |
||||
cosmic frog Senior Member Joined: 09/02/2012 Location: United KingdomPosts: 284 |
Hi Grogster, yes external buttons seem to work ok on ALL the modules that I have tried. Also the file names can be use like this - "001 songname.mp3" There MUST be a space between 001 and name. - 001[space]songname.mp3 If you don't use a space the tracks may play in the order they were saved! Also if you have lots of tracks, it's best to save them to the SD card all in one go. Don't put a few on and then later put on some more. This will help the module search for tracks a lot faster. Dave. |
||||
mtnmancs Newbie Joined: 13/02/2021 Location: United StatesPosts: 5 |
Hello! I'm new to the forum, but I've been following this thread for a while, and I appreciate everyone putting helpful information into the thread. I thought I would add a bit more information based on the testing that I've been doing in case it's helpful to you. Like other people, I have concluded that the YX5200 and YX5300 are the way to go. I keep trying to order modules with these chips, and I keep getting tricked by false advertising (and then having to get refunds). So far, I've received 3 orders of modules with non-YX5200 chips. I thought it might be helpful for me to let others know what I'm seeing. Some background information: 1) I use a 5V supply 2) I use a PIC to communicate via serial with the modules (at 9600 baud, idle high, 8 bits without a parity bit) 3) I place a series resistor (about 1k) between the TX pin on the PIC and the RX pin on the module 4) I monitor serial traffic (TX and RX) with a scope 5) I place generous bypass across the supplies at the module (100uF). I have scoped my supply and it looks clean 6) I have had great success with the YX5200 modules. The audio noise is acceptably low, the volume is good, and the modules drive 8 ohms speakers well. 7) I name all of my tracks ###.mp3, where ### is 001, 002, etc. unless otherwise noted. 8) I name all of my folders ##, where ## is 01, 02, 03, etc. 9) I only test serial comms (I don't test a module's ability to respond to button presses because I'm not interested in using them with buttons) Some observations about the MH2024K-24SS modules that I received: 1) The modules look very similar to the YX5200 module that I have (the component values and placement seem similar). 2) The indicator LED on these modules behaves differently. a) on the MH2024K modules, the LED is always off unless the module is playing, in which case the LED turns on brightly b) on the YX5200 modules, the LED is always dim unless the module is playing, in which case the LED turns on brightly. 3) The series resistor between PIC TX and module RX prevents successful serial communication. The MH2024K module serial communication does work successfully if I short out that series resistor, and I can get the module to play my tracks. 4) The audio from this module has high-frequency digital noise on some tracks, always toward the beginning of the recording (for the first 5 seconds of a 10-second recording, for example). The noise sounds like mid-band glitching, followed by bursts of low-frequency noise. The noise does NOT seem to be correlated to: a) my actual recording, because I can create a bunch of copies of the same mp3 file and give them different names (001.mp3, 002.mp3, ... 014.mp3, etc.) and they sound different. b) the equalizer settings (although some settings do sound worse, so I know that I am able to control EQ with command 0x07). c) the "volume adjust set" (as it is called in the datasheet; this is command 0x10, which does not seem to have any effect, as noted in the code comments found at https://community.particle.io/t/a-great-very-cheap-mp3-sound-module-without-need-for-a-library/20111). d) the "volume" command (0x06). The volume of the noise seems to be fixed, while the volume of the recording is controlled by this command. This is a good thing because it means that the SNR can be improved by turning up the volume, but I'm still not happy with the noise. e) the "command feedback" setting (byte 4, which tells the module whether to respond on its TX pin [byte4 = 0x01] or not [byte4 = 0x00] f) the file name (I tried changing my format from "###.mp3" to "### someText.mp3" and it made no difference. g) whether or not I send command 0x0B to the module ("Normal working" as noted in the datasheet at https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299) h) whether or not I send command 0x4A ("Keep on", which seems to have no effect even with various values of the data bytes [bytes 5 and 6]) 5) Noise DOES seem to be correlated with how often I play a recording. If I play a recording and then play it again within a few seconds, the noise is greatly attenuated. If I wait a while (20 seconds or so) the noise is strong again. This suggests that that TF player might be changing modes (going into a more low-power mode, or reloading some memory) without me being aware of it. As noted above, I thought that using the "Keep on" command might change how the TF player switches modes, but I noticed no difference. Using a standard 1Mohm scope probe (single-ended), I looked at the noise on one speaker drive line. I see 41Hz noise with strong even and odd harmonics (even out to the 10th harmonic). Some other things that I plan to do soon regarding the noise issue: 1) Try WMV file types instead of MP3. 2) Try altering the sample rate at which I generate my MP3 files. 3) Try altering the MP3 encoding if I can (the TF player datasheet says that it supports both "11172-3 and ISO13813-3 layer3 audio decoding". I don't know what those are yet, but I'll do some research. Some observations about the JC AA20HF J616-94 modules that I received: 1) The modules look very similar to the YX5200 module. However, unlike other modules that I've seen, the audio amplifier (8-pin SOIC) does not have any readable markings on the package. 2) The indicator LED on these modules works as follows: a) if there is no SD card, a brief flash when power is applied (sometimes) b) if the SD card is inserted, dim illumination for a few seconds at power-up c) dim illumination when micro SD card is inserted, then the LED turns off after a few seconds. d) bright illumination when a recording is playing, followed by dim illumination for a few seconds after the recording stops, followed by the LED turning off. This does make me wonder whether there might be a way to reduce the noise by preventing the module from going into the state where the LED is completely off (the LED on my YX5200 modules never turns off, and I don't have noise problems -- is there any correlation there?) 3) Same comment about the series resistor as with the previous module. 4) Same comments about noise as mentioned in the previous module. Some observations about a module with a chip labeled GD3200B: 1) The module looks different on the back side of the PCB. Between the main IC and the audio amp IC, there are 5 components (Rs and Cs) instead of 7. The GD3200B has 16 pins instead of the 24 pins on the YX5200 IC. 2) The indicator LED on this module does turn on briefly and then go out when powered up. 3) The module does not respond at all to serial communications. 4) The module produces a constant hum in the attached speaker. I didn't run an FFT on the hum, but it sounded about like 60-100Hz. I tested this module in the exact same circuit as the other modules, so I doubt that it's a setup issue. |
||||
GerryL Newbie Joined: 24/01/2019 Location: AustraliaPosts: 33 |
Hi mtnmancs, some good concise info so thanks for this. It's been a while since I have dabbled in this area, but depending of what the end use is and if using MMBASIC it may not be necessary to rename the folders and tracks. It's my understanding that folder 001 refers to the first saved folder on the SD card, 002 is the next saved etc, similarly for the tracks. When using the MMBASIC function DIR$ I have found it will read the SD card in this same order, i.e first time it is called it will return the name of the first saved folder so this maps to folder 001, next DIR$ call maps to folder 002 etc. Similarly, the tracks can be mapped (after using CHDIR to look into a folder). In my case I read the folders (Artist/Albums) and tracks (songs) into string arrays, with the array indexes then mapping to the required 001, 002 etc. This way I could relate a meaningful string name to the 001, 002 etc naming convention. Gerry |
||||
Page 1 of 2 |
Print this page |