Go Down

Topic: MP3-TF-16P aka DFPlayer Mini .. another cheap sound module (Read 74827 times) previous topic - next topic

Protonerd

Yes, exactly that's the Thing! Thanks xl97. You can raise now the volume to max, I can guarantee that no Pop will happen :)

xl97

Actually..  the real thanks goes to JakeSoft for informing about the edit.. and you for confirming it. :)

This should help others who just use the DFPlayer (standalone for any projects if using the default DFRobot library)

Also...   some notes on the fake DFPlayers:

* my initial thoughts that I needed to updated the firmware, as I thought I had gotten older boards was erroneous... these were just FAKES.. that didnt support all of the features of my current code.

How to tell:

* Blue led vs red led (so far blue leds have all been legit, reds have been fakes)
* True YX5200 chip... it the chip has the numbers/logo ground off.. its a fake (dont recall the fake chip # off hand.. but I can get it if needed)
* Silkscreen on the PCB.. legit ones has silkscreen around all components on board.. fake/clones do not have silkscreen.


The fakes 'work'.. but only in limited form.

If you use the latest DFRobot library... you will NOT be able to use any of the query commands.. not the endable/disbaleLoop() commands..

there may be more differences as well.. but these were the most prominent.



sophistry

Hey thanks for this.

I just got a couple (Cylewet brand) Wemos D1 Minis. They have the red LED and a chip marked "AA1752CJ3J13.1-94" ... could be 1-84.

Basic functionality seems to work, except what is outlined above: Most "read" commands with the DFRobotDFPlayerMini library just seem to hang. such as .readFileCounts, .readVolume, .readState, etc.

If I pop the memory card out, it interrupts the read query, and the code continues.

I'm hoping against hope that the instruction set on this chip is just different, and those queries are just different from the YX5200 chip. Maybe by tweaking the library, it could work?

sophistry

FYI: I'm using a Wemos D1 Mini v3.0.0 made by Aideepen, connected to my laptop over USB3, and the DFPlayer is powered by that on the 5v pin.

To follow this up ... I turned on debugging in DFRobotDFPlayerMini.h, then fired up a small probe sketch.

What I found was that I can still push all the commands via the decimal or hex code. I can get response codes back as well. Everything seemed to match up ... even when I was querying things like the volume level and EQ state.

HOWEVER ... If I tried to send more than one command with less than about 2-3 second in between, the code it was seeing was not accurate, and the code returned was almost always an error. Also, in the serial monitor, it takes about 2-3 seconds for the pushed command to reflect, which might be an indicator.

For instance, if I push decimal '66', I get an accurate feedback (0 or 1) of the play state. If I push '76', I get the track number returned. If I send them both real quick (Before I get a response from the 66 command), it thinks I've sent '20' (Unknown) and response code '64' (Error).

So, It's possible this 'knock-off' DFPlayer is just slow? Can't process commands, or transmit/receive well? I'm using SoftwareSerial to talk to the RX/TX pins on the DFPlayer from pins D1 and D2 on the Wemos, with nothing in between - so maybe I've got some noise on that line which causes communication issues.

I'm going to try to force a 3 second delay in my sketch to see if that changes anything with using .read in the DFRobotDFPlayerMini calls.

Bipe

Actually..  the real thanks goes to JakeSoft for informing about the edit.. and you for confirming it. :)

This should help others who just use the DFPlayer (standalone for any projects if using the default DFRobot library)

Also...   some notes on the fake DFPlayers:

* my initial thoughts that I needed to updated the firmware, as I thought I had gotten older boards was erroneous... these were just FAKES.. that didnt support all of the features of my current code.

How to tell:

* Blue led vs red led (so far blue leds have all been legit, reds have been fakes)
* True YX5200 chip... it the chip has the numbers/logo ground off.. its a fake (dont recall the fake chip # off hand.. but I can get it if needed)
* Silkscreen on the PCB.. legit ones has silkscreen around all components on board.. fake/clones do not have silkscreen.


The fakes 'work'.. but only in limited form.

If you use the latest DFRobot library... you will NOT be able to use any of the query commands.. not the endable/disbaleLoop() commands..

there may be more differences as well.. but these were the most prominent.



I just received 10 fakes from China, after months of waiting.  Once you loop one track, all tracks will loop after that.  I've gotten a few good ones off of amazon, but they are $10.  The problem is that they may show the correct one in the photos and send the fakes and vice-versa.  If you don't mind me asking, where did you get the correct ones from?

Go Up