GPIO output problem and DFPlayer doesn't play

Hey guys, I just mounted my project on a PCB and I have couple of weird problems, I will be happy to hear your opinion on them :slight_smile:

So the project contains a pro mini, a DFPlayer and a HEXFET (IRLZ44NPBF) which is used as a low side switching. There are couple of other parts which aren't soldered yet as they are not important for the moment.

When I connect the PCB to a power source (a battery / a FTDI) ( I connect it now to the Vout +- Teminal because I still didn't soldered the charger & booster) the output of pin 8 stays low and there's no current between the source and the gate. The current from the power source is 17mA. When I connect the gate to Vcc the led of the DFPlayer gets turned on and the current rises to 47mA. The DFPlayer doesn't play. When I disconnect the gate from Vcc the current stays on 47mA and now pin 8 is high. Connecting both power sources in parallel gives the same result.

The only way to make the DFPlayer to play is by grounding the Tx of the arduino or Rx of the DFPlayer (both sides of the 1KOhm resistor above the DFPlayer). I tried it with all the other pins, only with those it worked. It plays only as long as those pins are grounded, when the wire is removed it stops. When it plays the current rises to 91mA.
Shorting the source and the drain yields no result, the DFPlayer doesn't play.

I checked couple of times and everything is soldered well.

I am really confused and have no idea what's going on here, I appreciate your help a lot. Thank you in advance :slight_smile:

#include <DFPlayerMini_Fast.h>


#if !defined(UBRR1H)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
#endif


DFPlayerMini_Fast myMP3;


void setup()
{
  Serial.begin(115200);


#if !defined(UBRR1H)
  mySerial.begin(9600);
  myMP3.begin(mySerial);
#else
  Serial.begin(9600);
  myMP3.begin(Serial1);
#endif


  pinMode (8, OUTPUT) ;
  myMP3.volume (15) ;
  myMP3.play(1);
}


void loop()
{
  digitalWrite (8, HIGH) ;
  myMP3.play(1);
}

You can't switch off GND to the DF player and have Vcc connected. The DF P will try to use any other connection as GND.

But it worked to me before I designed and ordered the PCB. If this is the case why doesn't it play also when I ground Tx of the player for example ? or the speaker ?

Do I need to rip You apart to to get through? No professional would ever design circuitry that way. Don't say "'It worked". Some day You will damage circuitry or get strange problems.
Just don't do it.
Grounding the speaker? How do You expect it to produce any sound then?

I am no professional and I will never be one if people will rip me apart instead of answering my questions.
I remember that one time I grounded the speaker and it worked, I tried to do it now and it makes sounds but the DFPlayer gets warm as hell. Maybe my memory is false but I still don't understand why it happens only with the Rx and not with the other pins and would be happy to know that.

Can You please drop Your wild ideas. They will not get any positive reply..

Draw the equivalent wiring diagram and check how current will flow out of the sending pin and come back. Grounding "here and there", at random, is just nonsense.

Ok, so assuming the sending pin is Tx (of the DFPlayer). If I ground Tx it should work (I suppose) because the current flow from Vcc to the ground. But it doesn't work, it works only with the Rx (of the DFPlayer). It's not even working with the GND of the DFPlayer, I have no idea what's going on here. I ask it because I am curious and want to know what's happening, not because I try to prove something or anything. I added a picture with the configuration I did now, you can see what's working and what's not. Thank you

Get rid of that FET transistor.
Connect Player GND to GND.
Connect Player Rx to the controller pin that sends commands.
Connect playher Tx to the receiving pi of the controller.

Then we will start looking at the code.

Spending time on explaining what happends in Your random connections is waisting time, for me.

With those specific Arduino and and DFPlayer I can't because they are soldered but yeah, if everything is connected with the FET it works normally. Meanwhile, since your first message, I am trying to make also high side switching on the breadboard but it's also not working. It makes that buzzing noise and doesn't play at all. This is the reason why I went with low side switching actually. I am playing with it a bit though, all I want is to make it work. I am trying this configuration :

That looks okey. Maybe some other helper can check that FET if You tell which one You're using.

IRLZ44NPbF

It's weird, I have current from the source to the drain even without connecting the gate. That's the reason it doesn't work well I suppose. I also tried this configuration and it's the same, the led tha's connected to the drain is always on, even when the gate is not connected. The led that's connected to the gate is never on. The sketch was just a 3 seconds high and 3 seconds out from pin 8. I don't know, the FET should be good though, it's new. It's also my last one so I really hope the mistake is mine here and not a problem with the hardware.

No surprice. The gate needs to have a low voltage to cut off. A LED, close to the gate is nonsense for a FET. The gate is voltage controlled, not current controlled.
Move that 200R and LED to sit between +5 and source.

Thank you so much, it works now with the leds :slight_smile: but it doesn't work with the high side switching though. like it plays but it has the same problem, it plays independently of pin 8. I am doing the wiring that I sent before. I tried to play a bit with the 10KOhm resistor because I thought that it's maybe the same as connecting the led to the gate but it also didn't work. Do you have any idea why ? or at least in which way I should search ?

In reply #8 You use pin 5 to control the player......
What have You been doing?

Yeah, I took this picture from somewhere, I connected pin 8 of the arduino to the base and it was like this also in the code

myMP3.play(1);

Is that enough to play something? Preprepared things in that player?

yeah, and it also plays. The thing is that I can remove the BJP or disconnect pin 8 and it keeps playing. Disconnecting the source and drain stops the playing. The gate however has no influence at all

Time for You to study the DFplayer documents.

I will, thank you for your answers and time. Is there any specific theme you thing I should focus on ?

Which ones have You found?
Product description and applications...