{"id":81220,"date":"2024-06-11T23:50:51","date_gmt":"2024-06-12T03:50:51","guid":{"rendered":"https:\/\/www.engineersgarage.com\/?p=81220"},"modified":"2024-06-10T16:46:16","modified_gmt":"2024-06-10T20:46:16","slug":"arduino-dfplayer-mini-mp3-tf-16p-mp3-playing","status":"publish","type":"post","link":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/","title":{"rendered":"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P"},"content":{"rendered":"<p><span data-preserver-spaces=\"true\">Including an audio option with an electronic or Internet-of-Things (IoT) project is often an ideal addition. However, microcontrollers cannot process MP3 files, <\/span><span data-preserver-spaces=\"true\">which is<\/span><span data-preserver-spaces=\"true\"> the most common audio file format. Fortunately, there is a solution. <\/span><\/p>\n<p><span data-preserver-spaces=\"true\">It is possible to play<\/span><span data-preserver-spaces=\"true\"> MP3 audio files on Arduino using dedicated MP3 decoders like the DFPlayer Mini or MP3-TF-16P.<\/span><\/p>\n<p><span data-preserver-spaces=\"true\">DFPlayer Mini is a popular original MP3 decoder for Arduino. But if you ordered the DFPlayer Mini module online, you may have received the MP3-TF-16P instead of the original DFPlayer. Both modules look identical and have the same pin configuration but use different chipsets. <\/span><\/p>\n<p><span data-preserver-spaces=\"true\">The issue is if you<\/span><span data-preserver-spaces=\"true\"> try to run audio files using the MP3-TF-16P module and Arduino\u2019s libraries for the DFPlayer Mini. The MP3-TF-16P uses a different chipset despite having the same chipset as the DFPlayer Mini. The popular libraries for the DFPlayer Mini fail to run on MP3-TF-16P because of the different chipset features.<\/span><\/p>\n<p><span data-preserver-spaces=\"true\">In this project, we<\/span><span data-preserver-spaces=\"true\">\u2019ll explain how to play MP3 files on Arduino using the MP3-TF-16P module. The code provided here also works on the original DFPlayer Mini, as both chipsets have the same instruction set.<\/span><\/p>\n<h3><strong><span data-preserver-spaces=\"true\">Components required<\/span><\/strong><\/h3>\n<ol>\n<li><span data-preserver-spaces=\"true\">Arduino Mega\/UNO x1<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">DFPlayer Mini\/MP3-TF-16P x1\u00a0\u00a0 <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">TDA2030 Audio Power Amplifier module x1<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">4\u2126\/8\u2126 Speaker x1<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">10K Resistors x2<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">Connecting\/Dupont wires<\/span><\/li>\n<\/ol>\n<h3><strong><span data-preserver-spaces=\"true\">Circuit connections<\/span><\/strong><\/h3>\n<p>We\u2019ll need to interface the DFPlayer Mini or the MP3-TF-16P with Arduino to play MP3 audio files on Arduino. Both modules have the same pinout which is shown in the below image.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-01-DFPlayerMini-MP3-TF-16P-Pinout.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81221\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-01-DFPlayerMini-MP3-TF-16P-Pinout.png\" alt=\"\" width=\"641\" height=\"379\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-01-DFPlayerMini-MP3-TF-16P-Pinout.png 641w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-01-DFPlayerMini-MP3-TF-16P-Pinout-300x177.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-01-DFPlayerMini-MP3-TF-16P-Pinout-368x218.png 368w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><\/a><\/p>\n<p>To interface the DFPlayer Mini or MP3-TF-16P with Arduino:<\/p>\n<ul>\n<li>Connect both grounds of the DFPlayer Mini\/MP3-TF-16P with the ground of Arduino.<\/li>\n<li>Connect the MP3\u2019s VCC pin with Arduino\u2019s 5V.<\/li>\n<li>Connect the DFPlayer Mini\/MP3-TF-16P\u2019s RX and TX pins with Arduino\u2019s TX and RX pins.<\/li>\n<li>For Arduino Mega, connect the DFPlayer Mini\/MP3-TF-16P\u2019s RX and TX pins with Arduino Mega\u2019s TX3 and RX3 pins, respectively.<\/li>\n<\/ul>\n<p>To eliminate noise, it\u2019s important to connect the DFPlayer Mini\/MP3-TF-16P\u2019s TX and RX pins with Arduino\u2019s RX and TX pins via 10K resistors.<\/p>\n<p>Note: if you connect a speaker directly to the DFPlayer Mini\/MP3-TF-16P\u2019s SPK_1 and SPK_2 pins, the audio output might not be as audible. Instead, consider connecting speakers to the DFPlayer Mini\/MP3-TF-16P through an audio power amplifier, such as the TDA2030.<\/p>\n<p>The pin diagram of a TDA2030 audio power amplifier module is below.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-02-TDA2030-Audio-Power-Amplifier-Pinout.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-81222\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-02-TDA2030-Audio-Power-Amplifier-Pinout.png\" alt=\"\" width=\"695\" height=\"463\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-02-TDA2030-Audio-Power-Amplifier-Pinout.png 741w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-02-TDA2030-Audio-Power-Amplifier-Pinout-300x200.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-02-TDA2030-Audio-Power-Amplifier-Pinout-357x238.png 357w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-02-TDA2030-Audio-Power-Amplifier-Pinout-600x400.png 600w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><\/a><\/p>\n<p>Next:<\/p>\n<ul>\n<li>Connect the DFPlayer Mini\/MP3-TF-16P module\u2019s SPK_1 and SPK_2 with the Audio In + and Audio in \u2013 terminals of the amplifier module.<\/li>\n<li>Connect the amplifier module\u2019s VCC and GND pins with Arduino\u2019s 5V out and ground, respectively.<\/li>\n<li>Connect a 4\u2126\/8\u2126 speaker with the amplifier\u2019s speaker output connector.<\/li>\n<\/ul>\n<p>The image below illustrates the complete circuit connections required to play MP3 files on Arduino using the DFPlayer Mini\/MP3-TF-16P.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-03-Arduino-DFPlayer-Mini-Circuit-Diagram-With-TDA2030-Amplifier.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-81224\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-03-Arduino-DFPlayer-Mini-Circuit-Diagram-With-TDA2030-Amplifier-1024x716.png\" alt=\"\" width=\"696\" height=\"486\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-03-Arduino-DFPlayer-Mini-Circuit-Diagram-With-TDA2030-Amplifier-1024x716.png 1024w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-03-Arduino-DFPlayer-Mini-Circuit-Diagram-With-TDA2030-Amplifier-300x210.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-03-Arduino-DFPlayer-Mini-Circuit-Diagram-With-TDA2030-Amplifier-768x537.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-03-Arduino-DFPlayer-Mini-Circuit-Diagram-With-TDA2030-Amplifier-1536x1073.png 1536w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-03-Arduino-DFPlayer-Mini-Circuit-Diagram-With-TDA2030-Amplifier-341x238.png 341w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-03-Arduino-DFPlayer-Mini-Circuit-Diagram-With-TDA2030-Amplifier.png 1863w\" sizes=\"auto, (max-width: 696px) 100vw, 696px\" \/><\/a><\/p>\n<h3><strong>Arduino sketch<\/strong><\/h3>\n<p>After making the proper circuit connections, format a TF card using an SD card formatter like one provided on the <a href=\"https:\/\/www.sdcard.org\/downloads\/formatter\/sd-memory-card-formatter-for-windows-download\/\">SD Association website<\/a>. Add some of your favorite MP3 songs to the TF card and insert it in DFPlayer Mini\/MP3-TF-16P module. Then, upload the following sketch to Arduino.<\/p>\n<style>\n.gist-data{    height:250px; \/\/ Any height    overflow: auto;<br \/>}<\/style>\n<p><script src=\"https:\/\/gist.github.com\/Ajak58a\/876144e4b6ceec8f1baba666e5a14f9c.js\"><\/script><\/p>\n<h3><strong><span data-preserver-spaces=\"true\">How it works <\/span><\/strong><\/h3>\n<p><span data-preserver-spaces=\"true\">The DFPlayer Mini\/MP3-TF-16P modules can play MP3 audio files and have pins to control their playback. Using Arduino, the MP3 audio files can be precisely controlled and integrated into a larger application if desired. <\/span><\/p>\n<p><span data-preserver-spaces=\"true\">The audio playback is controlled by interfacing pushbuttons with the module\u2019s control pins (such as IO_1, IO_2, ADKEY_1, ADKEY_2, and BUSY). The module also provides a UART port for serial communication with Arduino. <\/span><\/p>\n<p><span data-preserver-spaces=\"true\">The default baud rate of the module(s) is 9600 bps. On the serial port, 10-byte commands can be sent to the DFPlayer Mini\/MP3-TF-16P to control the playback. These commands have the following format.<\/span><\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-04-DFPlayer-Mini-Command-Packet.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-81223\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-04-DFPlayer-Mini-Command-Packet.png\" alt=\"\" width=\"702\" height=\"313\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-04-DFPlayer-Mini-Command-Packet.png 935w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-04-DFPlayer-Mini-Command-Packet-300x134.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-04-DFPlayer-Mini-Command-Packet-768x343.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-04-DFPlayer-Mini-Command-Packet-368x164.png 368w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/a><\/p>\n<p>The implementable command in the 10-byte packet is the 4th byte. The command may require additional parameters, which are sent via the 6th and 7th bytes in the packet. The commands that can be directly forwarded to the DFPlayer module are listed below.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-05-DFPlayer-Mini-Commands.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-81225\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-05-DFPlayer-Mini-Commands.png\" alt=\"\" width=\"700\" height=\"536\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-05-DFPlayer-Mini-Commands.png 936w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-05-DFPlayer-Mini-Commands-300x229.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-05-DFPlayer-Mini-Commands-768x587.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-05-DFPlayer-Mini-Commands-311x238.png 311w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>For some query commands or events, the DFPlayer Mini provides a response. The response is also a 10-byte packet. For example, the following responses occur upon finishing the audio files&#8217; playback.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-06-DFPlayer-Mini-Responses.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-81226\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-06-DFPlayer-Mini-Responses.png\" alt=\"\" width=\"663\" height=\"237\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-06-DFPlayer-Mini-Responses.png 663w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-06-DFPlayer-Mini-Responses-300x107.png 300w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/P64-06-DFPlayer-Mini-Responses-368x132.png 368w\" sizes=\"auto, (max-width: 663px) 100vw, 663px\" \/><\/a><\/p>\n<p>When we tested to receive the responses from the MP3-TF-16P module, the serial transmission from the module was inconsistent. However, the execution of the direct commands was successful. The responses from the original DFPlayer Mini were consistent.<\/p>\n<p>In this project, we sent various direct commands from Arduino to the DFPlayer Mini\/MP3-TF-16P module, controlling the playback of the audio files that were stored on a TF card.<\/p>\n<h3><strong><span data-preserver-spaces=\"true\">The code <\/span><\/strong><\/h3>\n<p><span data-preserver-spaces=\"true\">The sketch begins by defining the user-defined function <\/span><span data-preserver-spaces=\"true\">sendDFCommand<\/span><span data-preserver-spaces=\"true\">(). This function sends the command packet from Arduino to the DFPlayer Mini\/MP3-TF-16P module. <\/span><\/p>\n<ul>\n<li><span data-preserver-spaces=\"true\">The user-defined function <\/span><span data-preserver-spaces=\"true\">playTrack<\/span><span data-preserver-spaces=\"true\">() <\/span><span data-preserver-spaces=\"true\">is defined to play<\/span><span data-preserver-spaces=\"true\"> a specific track number from the TF card. <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The user-defined function playNext() is defined to play <\/span><span data-preserver-spaces=\"true\">next<\/span><span data-preserver-spaces=\"true\"> MP3 file. <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The user-defined function playPrevious() is defined <\/span><span data-preserver-spaces=\"true\">to<\/span> <span data-preserver-spaces=\"true\">play<\/span><span data-preserver-spaces=\"true\"> the previous track.<\/span><span data-preserver-spaces=\"true\"> The user-defined function <\/span><span data-preserver-spaces=\"true\">volumeUp<\/span><span data-preserver-spaces=\"true\">() <\/span><span data-preserver-spaces=\"true\">is defined to increase<\/span><span data-preserver-spaces=\"true\"> the volume by \u20181.\u2019 The maximum volume is \u201830.\u2019 <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The user-defined function volumeDown() <\/span><span data-preserver-spaces=\"true\">is defined to reduce<\/span><span data-preserver-spaces=\"true\"> the volume by \u20181\u2019. <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The user-defined function changeVolume() is defined <\/span><span data-preserver-spaces=\"true\">to<\/span> <span data-preserver-spaces=\"true\">change<\/span><span data-preserver-spaces=\"true\"> the volume to a specific level.<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The user-defined function <\/span><span data-preserver-spaces=\"true\">changeEQ<\/span><span data-preserver-spaces=\"true\">() is defined to change the equalizer settings. <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The user-defined function setRepeat() is defined to set the repeat options. <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The user-defined function pausePlay() is defined to pause or playback audio. <\/span><\/li>\n<li><span data-preserver-spaces=\"true\">The user-defined function<\/span><span data-preserver-spaces=\"true\"> RepeatPlay() is defined <\/span><span data-preserver-spaces=\"true\">to<\/span> <span data-preserver-spaces=\"true\">turn<\/span><span data-preserver-spaces=\"true\"> on and off the repeat play option.<\/span><\/li>\n<\/ul>\n<p><span data-preserver-spaces=\"true\">In the setup() function, the baud rate for the serial debug and communication with the DFPlayer Mini\/Mp3-TF-16P is set to 9600 bps. The volume is set to a maximum level. The first track is played, and \u201crepeat all\u201d is implemented. In the loop() function, the user-defined functions to control the playback are executed at intervals of ten seconds to investigate their execution via the DFPlayer Mini\/MP3-TF-16P. \u00a0<\/span><\/p>\n<h3><strong>Results<\/strong><\/h3>\n<p><iframe loading=\"lazy\" src=\"https:\/\/drive.google.com\/file\/d\/1veKmyheOgN5K9yxahNgS2GVk948lQhlr\/preview\" width=\"640\" height=\"480\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Including an audio option with an electronic or Internet-of-Things (IoT) project is often an ideal addition. However, microcontrollers cannot process MP3 files, which is the most common audio file format. Fortunately, there is a solution. It is possible to play MP3 audio files on Arduino using dedicated MP3 decoders like the DFPlayer Mini or MP3-TF-16P.&hellip;<\/p>\n","protected":false},"author":387,"featured_media":81227,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[32,13,1871],"tags":[1175,4391,4399,142,4481,4339,1478,660],"class_list":{"2":"type-post","18":"entry","19":"has-post-thumbnail"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.2 (Yoast SEO v25.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P<\/title>\n<meta name=\"description\" content=\"How to play MP3 audio files on Arduino using the DFPlayer Mini or MP3-TF-16P.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P\" \/>\n<meta property=\"og:description\" content=\"How to play MP3 audio files on Arduino using the DFPlayer Mini or MP3-TF-16P.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/\" \/>\n<meta property=\"og:site_name\" content=\"Engineers Garage\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/engineersgarage\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png\" \/>\n\t<meta property=\"og:image:width\" content=\"806\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nikhil Agnihotri\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EngineersGarage\" \/>\n<meta name=\"twitter:site\" content=\"@EngineersGarage\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nikhil Agnihotri\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/\"},\"author\":{\"name\":\"Nikhil Agnihotri\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/3c71105e3b40a1fd12c79c15602914b6\"},\"headline\":\"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P\",\"datePublished\":\"2024-06-12T03:50:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/\"},\"wordCount\":1055,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png\",\"keywords\":[\"Arduino\",\"arduinomega\",\"arduinouno\",\"audio\",\"dfplayer\",\"electronicproject\",\"mp3\",\"video\"],\"articleSection\":[\"Arduino Projects\",\"Electronic Projects\",\"Video\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/\",\"url\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/\",\"name\":\"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png\",\"datePublished\":\"2024-06-12T03:50:51+00:00\",\"description\":\"How to play MP3 audio files on Arduino using the DFPlayer Mini or MP3-TF-16P.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#primaryimage\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png\",\"width\":806,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.engineersgarage.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.engineersgarage.com\/#website\",\"url\":\"https:\/\/www.engineersgarage.com\/\",\"name\":\"Engineers Garage\",\"description\":\"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News\",\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.engineersgarage.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\",\"name\":\"Engineer's Garage - WTWH Media\",\"url\":\"https:\/\/www.engineersgarage.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png\",\"width\":372,\"height\":52,\"caption\":\"Engineer's Garage - WTWH Media\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/engineersgarage\",\"https:\/\/x.com\/EngineersGarage\",\"https:\/\/www.youtube.com\/channel\/UC0VITh11JSYk-UW7toLebUw\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/3c71105e3b40a1fd12c79c15602914b6\",\"name\":\"Nikhil Agnihotri\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d26b31563fa36169891c8c7d312e9b33de8a0e3da1340ec14ef2de84d5c43497?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d26b31563fa36169891c8c7d312e9b33de8a0e3da1340ec14ef2de84d5c43497?s=96&r=g\",\"caption\":\"Nikhil Agnihotri\"},\"url\":\"https:\/\/www.engineersgarage.com\/author\/nikhil-agnihotri\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P","description":"How to play MP3 audio files on Arduino using the DFPlayer Mini or MP3-TF-16P.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/","og_locale":"en_US","og_type":"article","og_title":"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P","og_description":"How to play MP3 audio files on Arduino using the DFPlayer Mini or MP3-TF-16P.","og_url":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/","og_site_name":"Engineers Garage","article_publisher":"https:\/\/www.facebook.com\/engineersgarage","og_image":[{"width":806,"height":500,"url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png","type":"image\/png"}],"author":"Nikhil Agnihotri","twitter_card":"summary_large_image","twitter_creator":"@EngineersGarage","twitter_site":"@EngineersGarage","twitter_misc":{"Written by":"Nikhil Agnihotri","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#article","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/"},"author":{"name":"Nikhil Agnihotri","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/3c71105e3b40a1fd12c79c15602914b6"},"headline":"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P","datePublished":"2024-06-12T03:50:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/"},"wordCount":1055,"commentCount":0,"publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"image":{"@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png","keywords":["Arduino","arduinomega","arduinouno","audio","dfplayer","electronicproject","mp3","video"],"articleSection":["Arduino Projects","Electronic Projects","Video"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/","url":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/","name":"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#primaryimage"},"image":{"@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png","datePublished":"2024-06-12T03:50:51+00:00","description":"How to play MP3 audio files on Arduino using the DFPlayer Mini or MP3-TF-16P.","breadcrumb":{"@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#primaryimage","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator.png","width":806,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.engineersgarage.com\/arduino-dfplayer-mini-mp3-tf-16p-mp3-playing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.engineersgarage.com\/"},{"@type":"ListItem","position":2,"name":"How to play MP3 files on Arduino using the DFPlayer Mini or the MP3-TF-16P"}]},{"@type":"WebSite","@id":"https:\/\/www.engineersgarage.com\/#website","url":"https:\/\/www.engineersgarage.com\/","name":"Engineers Garage","description":"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News","publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.engineersgarage.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.engineersgarage.com\/#organization","name":"Engineer's Garage - WTWH Media","url":"https:\/\/www.engineersgarage.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png","width":372,"height":52,"caption":"Engineer's Garage - WTWH Media"},"image":{"@id":"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/engineersgarage","https:\/\/x.com\/EngineersGarage","https:\/\/www.youtube.com\/channel\/UC0VITh11JSYk-UW7toLebUw"]},{"@type":"Person","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/3c71105e3b40a1fd12c79c15602914b6","name":"Nikhil Agnihotri","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d26b31563fa36169891c8c7d312e9b33de8a0e3da1340ec14ef2de84d5c43497?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d26b31563fa36169891c8c7d312e9b33de8a0e3da1340ec14ef2de84d5c43497?s=96&r=g","caption":"Nikhil Agnihotri"},"url":"https:\/\/www.engineersgarage.com\/author\/nikhil-agnihotri\/"}]}},"featured_image_src":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator-600x400.png","featured_image_src_square":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2024\/06\/MP3audio-on-Arduino-rotator-600x500.png","author_info":{"display_name":"Nikhil Agnihotri","author_link":"https:\/\/www.engineersgarage.com\/author\/nikhil-agnihotri\/"},"_links":{"self":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/81220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/users\/387"}],"replies":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/comments?post=81220"}],"version-history":[{"count":0,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/81220\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media\/81227"}],"wp:attachment":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media?parent=81220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/categories?post=81220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/tags?post=81220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}