DFPlayer only works with USB power pin, nothing else

Hi there folks, I hope everyone is having a safe and relaxing holidays.

I'm working on an alarm clock project that uses a DFPlayer mini MP3 and an ESP8266 Huzzah Feather. I've seen some conflicting information regarding how to wire this project up, and after lots of experimenting I have found only one solution that works for me, and it has to be powered by the USB power pin on the huzzah, which is a bummer because I wanted to run it off a polymer Lithium battery rated at 3.7v, 1Ah.

DF Robot says it should accept 3v - 5v, and when I measure the volts coming off the battery it sits at 4.2v, and the volts off the 3.3V powerpin are at 3.3v as advertised, so I'm not sure why it will only work using the USB powerpin.

It also says it should work on 3.3v logic, but if you're using an Arduino Uno you should add 1k resistors on the TX and RX wires. The Huzzah is 3.3v logic, but after looking at some peoples schematics, I've seen these 1k resistors added to 3.3v logic microcontrollers like the ESP8266 and Arduino Nano. These shouldn't be necessary, but I've found they are...

Here's how I've declared my DFPalyer serial:
SoftwareSerial mySoftwareSerial (0, 15);

And here's a summary of my experimenting:

DFPlayer Vin attached to Huzzah USB powerpin:

  1. DFP Rx pin to 8266 pin 15 / DFP TX pin to 8266 pin 0
    ** -- works about 50% of the time**

  2. DFP Rx pin to 8266 pin 15 with 1k resistor / DFP TX pin to 8266 pin 0
    ** -- WORKS 100% of the time!**

  3. DFP Rx pin to 8266 pin 15 / DFP TX pin to 8266 pin 0 with 1k resistor
    ** -- Does not work**

  4. DFP Rx pin to 8266 pin 15 with 1k resistor/ DFP TX pin to 8266 pin 0 with 1k resistor
    ** -- Does not work**

DFPlayer Vin attached to Huzzah 3.3v powerpin:

  1. DFP Rx pin to 8266 pin 15 / DFP TX pin to 8266 pin 0
    ** -- Does not work**

  2. DFP Rx pin to 8266 pin 15 with 1k resistor / DFP TX pin to 8266 pin 0
    ** -- Does not work**

  3. DFP Rx pin to 8266 pin 15 / DFP TX pin to 8266 pin 0 with 1k resistor
    ** -- Does not work**

  4. DFP Rx pin to 8266 pin 15 with 1k resistor/ DFP TX pin to 8266 pin 0 with 1k resistor
    ** -- Does not work**

DFPlayer Vin attached to Huzzah BATTERY powerpin:

  1. DFP Rx pin to 8266 pin 15 / DFP TX pin to 8266 pin 0
    ** -- Does not work**

  2. DFP Rx pin to 8266 pin 15 with 1k resistor / DFP TX pin to 8266 pin 0
    ** -- Does not work**

  3. DFP Rx pin to 8266 pin 15 / DFP TX pin to 8266 pin 0 with 1k resistor
    ** -- Does not work**

  4. DFP Rx pin to 8266 pin 15 with 1k resistor/ DFP TX pin to 8266 pin 0 with 1k resistor
    ** -- Does not work**

When I say it works I mean the serial monitor says "DFPlayer Mini online" and I'm able to play music. When I say it doesn't work, it says "Initializing DFPlayer ... (May take 3~5 seconds) / Unable to begin: / 1.Please recheck the connection! / 2.Please insert the SD card!"

Any help would be MUCH appreciated, I've seem to hit a brick wall and not sure where to go next. Attached is the wire diagram which has been most successful for me...

Cheers,
Rich

What Library are you using? I don't see the code posted so I don't know. I give my standard answer here to NOT use the DFMini library and instead use PowerBroker2's DFMiniFast Library available though the download section of the Arduino IDE or available here: GitHub - PowerBroker2/DFPlayerMini_Fast: Fast and easy to understand Arduino library to use the DFPlayer Mini MP3 module from DFRobot.com. This is a huge improvement (both in terms of execution speed and simplicity) to the standard library provided by DFRobot.com.. The DF Mini Library is very confusing and as too many options for many players- try using the DF Mini Fast example to test your player.
Now, did you buy an ACTUAL DF Mini MP3, or one of the knockoffs? I find that many of the knockoffs will require more than 3.3V for sure. When you say the player doesn't work, is the LED lighting up? If its lit, then yes its getting the power it needs, its your code that's an issue and why you keep getting the "Initializing DF Player error."


Forgot to mention that you show both GND pins wired in your diagram, you only need to do the left side GND where RX/TX is.

Hey thanks for the quick reply.

I am indeed using the DF mini player library. I tried that library that you suggested and got the following error when trying to compile: "compilation terminated. / exit status 1 / Error compiling for board Adafruit Feather HUZZAH ESP8266."

I have heard that the original DF library is terrible, but it's the only one I've had success with so far.

I bought the mini from Amazon, and it does look like a knock off like you suggested... I really hope that's not the problem I've been strugglign with for the last week, just a crappy knock off that doesn't accept anything but 5v...

When I say it doesn't work, I get the |Unable to begin:| error message and no light. When it does work (using the 5v USB) , I get the "mini connected" message, and then when I trigger a song I do get the light. So it doesn't look like it's code related. When hooked up to anything but 5v it simply won't establish serial communication.

When you hook up the 3.7v battery to the DF Mini player- bypassing the power through the ESP8266- does it work then? Try powering the ESP8266 through the USB Cable- run the RX/TX to the DFMini for communication, but have the DFMini powered by that battery. I fear you may have to have a seperate power supply to the DFMini if that does not work.

Like you suggested I tried powering the DF Player separately with the 3.7v battery and no luck... I've ordered another DF Player in hopes that my original one is just a crap knock off and will only accept 5v because of poor craftsmanship, I will let you know how that goes.

Any other suggestions?

I know this hasn't been updated in a while, but I've been running into a similar problem. I purchased a set of knock-off DFPlayerMini boards from Amazon and I'm finding that they don't match the specs. I've been using a buck converter to figure out what the voltage they'll actually work at is, and it seems that anything just over 5 volts is enough. Right at 4.9-5.0 is enough to faintly light up the LED, but not enough to actually get it to work properly. Hitting anywhere between 5.2 and 5.6 volts and it works fine. The specs on Amazon say 3.2v-5.0V, but clearly something is wrong. I'm guessing whoever made this batch either swapped out some part that they shouldn't have, or whoever reverse-engineered the thing screwed something up. I'm going to be ordering from the DFRobot site itself for the original and hope it works as the spec says it should.

The specs on Amazon say 3.2v-5.0V, but clearly something is wrong.

Yes a lot of the very cheap stuff comes from the reject bin at the factory. This should be thrown away, but often they are not. It is a normal part of the manufacturing process to get rejects. Sometime the yield is low, it can dip to less than 50%. But it all depends on how complex the chip is and what is the defining resolution used in the manufacturing process.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.