Dfplayer Pro - Sudden serial problem - Solved

Hello
I've been working with Dfplayer Pro for 1,5 years without problems until last week. I am using Arduino UNO. Now suddenly, without changing code or changing hardware, I repeatedly run into this error code:

"Init failed, please check the wire connection!"

It seems there is a problem with serial communication. I've found quite similar problems, but unfortunately without solutions: https://forum.arduino.cc/t/all-of-a-sudden-softwareserial-is-failing-to-connect/934853

I've found out that it might be possible to use hardware serial. Is that possible with Dfplayer Pro? What could be the reason of this sudden serial communication problem? Any experience or input would be greatly appreciated. Cheers!

My connections and code are attached.

#include <DFRobot_DF1201S.h>
#include "SoftwareSerial.h"
SoftwareSerial DF1201SSerial(2, 3);  //RX  TX
DFRobot_DF1201S DF1201S;
void setup(void)
{
  Serial.begin(115200);
  DF1201SSerial.begin(115200);
  while (!DF1201S.begin(DF1201SSerial)) {
    Serial.println("Init failed, please check the wire connection!");
    delay(1000);
  }

Has your power supply changed?

If any of the wires are not soldered, I suspect galvanic corrosion. Re-seat the connections, use dielectric paste or consider soldering.

Power supply is the same, 10V. Wires are not soldered. I've tried to change them. Arduino seems to work, blink test for example. Dfplayer also plays music via the button.

Has the load changed? (the speakers)

Maybe the issue is not degraded connections in the pin/sockets, but my guess was galvanic corrosion occurring between two dissimilar metals of pin and socket, accelerated by electron flow and increasing resistance.

They don't show a serial resistor in series with the Data/Serial_in, but...
who knows, eh?
(If that caused the trouble, it won't help to include one now.)

I've tried the old speaker and a new one. I've measured all leads, connectivity seems to be intact. I am powering my Arduino from an outside +10V source and the player also from an external +5V source. It is really amazing how sudden this problem came. Basically nothing changed and now it just doesn't initialize.

I tried 1k Ohm resistor, both leads. No luck. Maybe the player is fried then. It is just amazing that it plays when pressing the button.

Coincidence: There is a "railroad" topic recently with the DFPlayer Pro "suddenly" only playing one audio sound after "always" playing many sounds on command. Maybe (out-on-a-limb-maybe) the input to the AD key has a "AD" button resistance value, and it the Pro fails for caution? For example "0R = PLAY/PAUSE." See page 9.

Suggest using a 4 Ω 3W speaker.

I am not using the KEY-pin. I am controlling the player through RX/TX-pins.

Another thing that failed at the same time is my Adafruit 16ch servo controller. It is connected to the SCL, SDA pins on the Arduino. I can't get it to work. Everything else works on the board. I can for example control a servo through a digital PIN. My USB host shield works.

At first this was about a player-pro biting the dust. Now it's the IIC running a servo controller, too.
And, oh, there's a USB host shield in the mix.

Your project took a big hit.

Yes. And high power LEDs controlled through relays. And multiple motor controllers. Just the servos and sounds are kaputt.

How was this not mentioned in post #1? Did you need to fan smoke to see everything "is the same?" How do I evaluate your next answer? Is that when we learn that you went to work with the tea kettle on, evaporating the water, making the heating element unrestricted to the point of cracking the kettle, making the lid fall off and hit the kettle "off" button, but also nearly hit your cat, observing the crackling kettle, but now scampering for safety from hot, falling debris onto your workbench which bumped the power switch on your robot car that turned on the HC-SR04 making the obstacle avoidance steer and drive away, landing on the deskside power switch, shutting off the power to the servo whose collapsing motor field sent reverse polarity through the MP3 player, and here we are. Be more observant.

Solution: I changed to a new Arduino UNO, servo driver and MP3-player. Now it works.

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