Master the MP3-TF-16P (DF Player Mini) on Arduino: Seamless Sound Integration & Easy Setup! 🎶

Sdílet
Vložit
  • čas přidán 1. 07. 2024
  • How to program the MP3 Player, MP3-TF-16P (DF Player Mini) on Arduino with ease, with no pop or click sound when the MP3 player starts!
    Including how to wire the MP3 player, how to format the Micro SD card to be compatible, how to install the libraries in the Arduino IDE, how to solve problems with the MP3 player and how to program it to play your MP3 sounds.
    🔔 Support the channel🔔
    www.buymeacoffee.com/thelasto...
    SD Card Formatter:
    www.sdcard.org/downloads/form...
    Library on my website:
    dev.azure.com/overlording/The...
    MP3-TF-16P DFPlayer Mini:
    amzn.to/40FqbzD
    Arduino 2 watts speaker:
    amzn.to/3Xmsswx
    Arduino Nano:
    amzn.to/3HOhNF9
    Please note that the product links are Amazon affiliate links. As an Amazon Associate, I earn from qualifying purchases at no additional cost to you. This helps support the channel and allows me to continue creating content for you. Thank you for your support!
    Next Video in this series:
    Navigating MP3 Files with Rotary Encoder | MP3 Player Project Series:
    • Arduino Magic: Navigat...
    Chapters:
    0:00 Introduction
    0:24 MP3-TF-16P Specifications
    0:55 Wiring
    2:14 Micro SD Card Preparation
    2:52 Files on the Micro SD Card
    3:52 Setup on the breadboard
    4:10 Arduino IDE Setup
    4:52 Libraries installation
    6:45 Programming to play a sound
    8:20 Programming to get MP3 Player Status
    9:47 Some errors you may get
    10:23 Problems & Solutions
    11:35 Programming to play 2 sounds in sequence
    12:27 Programming to blink a LED when a sound is played
    14:43 How to access the other functions of DFRobot Library
    #arduino #mp3tf16p #dfplayer #mp3player #programming #coding #beginners #tutorial
  • Věda a technologie

Komentáře • 178

  • @thelastoutpostworkshop
    @thelastoutpostworkshop  Před 10 měsíci

    Next Video in this series:
    Navigating MP3 Files with Rotary Encoder | MP3 Player Project Series:
    czcams.com/video/2hBNCFyouJY/video.html

  • @albafleutot3944
    @albafleutot3944 Před 4 měsíci +2

    Thank you so much !! I've been trying to make DFPlayer work for days ! I'm so happy I found your channel haha

  • @alaeddingarraoui4538
    @alaeddingarraoui4538 Před měsícem

    I can't thank you enough man !!! you made my night here .. I tried a bunch of tutorials on CZcams before this one but they didn't work, and with yours, it worked for the first time. THANK YOU A LOT!

  • @user-lb9xm9bu8w
    @user-lb9xm9bu8w Před 5 měsíci +3

    Excellently done. I appreciate all the time you spent here and well documented as well. Thanks!

  • @LowerDeckProps
    @LowerDeckProps Před 9 měsíci +1

    I got this working this morning. Thanks, Charles. Great tutorial! I'm looking forward to adding sound to my projects.

  • @MrWesleyruff
    @MrWesleyruff Před rokem +1

    Thank you! This helped me get my MP3-TF-16P V3.0 up and running!👍👍

  • @user-qp6mn3je6i
    @user-qp6mn3je6i Před rokem +1

    Thanks a lot. This video really helps me! After i format my SD card the mp3 player finally works!

  • @codecrusader123
    @codecrusader123 Před 5 měsíci

    Super Project. This type of tutorial is very helpful for people thankyou

  • @DreamsOfTheMind-video
    @DreamsOfTheMind-video Před 4 měsíci

    Thank you very much! Your explaining is perfect!

  • @drz400
    @drz400 Před 10 měsíci +1

    Thank you! The test was successful.Your header file was helpful.  I will modify some toys.

  • @rando5930
    @rando5930 Před 3 měsíci

    Thank´s a lot. now it finally worked on my setup!!

  • @robertrobert5583
    @robertrobert5583 Před 5 měsíci

    Excellent tutorial - thank you very much

  • @studywithrichardlin3381
    @studywithrichardlin3381 Před 6 měsíci

    Tks for sharing. I can did it because I saw this video. Great. Good CZcamsr.

  • @user-ee7kw6fc4s
    @user-ee7kw6fc4s Před 3 měsíci

    very nice! I approve!

  • @tisenres
    @tisenres Před 8 měsíci

    Thanks for such an informative video on CZcams!!!!

  • @jeffbornes3986
    @jeffbornes3986 Před 6 měsíci +1

    Nice Video... thank you

  • @leeskelton9715
    @leeskelton9715 Před 10 měsíci +2

    Thank you very much for this. Complete beginner here and I managed ( eventually ) to get this working thanks to your detailed tutorial. I wondered if you have another tutorial on adding a PIR sensor so that it plays the themes when movement is detected?
    Thanks again and kind regards

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 10 měsíci +2

      Thanks a lot for your feedback, I do not have a tutorial with a PIR sensor, I will add it to the list!

  • @plantor0728
    @plantor0728 Před 2 měsíci

    I KID YOU NOT I HAVE BEEN TRYING TO GET THIS STUPID PIECE TO WORK FOR 3 DAYS THANK YOU!!!!!!!! MY TORTURE IS FINALLY OVER

    • @plantor0728
      @plantor0728 Před 2 měsíci

      now all I have to do now is find a way to play it by using an ir remote

  • @YasirFaur
    @YasirFaur Před 9 měsíci +2

    Thank you very much. Please note that you should use a 3W speaker or one with lower power rating. If you don't have a 3W speaker, you can use a 5W speaker with a series resistor (20 ohms or more), and it can work, as I have done.

    • @UliSpalthoff
      @UliSpalthoff Před 4 měsíci

      Isn't the load to the amplifier defined by the Ohms rating, not by the power rating? afaik, The speaker power just tells which power the speaker can handle without distorting sound too much.

  • @eddiejones8709
    @eddiejones8709 Před 11 měsíci +1

    Great Video. As you, I was having problems getting my player to play all the files after formatting my disk using WIN10. I found that if you don't use the quick format your MP3 player will play all of you files. I have about 700 songs on a disk and by using the randomALL command it plays all of the songs loaded. Also, I don't any number or folders assigned to the songs. Hope this helps.

  • @thatotherguyontv
    @thatotherguyontv Před 2 měsíci +2

    Just worked through an issue I had with this board, one that others may also have, so I thought I'd share.
    Everything was connected correctly, the code was implemented and uploaded. But the only serial output was "MP3 Player Online."
    After messing around with the code and it still not working, I switched out my Arduino Nano for an Uno, and that instantly fixed the problem.
    I think my Nano is an older model, without an ESP32. So check for microcontroller compatbility!
    Otherwise, a great tutorial and header file. Thanks!

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 2 měsíci

      Thanks for sharing

    • @Madmaxkkb
      @Madmaxkkb Před 2 měsíci

      Brother I the got same problem but then I used an external battery to power the df player and it worked in my case

  • @dudaqee2059
    @dudaqee2059 Před 4 měsíci

    hey so working on a project where I am only using one song on the SD card, but wanted to know how i could make it activate by the push of a button and only play the song once each time. think you could help me with this one?

  • @user-nf5rj4ee5h
    @user-nf5rj4ee5h Před 4 měsíci

    I really appreciate your videos, really helpfull! i am working on controling the volume with a ultrasonic capteur for the distance and im not sure what fonction to use!! any advice? thanks for your work

  • @DatFunnyPerson
    @DatFunnyPerson Před 4 měsíci

    Thank you for the Tutorial. In my case I have like 10 Songs as mp3 on my card and i would love the songs to shuffle whenever i turn my arudino on. So it plays a random song. any idea? I have zero idea how to code btw ^^ lol

  • @leeskelton9715
    @leeskelton9715 Před 7 měsíci +1

    Hello and thank you for fantastic content. I just wanted to ask if you may have found a way of adding a PIR sensor to this as yet? I have a great little Sith Wayfinder star wars project that I’d like to add sound, activated by a sensor when you enter the room.
    Kind regards

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 7 měsíci +4

      It is still on my list, choice are hard to make! Anyone else would like to have tutorial a PIR sensor with the MP3 module ?

    • @leeskelton9715
      @leeskelton9715 Před 7 měsíci +1

      @@thelastoutpostworkshop fingers crossed 🙏🏻😄

    • @judgeworks3687
      @judgeworks3687 Před 4 měsíci +1

      I’d love a tutorial on using PIR sensor to trigger sound/tracks

    • @leeskelton9715
      @leeskelton9715 Před 4 měsíci

      @@judgeworks3687 , thanks 👍

  • @theveteranworkshop8328
    @theveteranworkshop8328 Před rokem +1

    Great video, what if I want to have a total of about 20 sounds playing with a delay in between. Do I need to number each out with a delay command in between? Or is there a way to make the code shorter?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před rokem +1

      You just have to put them into a for-loop and insert a delay like this :
      int volumeLevel = 20;
      int trackCount = mp3.player.readFileCounts();
      for (int i = 1; i

  • @user-su2tv4tc7d
    @user-su2tv4tc7d Před 3 měsíci

    I've checked my wiring, and every time I plug the mp3 player in, the lights on the Arduino turn off, do you have any idea what is happening.

  • @user001sg9
    @user001sg9 Před rokem

    Nice video, Thanks for sharing.
    I wish to add the MP3 player function to a selfbuilt Nixie clock and turn it into a "talking clock". For this purpose, I need to concatnate different MP3 files depending upon the time the clock is going to announce.
    My question: Does the MP3 Player library allow concatanation of files?
    Thanks for your comment/advice in advance.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před rokem

      Nice project! You don't need to concatenate the MP3 files (and the MP3 player don't have this functionnality), you can select which one to play by using code depending on the hour. Here is a very simple example :
      #define trackFor12 20
      #define trackfor11 25
      switch (hour) {
      case 12:
      mp3.playTrackNumber(trackFor12, 25, true);
      break;
      case 11:
      mp3.playTrackNumber(trackfor11, 25, true);
      break;
      break;
      // and son on
      }

    • @user001sg9
      @user001sg9 Před rokem

      @@thelastoutpostworkshop Thank you for your quick response. It is helpful.

  • @benedictpng1343
    @benedictpng1343 Před měsícem

    Can you make a video using microbit for dfplayer

  • @tomas3244
    @tomas3244 Před 7 měsíci

    Great tutorial! Thank you! I followed every step of it. I have one issue, though. I have four tracks on my SD card, and some of them are super short (like 1 second). When i play the short tracks, they repeat themselves once. Why does this happen?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 7 měsíci

      Very strange, I really don't know. If you play a track with this call : mp3.playTrackNumber(your_track_number, volume,true); Do it repeat itself ?

    • @tomas3244
      @tomas3244 Před 7 měsíci

      @@thelastoutpostworkshop Thank you for your quick response, I’ll check it out

  • @user-ql1yl3im3k
    @user-ql1yl3im3k Před 6 měsíci

    How do I Reset when i want to stop a song thats already playing

  • @Ninanas98
    @Ninanas98 Před 11 měsíci

    Thanks for the video! Is it also possible to use a button to cycle through the sounds while they still play in a loop? So that when the sound is done playing it jumps to the next sound, but when it is playing and you want to skip this sound you can press the button to go to the next? I tried a few things but can't get it to work.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 11 měsíci +2

      yes you can do that, just specify false for the last parameter when starting a sound : mp3.playTrackNumber(sound, currentVolume, false);
      So the sound will start playing and your code will not be blocked, you can then do anything you want while the sound is still playing, including starting a new sound!

    • @Ninanas98
      @Ninanas98 Před 11 měsíci

      @@thelastoutpostworkshop Thank you for the reply! I tried it like this
      if (digitalRead(buttonNext) == ACTIVATED){
      i ++;
      }
      mp3.playTrackNumber(i, 4, false);
      but the sound keeps starting from the beginning until you start the last sound in the folder, that one is played fully. Would it also be possible to combine it with a for loop or something so when you don't press the button the next sound will automatically play after the current sound is finished?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 11 měsíci +1

      if you want to play a sound automatically after one is finished, you can do it this way : mp3.playTrackNumber(sound1,15,false);
      while(!mp3.playCompleted() && !buttonPressed) {
      }
      //play the other file

  • @jindagar
    @jindagar Před rokem +1

    how can we configure this in to a sound fx board i.e. pressing a certain button plays a certain sound?

  • @Symboter
    @Symboter Před 2 měsíci

    Did you experience different speed of playback using more than one of modules? I hooked up three of them, Start them simultaneously, same as cards, same file and they start synchronous, but drift about 1 sec within 6 minutes playback. So speed of playback is not identical on these modules, good only for doorbells, but not for serious applications, or?

  • @michaelcoles4181
    @michaelcoles4181 Před 10 měsíci

    Thanks for this video, I'm new to this and found it very informative. I've got the player to work as instructed but I'd like to play two tracks basically an engine on/off effect. Track 1 (engine startup) would play continually as long as a momentary switch is pressed then track 2 (engine cool down)would play automatically when the the switch is released. Could this be done and where would I wire the switch?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 10 měsíci +1

      Yes it can be done, you can wire the switch on pin 7, and use this to initialize it in the setup() function:
      void setup()
      {
      pinMode(7, INPUT_PULLUP);
      // Rest pf your code here
      }
      then in the loop function you read the push button:
      void loop()
      {
      if (readPushButton())
      {
      // Play your first MP3 file
      while(!readPushButton()) {
      // Here we are just waiting for the push button to release
      }
      // Plya your second MP3 file
      }
      Here is the function to read the push button:
      boolean readPushButton(void)
      {
      int value = digitalRead(PushButtonPin);
      delay(5);
      return value == 0;
      }

    • @michaelcoles4181
      @michaelcoles4181 Před 10 měsíci +1

      Thanks for answering so promptly. I'll definitely give this a go!@@thelastoutpostworkshop

    • @michaelcoles4181
      @michaelcoles4181 Před 10 měsíci

      Having problems setting this up. I keep getting error messages no matter which order I put them in.
      #include "mp3tf16p.h"
      MP3Player mp3(10,11);
      void setup()
      {
      Serial.begin(9600);
      mp3.initialize();
      pinMode(7,INPUT_PULLUP);
      }
      void loop()
      {
      boolean readPushButton(void);
      int value = digitalRead(PushButtonPin);
      delay(5);
      return value == 0;
      if (readPushButton());
      mp3.playTrackNumber(1,30);
      while(!readPushButton())
      mp3.playTrackNumber(2,30);
      }
      I'm obviously doing something very wrong.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 10 měsíci +1

      here is the full code for the sketch corrected:
      #include "./lib/mp3tf16p.h"
      #define led 13
      // MP3 Player
      MP3Player mp3(10, 11);
      #define PushButtonPin 7
      void setup()
      {
      Serial.begin(9600);
      mp3.initialize();
      pinMode(PushButtonPin, INPUT_PULLUP);
      }
      void loop()
      {
      if (readPushButton())
      {
      mp3.playTrackNumber(1, 30);
      while (!readPushButton())
      ;
      mp3.playTrackNumber(2, 30);
      }
      }
      boolean readPushButton(void)
      {
      int value = digitalRead(PushButtonPin);
      delay(5);
      return value == 0;
      }

    • @michaelcoles4181
      @michaelcoles4181 Před 10 měsíci

      Thanks for taking the time to correct this for me. I've just started and realise that I have a lot to learn.@@thelastoutpostworkshop

  • @Mysthral1
    @Mysthral1 Před 10 měsíci

    Intéressant comme d'habitude. À ton avis, est-il nécessaire de prendre ce modèle exactement, (MP3-TF-16P comme ta photo, écrit sur le dessus) ou il n'y a pas de différence (côté qualité bien sûre? Il y a plusieurs modèles sur Amazon et à différents prix. Celui qui porte le numéro du modèle exact, au lieu de DFPlayer mini comme les moins dispendieux, est 12 $ au lieu de 3 pour 5 $.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 10 měsíci

      Je n'ai testé que ce modèle jusqu'èa maintenant

    • @Mysthral1
      @Mysthral1 Před 10 měsíci +1

      OK, je tentes ma chance.@@thelastoutpostworkshop

  • @kind_Nictus
    @kind_Nictus Před 3 měsíci

    what mp3 player to use if u want to use for example 12w speakers, or even more?

  • @user-kq8hw9wg5t
    @user-kq8hw9wg5t Před 9 měsíci

    Greetings
    I am using the Gravity Digital Speaker Module for the MP3-TF-16P project, but my speaker has 3 pins.
    For my my connection I tried connecting the VCC and GND of speaker to the Arduino Mega, then the signal Pin to SPK1 of the MP3, I eventually connected signal pin to all other pins of the MP3 player but there is still no audio sound output, the speaker produces a scratchy sound
    The MP3 blue light is not turning on but on the serial monitor it says “MP3Player online”
    May you please assist me?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 9 měsíci

      I am not sure if it can work since the gravity module has a digital interface when SPK connections on the MP3-TF-16P are analog, but it also have DAC_R and DAC_L pins, have you tried these ?

  • @deepakzilla4962
    @deepakzilla4962 Před rokem

    Sir I am doing a project on Blind Stick with multiple sensors (Fire, Water, LDR, Ultrasonic, DHT11) Can I use this method to play different sounds depending up on the sensor input reads and using the If, else if conditions ? BTW this was an helpful video

  • @FiammaNera_
    @FiammaNera_ Před 5 měsíci

    Hi nice video it helped me understand how it works, but I have one question: Is there a way to stop the initialize if the audio files are in the void loop? like, I use a switch to toggle all off but I don't want to use it for removing the power, do you think is there a way with coding?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 5 měsíci

      I ma not sure I understand what you mean exactly by "stop the initialize", show me some code please

    • @FiammaNera_
      @FiammaNera_ Před 5 měsíci

      @@thelastoutpostworkshop I mean like: void loop() {
      int filecount = mp3.player.readFileCounts();
      Serial.println(filecount);
      mp3.initialize();
      *Then Here in the loop I add some coding*
      And then after I did the code, I want a switch to, like, "mute" the speaker or to stop the code, because mp3.initialize(); makes the mp3 start to play, is there a "reverse" of the mp3.initialize(); or I have to stop all using external power connections?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 5 měsíci

      the mp3.initialize() must be in the setup(), not in the loop.

  • @kingnylonofficial1139

    Please can you help me connect these to an ultrasonic sensores to detect object from 5meters

  • @stephengrattage5219
    @stephengrattage5219 Před 6 měsíci

    Can you use a Oled screen with this board? I have been trying to get this to work with a adafruit sound board but haven’t been successful

  • @VRNC-kn5tf
    @VRNC-kn5tf Před rokem

    This module works perfect for a project I'm working on its just that its a little quite even at max volume of 30. Is there a way to boost the volume without needing another module?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před rokem

      What are the specs of your speaker ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před rokem

      Is it quiet with all the sounds you have on your SD card?

    • @exoticloop
      @exoticloop Před 8 měsíci

      I'm working on a project rn that needs screaming. There are some amplifying circuitry you can do on a breadboard with transistors and other components but it can get cluttered and complicated. If you do end up using a module try a PAM8403 (im using this rn) or maybe a LM386 (i havent used this)

  • @121sarveshwarvec8
    @121sarveshwarvec8 Před 3 měsíci

    Can we play specific audio , when it is mapped with some buttons

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 3 měsíci

      Sure you can do that, you just have to create a function for each button that will be called when they are pressed, inside each function call the play function to play the audio file

  • @theveteranworkshop8328
    @theveteranworkshop8328 Před 8 měsíci

    Hello again, Once again great video. I am having 2 issues, one when I do the file count I am getting a -1 as the number of files in my card. 2 and most important, I upload the program and it runs perfectly, then I remove the USB from the computer and hook it up to my mobile battery and nothing happens. Do I need a different code to start it once plugged to a battery?

  • @udeolisachukwudalu1309
    @udeolisachukwudalu1309 Před 3 měsíci

    Is there a functionality where you can directly access a music you want to play with the press of a button?
    I dont mean jumping to the next music, rather i want to be able to access any music file not minding its position on the file list.

  • @marjunemjhay6328
    @marjunemjhay6328 Před 11 měsíci

    I have a problem with playing loop folder function.
    After playing for let say 4 songs in a row my buttons stop working
    but the music still contineus to play.
    I only calling the button function from the main loop.
    I have 5 button that use millis and state change for single and long press.
    Does maybe something have conflict with the code?or does it have a blocking code that prevents it to continue in main loop?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 11 měsíci

      if your playing your song with the last parameter as true : mp3.playTrackNumber(1,15,true), this code is blocking and the rest of the code is going to execute after the song as entirely played. Change the last parameter to false.

    • @marjunemjhay6328
      @marjunemjhay6328 Před 11 měsíci

      @@thelastoutpostworkshop
      Thank you for the reply.
      But i did not use playTrackNumber in my code.
      The problem is with
      mp3.player.randomAll and
      mp3.player.loopfolder() functions.
      When we say it's playing for at least 4 songs. The buttons just stop working.
      I dont know if there a blocking code that prevents it to go to main loop.
      Or conficts with my millis.
      Hope you can help.
      Thank you.

  • @marckerger
    @marckerger Před 3 měsíci

    how can I use your script on a board with hardware serial1 ? mine does not support softwareserial

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 3 měsíci

      Here’s how you can modify the MP3Player class to use a hardware serial port instead of a software serial one. The changes mainly involve removing the SoftwareSerial object and assuming you will use a predefined hardware serial port for communication with the DFPlayer Mini module:
      #include "Arduino.h"
      #include "DFRobotDFPlayerMini.h"
      #define MP3_ERROR_ONLY 1
      #define MP3_ALL_MESSAGE 2
      class MP3Player
      {
      private:
      HardwareSerial *mySerial; // Pointer to HardwareSerial instead of SoftwareSerial
      void statusOnSerial(uint8_t type, int value);
      void waitPlayIsTerminated(void);
      public:
      DFRobotDFPlayerMini player;
      // Constructor now takes a reference to a HardwareSerial object
      MP3Player(HardwareSerial &serialPort);
      ~MP3Player();
      void playTrackNumber(int trackNumber, int volume, boolean waitPlayTerminated = true);
      boolean playCompleted(void);
      void initialize(void);
      int serialPrintStatus(int errorOnly);
      };
      // Constructor implementation changed to initialize the HardwareSerial reference
      MP3Player::MP3Player(HardwareSerial &serialPort) : mySerial(&serialPort)
      {
      }
      MP3Player::~MP3Player()
      {
      }
      void MP3Player::initialize(void)
      {
      mySerial->begin(9600);
      Serial.println(F("Initializing MP3Player ..."));
      if (!player.begin(*mySerial,true,false)) // Use the HardwareSerial reference
      {
      Serial.println(F("Unable to begin:"));
      Serial.println(F("1.Please recheck the connection!"));
      Serial.println(F("2.Please insert the SD card!"));
      while (true)
      ;
      }
      player.volume(10);
      Serial.println(F("MP3Player online."));
      }
      // The rest of the implementation remains the same...

  • @garyrowlands8537
    @garyrowlands8537 Před 6 měsíci

    Hi Great clear video and content thank you. I have read through the comments below to see if anyone else has asked the following question. I have this unit and everything works...except....I cannot play a track with a number greater than 10 (ten)
    I can play up to ten, so double digits work great but not in excess of ten.
    I have fully formatted the card, the DF Robot player Mini is installed as is your very useful header file......
    All the obvious and even some less obvious...
    Have you had this issue, if you did what was your way forward please.
    If I find one I will post it here. Thanks and I hope your Christmas was fantastic and the coming New Year also

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 6 měsíci

      I never had this issue before, do you get any message on the serial monitor ?

    • @garyrowlands8537
      @garyrowlands8537 Před 6 měsíci

      Not in the Serial Monitor, simply the track will not play and the program hangs. If I change to a track that had a modified date and position of ten or under, it plays perfectly without hanging :)@@thelastoutpostworkshop

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 6 měsíci

      Paste your code here, I will check it out

  • @jordangoddard630
    @jordangoddard630 Před 9 měsíci

    Can you point me in the right direction to learn how to Stop/Pause as well as Loop a track?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 9 měsíci +1

      Pausing a track, I am not sure it can be done with this module, looping a track yes, if you look at the second video in the series you will get an idea on how to possibly loop a track : czcams.com/video/2hBNCFyouJY/video.html

  • @trevo2686
    @trevo2686 Před 5 dny

    Hey im going to try and get in contact with you. I'm trying to connect my arduino to a gp2040-ce. It's for a custom fightstick. You seem to know a lot about this. I'm trying to get my fightstick to play the jurassic park theme song when I turn it on. (if I could add sound to the buttons when I pushed them that would be cool too)

  • @theforestrealm8783
    @theforestrealm8783 Před měsícem

    Hello this is a very good video 👍 but it says that in the mp3tf16p.h file that there is no file called software serial.h if you could help me that would be amazing. Btw you have a new subscriber

  • @BR-rg9ib
    @BR-rg9ib Před 6 měsíci

    CAN WE ADD SPEAKERS (WITH BUILTIN POWER SUPPLY) WITH 3.5 MM AUDIO JACK IN MP3-TF PLAYER?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 6 měsíci

      There is no 3.5 mm jack on the module but maybe it would work with an amplifier module

  • @Fusionultra2000
    @Fusionultra2000 Před 4 měsíci

    When I run the sketch it only says mp3 player online and nothing happens. When I run the GetStarted example by dfrobot I get different results. I get a timeout error running it after the speaker makes a short crackling sound and then it says track 1 complete. I triple checked every connection with the same wiring in the video but I can't get it to work.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 4 měsíci

      Seams like a wiring issue to me

    • @Fusionultra2000
      @Fusionultra2000 Před 4 měsíci

      @@thelastoutpostworkshop I got it working now but it doesn't like long files that are more than a minute long. If I go to soundbuttonsworld and download a short audio file and add it to the sd card, it plays just fine. However if I put in a regular music length file into it, it will not play. Is there a size limit for each file?

  • @imarobodude
    @imarobodude Před 4 dny

    I'm confused why nobody ever says what impedance of speaker this can handle; as if they think 3 Watt tells me anything? It makes NO difference if the speaker can handle more than 3 Watt since DFPlayer will never get that high so it will never care that your speaker can handle more than that. I get the hint people don't comprehend that the speaker is not sending power back to the driver. But I DO need to know whether you have 4, 8, maybe 16 ohm speaker ??

  • @FIP60B30T
    @FIP60B30T Před 9 měsíci

    @thelastoutpostworkshop Hi, I try to connect the mp3 player to a mega 2560 pro at hardware serial1 (pin 18 and 19). There seems to be no connection, can you help for a solution?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 9 měsíci

      I don't have a mega board, so I cannot test it, but I assume pin 18 and 19 you are using are for the RX and TX pin of the MP3 player. Have you tried using pin 10 and 11 on the Mega for the RX and TX pins on the MP3 player to see if it works ?

    • @FIP60B30T
      @FIP60B30T Před 9 měsíci

      @@thelastoutpostworkshop Thank you, yes I tried. There is even no message at the serial monitor with the mp3.serialPrintStatus(MP3_ALL_MESSAGE) command. It works with the ADKEY pin, so it's not defect.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 9 měsíci

      you mean the MP3 is working with the ADKEY pin ?

    • @FIP60B30T
      @FIP60B30T Před 9 měsíci

      @@thelastoutpostworkshop I would like it working with the UART but to test if it's not broken I tried the ADKEY pin.

  • @dreezykareem7199
    @dreezykareem7199 Před rokem

    hey, mp3 player turns off when i plug in the sd card. its slowing down my project. pleas help me.

  • @monkeytree1648
    @monkeytree1648 Před měsícem

    can you help me for some reason it only works if I use Uno not a Nano
    and in serial monitor for the Nano it says :
    Initializing MP3Player …
    MP3Player online.
    the Uno works perfectly fine pleases Help

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před měsícem

      Very strange, the wiring shoud be the same. Are you running the same code ? Does the Nano execute the playTrackNumber() ?

    • @monkeytree1648
      @monkeytree1648 Před měsícem

      @@thelastoutpostworkshop the wiring is the same and it doesn’t play the song :(

    • @monkeytree1648
      @monkeytree1648 Před měsícem

      @@thelastoutpostworkshop i used a different tutorial and I got it working thx for trying to help me

  • @user-fo9qs2vg9s
    @user-fo9qs2vg9s Před 19 dny

    Good evening, I'm trying to start the player but it says MP3 online, but nothing works, what could be the error? Can you help me please?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 18 dny

      Reeheck your wiring. Make sure the TX and RX pin are not reversed. Do you have any error message on the serial monitor when playing a sound file ?

    • @user-fo9qs2vg9s
      @user-fo9qs2vg9s Před 18 dny

      @@thelastoutpostworkshop no, nothing appears. Everything is connected correctly, there are no errors. I would attach a photo here, but this is impossible. Can we write to each other somewhere on social networks? I will be very grateful to you!!!🙏🙏🙏

  • @mostafamaged3404
    @mostafamaged3404 Před 9 měsíci

    Does the player have to be connected to pins 10 and 11 ? If so why ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 9 měsíci +1

      You can use other digital pins since the Arduino library is using software serial Uart

  • @kevingreenberg4281
    @kevingreenberg4281 Před 4 měsíci

    When I run the code to test a song I am not seeing a blue light at all and no music is playing. Not sure what I did/am doing wrong.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 4 měsíci

      The wiring may be the issue

    • @kevingreenberg4281
      @kevingreenberg4281 Před 4 měsíci

      @@thelastoutpostworkshop hmm I just tried again, same issue. I do hear faint white noise from the speakers but thats all that is happening

    • @user-su2tv4tc7d
      @user-su2tv4tc7d Před 3 měsíci

      the same thing keeps happening to me@@kevingreenberg4281

  • @guohongxu4825
    @guohongxu4825 Před rokem

    Hi, if I want to stop the mp3 file halfway while it's playing, how would I do that?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před rokem

      The easiest way is to cut your mp3 file with the free MP3 editor Audacity : www.audacityteam.org/

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před rokem +1

      You can also stop the song in code using the stop() function this way (here the MP3 stops after 3s):
      mp3.initialize();
      mp3.playTrackNumber(23, 25,false);
      delay(3000);
      mp3.player.stop();

    • @guohongxu4825
      @guohongxu4825 Před rokem

      ​@@thelastoutpostworkshop many thanks for the quick response. do you have a reference sheet that i can look into?

  • @mercedespautassi9978
    @mercedespautassi9978 Před 2 měsíci

    Good morning, I am trying to compile the sketch, but it keeps saying that I don't have the SoftwareSerial.h file, which I actually do have. And the times that it does compile the sketch, it says that I don't have another .h file that I guess the SoftwareSerial.h file is calling. What can I do? Another problem I've been havign is that the esp32 doesn't even detect the module, i've rechecked the conections a lot, but they are all correct. Also, the module i have is a clone, it isn't exactly the same hardware, do you know where I can get info about this? The place I bought the module from doesn't have any info about DFPlayer Mini's clones.

  • @ashishkishore6447
    @ashishkishore6447 Před 2 měsíci

    How can we use DFPlayer mini with Arduino Nano 33 IoT ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 2 měsíci

      Yes, the DFPlayer Mini can be used with the Arduino Nano 33 IoT. However, there are a few considerations you should take into account due to the differences in operating voltages and the additional features of the Arduino Nano 33 IoT.
      Voltage Compatibility: The Arduino Nano 33 IoT operates at 3.3V, whereas the DFPlayer Mini typically works with 5V signals. To safely connect the TX and RX pins of the DFPlayer Mini to the Arduino Nano 33 IoT, you might need to use a level shifter or a voltage divider to step down the 5V TX output of the DFPlayer to 3.3V acceptable by the Arduino's RX pin.
      Serial Communication: The Arduino Nano 33 IoT has one primary serial port used for programming and debugging over USB. To communicate with the DFPlayer Mini, you can use software serial on other digital pins.

    • @ashishkishore6447
      @ashishkishore6447 Před 2 měsíci

      @@thelastoutpostworkshop Thanks for your prompt reply. Can you please make and share some tutorial on this? Shall appreciate your help on this!

  • @AntonyIssaqS
    @AntonyIssaqS Před 3 měsíci

    I have a problem with playing songs using DF player mini. It didn’t play the song. I had uploaded the song to the SD card. Then I insert that to the DF player. While inserting the SD card to the DF player, the light on the DF player mini turned off and there is no sign of playing the song. I thought that there might be an issue with the module. So I replaced that with newer one. Then also the same problem comes. I had used three modules till now but the problem persists. Can anyone who is familiar in this can able to solve this issue?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 3 měsíci

      check if you have reversed TX and RX pins

    • @AntonyIssaqS
      @AntonyIssaqS Před 3 měsíci

      @@thelastoutpostworkshop I am using without arduino

    • @AntonyIssaqS
      @AntonyIssaqS Před 3 měsíci

      @@thelastoutpostworkshop can you please share your email?

  • @davidrose1278
    @davidrose1278 Před 6 měsíci

    Im getting a undefined reference to 'DFRobotDFPlayerMini::volume(unsigned char)'
    'DFRobotDFPlayerMini::play(int)',etc.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 6 měsíci

      Did you install the library DFRobotDFPlayerMini from the Arduino IDE library manager ?

  • @marjunemjhay6328
    @marjunemjhay6328 Před 8 měsíci

    Hi can you help me..i want to use your "mp3tf16p.h" with hardware serial..thank you very much.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 8 měsíci

      Here is the code for using Harware Serial : #include "DFRobotDFPlayerMini.h", be aware that it is used for Serial for communication with your computer over the USB port :
      #define MP3_ERROR_ONLY 1
      #define MP3_ALL_MESSAGE 2
      class MP3Player
      {
      private:
      void statusOnSerial(uint8_t type, int value);
      void waitPlayIsTerminated(void);
      public:
      DFRobotDFPlayerMini player;
      MP3Player(); // No pins in the constructor now
      ~MP3Player();
      void playTrackNumber(int trackNumber, int volume, boolean waitPlayTerminated = true);
      boolean playCompleted(void);
      void initialize(void);
      int serialPrintStatus(int errorOnly);
      };
      MP3Player::MP3Player() // Constructor doesn't need parameters now
      {
      // Empty constructor
      }
      // ... [Other methods remain unchanged]
      void MP3Player::initialize(void)
      {
      Serial.begin(9600); // Start the hardware serial port
      Serial.println(F("Initializing MP3Player ..."));
      if (!player.begin(Serial, true, false)) // Pass the hardware Serial
      {
      // ... [Unchanged error handling code]
      }
      player.volume(10);
      Serial.println(F("MP3Player online."));
      }

    • @marjunemjhay6328
      @marjunemjhay6328 Před 8 měsíci

      @@thelastoutpostworkshop thank you very much you are the best at this. Subscribed to your channel...keep it up..👍👍👍👍

    • @marjunemjhay6328
      @marjunemjhay6328 Před 8 měsíci

      @@thelastoutpostworkshop im having an
      error: request for member 'initialize' in 'mp3', which is of non-class type 'MP3Player()' mp3.initialize();

    • @marjunemjhay6328
      @marjunemjhay6328 Před 8 měsíci +1

      ​@@thelastoutpostworkshop do i have to change anything in my old script?
      I've just pass the mp3 with an empty value.
      MP3Player mp3();
      Edited..: i get it...
      I have to lose the bracket..thank you very much

  • @omerhalitipekci2256
    @omerhalitipekci2256 Před 4 měsíci

    i have a issue. code and everything works well but when code starts in 3 seconds it volumes down to nothing. can you help me?

  • @he214abc
    @he214abc Před 7 měsíci

    how many sounds tracks can be played at the same time ?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 7 měsíci

      only one

    • @he214abc
      @he214abc Před 7 měsíci

      @@thelastoutpostworkshop i played rc tank, many sound tracks needed to be played at the same time, like 5 channels, then what i should use instead ?

    • @rosmanminiatures
      @rosmanminiatures Před 7 měsíci

      I have tried this and, for sure not 5 chanels but a couple, and you have to conect as many dfplayer as channels you want, with only one speaker needed. For example in your case, i supose the noise of the engine sound will be one channel and at the same time when the canon shots you want to hear an explosion, then you play this on the second one. The dfplayer has to be connected to another pin set for RX TX comunication. And i reccomend to think about if you really need those five channels or if you can simplify them in less because all that will be so pin consuming

  • @AnxBeta
    @AnxBeta Před 10 měsíci

    SD card format program does not work, loads then does nothing??

  • @retrobombstudios1258
    @retrobombstudios1258 Před 7 měsíci

    Could a pico run this?

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 7 měsíci +1

      I did not try it, my only concern is the DFRobotMiniplayer library compatibility with the Pico, but since the MP3 player use standard serial communications, it should work. Give it a try!

  • @hayan112
    @hayan112 Před 4 měsíci

    does it not work with 64 GB Sd card ????

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 4 měsíci

      No

    • @hayan112
      @hayan112 Před 4 měsíci +1

      @thelastoutpostworkshop i thought it must work so i already bought the 64 gb😭.
      Thanks for the awesome tutorial tho

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 4 měsíci

      But I think you can format it as 32GB

    • @hayan112
      @hayan112 Před 4 měsíci

      @thelastoutpostworkshop can you please tell me how and save me money and time, im in a rush for a project

  • @suhasmahajan-if9ez
    @suhasmahajan-if9ez Před 9 měsíci

    sir can you plz help me it snot working

  • @user-rf2ht8ne3y
    @user-rf2ht8ne3y Před 3 měsíci

    Initializing MP3Player ...
    MP3Player online.
    -1
    How I solve it, I have a 32GB micro SD card and good connections to the pins of the MP3-TF-16P to the Arduino, and only one song.

    • @thelastoutpostworkshop
      @thelastoutpostworkshop  Před 3 měsíci

      I f you have 1 song, make sure you pass the track number 1 in this function : mp3.playTrackNumber(1, 25,false); If this is the case, recheck you wiring, it easy to mix-up RX and TX pin

    • @user-rf2ht8ne3y
      @user-rf2ht8ne3y Před 3 měsíci

      @@thelastoutpostworkshop ok thx