{"id":4313,"date":"2025-06-30T10:18:00","date_gmt":"2025-06-30T15:18:00","guid":{"rendered":"https:\/\/lab.rapternet.us\/?p=4313"},"modified":"2025-05-13T21:39:48","modified_gmt":"2025-05-14T02:39:48","slug":"tertiary-parts-of-an-nfc-music-player","status":"publish","type":"post","link":"https:\/\/lab.rapternet.us\/?p=4313","title":{"rendered":"Tertiary Parts of an NFC Music Player"},"content":{"rendered":"\n<p>The devil is always in the details with large systems like this. I wanted my multi room audio system to feel like a polished product, a professional setup. For that I need to make sure I covered ALL the details, since it&#8217;s all the small things that can add up to big issues. Here is a smattering of the details I&#8217;ve been working on for my multi room audio system.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">NFC Tags<\/h2>\n\n\n\n<p>I wanted to make my NFC tags look the part for the various albums, artists, and playlists that I&#8217;m going to be playing on the system. For this I decided I needed to give them graphics. There were two ways that I found to do this, either via a printer that can accept the NFC tag cards, or by adding labels to them. I went the label route with vinyl labels.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240919_0100476225782024095854209970-1024x771.jpg\" alt=\"\" class=\"wp-image-4312\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240919_0100476225782024095854209970-1024x771.jpg 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240919_0100476225782024095854209970-300x226.jpg 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240919_0100476225782024095854209970-768x578.jpg 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240919_0100476225782024095854209970-1536x1157.jpg 1536w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240919_0100476225782024095854209970.jpg 2000w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Below are the tags and stickers I used:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/a.co\/d\/hU0vuyd\" target=\"_blank\" rel=\"noreferrer noopener\">NFC tags themselves<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/a.co\/d\/0IQgOo3\" target=\"_blank\" rel=\"noreferrer noopener\">Ink Jet Printable Vinyl Stickers<\/a><\/li>\n<\/ul>\n\n\n\n<p>The alternative solution with a printer capable of printing directly on them is below. This can be a good solution if you&#8217;re going to be making MANY cards.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.amazon.com\/TS702a-Compact-Connected-Inkjet-Printer\/dp\/B09TG8F4YS\/\" target=\"_blank\" rel=\"noreferrer noopener\">Printer that can do NFC cards<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/amzn.to\/3hq59x2\" target=\"_blank\" rel=\"noreferrer noopener\">Card printing tray <\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/amzn.to\/3iqHpKx\" target=\"_blank\" rel=\"noreferrer noopener\">Ink jet printable NFC tags<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">NFC Tag Holder<\/h2>\n\n\n\n<p>The NFC cards are 55mm wide and 86mm tall. Stacked up, they take about 4.3mm of thickness per 5 cards. This will define how thick we need our containers to hold a certain number of cards.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">NFC Deck Tag Basement<\/h3>\n\n\n\n<p>I designed the <a href=\"https:\/\/www.printables.com\/model\/1015954-nfc-deck-tag-stacker\">basement to hold a bunch of NFC cards <\/a>underneath the NFC Deck. It was meant to be a convenient add-on to hold the cards without taking up additional surface area on a desk.<\/p>\n\n\n\n<p>The NFC Deck does need one minor modification in order to use the NFC tag basement, it needs an RF blocker between it and the basement to prevent it from reading the NFC tags stored underneath. This is as simple as a piece of tinfoil glued to the bottom with hot glue or glue stick. For the basement itself, I also added rubber feet to it like those I add to the NFC Deck.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4400\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201439144-1024x771.jpg\" alt=\"\" class=\"wp-image-4400\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201439144-1024x771.jpg 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201439144-300x226.jpg 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201439144-768x578.jpg 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201439144-1536x1157.jpg 1536w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201439144-2048x1542.jpg 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4401\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201710583-1024x771.jpg\" alt=\"\" class=\"wp-image-4401\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201710583-1024x771.jpg 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201710583-300x226.jpg 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201710583-768x578.jpg 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201710583-1536x1157.jpg 1536w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201710583-2048x1542.jpg 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4402\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201720953-1024x771.jpg\" alt=\"\" class=\"wp-image-4402\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201720953-1024x771.jpg 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201720953-300x226.jpg 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201720953-768x578.jpg 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201720953-1536x1157.jpg 1536w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/PXL_20240924_201720953-2048x1542.jpg 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n<\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">NFC Tag Box<\/h3>\n\n\n\n<p>I designed the <a href=\"https:\/\/www.printables.com\/model\/1015955-nfc-tag-box\">tag box to hold a number of NFC tags <\/a>upright. It is 30mm deep so it doesn&#8217;t cover up the entire card, but is still hefty enough to hold them in place. It can sit next to the card reader instead of underneath, but it can also hold far more cards than the basement can.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4379\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1455582882033738024370937101-1024x771.jpg\" alt=\"\" class=\"wp-image-4379\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1455582882033738024370937101-1024x771.jpg 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1455582882033738024370937101-300x226.jpg 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1455582882033738024370937101-768x578.jpg 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1455582882033738024370937101-1536x1157.jpg 1536w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1455582882033738024370937101.jpg 2000w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4378\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1456346095509788867200536131-1024x771.jpg\" alt=\"\" class=\"wp-image-4378\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1456346095509788867200536131-1024x771.jpg 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1456346095509788867200536131-300x226.jpg 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1456346095509788867200536131-768x578.jpg 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1456346095509788867200536131-1536x1157.jpg 1536w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/pxl_20240923_1456346095509788867200536131.jpg 2000w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Writing the Right Data to the Tags<\/h2>\n\n\n\n<p>Made a custom service for the adonno tag reader and custom automations to drive it all. My system works as follows.<\/p>\n\n\n\n<p>Set the text field helper in home assistant to the value you want to set to the NFC tag data. Click the button! Then scan the tag to write the data to it. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"410\" src=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/screenshot_20240927-0921026550480889632274484-1024x410.png\" alt=\"\" class=\"wp-image-4431\" srcset=\"https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/screenshot_20240927-0921026550480889632274484-1024x410.png 1024w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/screenshot_20240927-0921026550480889632274484-300x120.png 300w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/screenshot_20240927-0921026550480889632274484-768x307.png 768w, https:\/\/lab.rapternet.us\/wp-content\/uploads\/2024\/09\/screenshot_20240927-0921026550480889632274484.png 1080w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Dashboard cards to drive tag management<\/figcaption><\/figure>\n\n\n\n<p>The data format that I use is:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Music: Artist: &lt;band name&gt;<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Music: Playlist: &lt;playlist name&gt;<\/pre>\n\n\n\n<p>With this, I pull apart the data from the tag in my automations and use it to determine how to build the commands to music assistant. I tried to make it all as flexible as possible and not be tied to an individual service.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The devil is always in the details with large systems like this. I wanted my multi room audio system to feel like a polished product, a professional setup. For that I need to make sure I covered ALL the details, since it&#8217;s all the small things that can add up to big issues. Here is &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/lab.rapternet.us\/?p=4313\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Tertiary Parts of an NFC Music Player&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":4401,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[105,39,107,100,103,106],"class_list":["post-4313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","tag-audio","tag-home-assistant","tag-music-assistant","tag-nfc","tag-nfcdeck","tag-squeezelite"],"_links":{"self":[{"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/posts\/4313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4313"}],"version-history":[{"count":18,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/posts\/4313\/revisions"}],"predecessor-version":[{"id":4944,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/posts\/4313\/revisions\/4944"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=\/wp\/v2\/media\/4401"}],"wp:attachment":[{"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lab.rapternet.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}