TagTuner is a device that enables you to access music playlists or albums using NFC tags.
It only works when integrated with Home Assistant media players. Music Assistant music library is optional. This setup seamlessly blends your digital only music collection with the tactile experience of playing a physical record, tape or cd.
Physical music media offer several advantages:
TagTuner is made with ESPHome and includes
All of this is housed in a sleek, custom design case only 16mm high
Here is an exploded view of the TagTuner 3D model with a round tag card
TagTuner is a device approved by the Made for ESPHome program.
Check out also the TagTuner on HA Voice PE version
To start using TagTuner, you’ll need the following:
Assuming you already have Home Assistant (HAss) with Music Assistant (MAss) or Sonos set up and running, TagTuner supports Improv via Serial and Improv via BLE for Wi-Fi configuration.
Home Assistant will automatically detect your new TagTuner as ESPhome device.
In the Diagnostic panel of TagTuner you can see detailed state of your device.
Simply place any NFC tag and watch Status messages.
Custom model cases are print-ready
Choose and print your enclosure with preferred colors and surface patterns.
I suggest a cool-white (signal white) base and a dark front plate with a nice carbon fibre pattern.
pn532 connector (use grove cable):
hw040 connector (use dupont cable):
Route and solder the VCC (red) and GND (white) wires along the bottom side of XIAO to ensure the front LED remains unobstructed.
XIAO will fit perfectly into the bottom part braces
Built-in LED is used as confirmation light. Print the led peg with clear filament and it will give great results
(TODO: XIAO front plate LED pic)
I prefer soldering the grove angle connector to the PN532 NFC board
Just use the force ;-)
Remember to set the DIP switches to 10 to enable I2C. Correct switches position for I2c is marked by yellow lines.
Everything will fit into the enclosure.
Use 10mm M2.5 screws (nfc board, volume encoder, front plate).
TagTuner relies heavily on Home Assistant automation. To get it working, import TagTuner for HAss blueprint
Create automation with this blueprint.
Select your TagTuner device (you can have more than one!) and media player that will be your speaker
I do a monthly updates of the blueprint. You can watch my repo to get email notifications.
Current list of features:
Place your tag flat on the TagTuner or use the slot to position it nicely.
TagTuner will read the tag and send the playlist information to Home Assistant. Using automation, HAss will play music on the speaker you’ve set up for this TagTuner.
undefinedSingle click: next
undefinedDouble click: play/pause
undefinedLong click (>1s): mute/unmute
undefinedTriple click: previous
Rotate the dial left: volume down
Rotate the dial right: volume upundefined
Watch the LED light in the button:
undefinedblink: operation confirmed
undefinedflashing constant: writing operation in progress
undefinedflashing few times: operation success
XIAO-Custom has a single color led so it’s only blinking but it’s really easy to understand what’s going on. Use HAss device Diagnostic dashboard in case you would need status info.
Check the Diagnostic->Status messages on the device page in Home Assistant.
The ladybug icon is your guide.
Use whatever nfc tags you have that work with PN532.
Simply scan them with TagTuner and check you HA tags panel.
Try Amiibos, NFC rings, work badges, etc.
You can even recycle a Sonicare toothbrush head 🤙
Check the read-only tags section below.
Choose NTAG215 (504 bytes) or NTAG216 (888 bytes) tags if you want to include the playlist name and artist. Otherwise, NTAG213 (144 bytes) will suffice for just links to playlists
Record-like cards can be printed (model file included) or you can buy those nice looking vinyl coasters. Just remember to put NFC stickers on them ;-)
Stickers can be used with 3d printed cards or any other object you can place on your TagTuner to play music.
I use Canon KC-18IF card-sized labels to customize my wooden NFC cards.
If your speaker is one of Music Assistant media players, your tags need to have a MAss URI.
Here you can find instructions on how to get URI for the playlist or album you want. In the latest versions you can basically copy the URI directly from the Provider details section for that media.
On the TagTuner device page, you’ll find all the fileds nesesary to write the playlist URI to your tag
Minimum information needed is URI.
Fill in the Playlist URI -> click Write Tag -> LED starts flashing red -> Place the tag on TagTuner
Successful writing will be confirmed with green light.
Check Diagnostic->Status for any additional information.
If your speaker is Sonos media player, your tags can have a plain HTTP playlist URL.
Here you can find instructions on how to get the album or playlist url for Apple Music. Just copy it.
It should work the same with Spotify
On the TagTuner device page, you’ll find all the fileds nesesary to write the playlist URL (URI) to your tag
Minimum information needed is URL.
Fill in the Playlist URL -> click Write Tag -> LED starts flashing red -> Place the tag on TagTuner
Successful writing will be confirmed with green light.
Check Diagnostic->Status for any additional information.
You can also write your tags with any NFC NDEF tag writer, such as NXP NFC TagWriter for iOS or Android
or
You can also play any Sonos app favorite playlist, album, or station!
Simply write the name of the playlist or station exactly as it appears in the Sonos app.
Then, enter sonos-2:// in the URI field.
If you have any read-only tags that can be read by TagTuner (give it a try to check), you can use them too!
To set the playlist URL, place it as the name of the tag in HAss panel
Any tag id read by TagTuner will be pushed to HAss blueprint automation.
OK, I can try. Please choose your preferred way of communication
It all began one day back in 2022.
I’ve seen all those cool NFC jukebox projects but found myself too lazy to automate each tag individually.
So, I contributed to the Adonno tagreader project to enable it to push playlist URLs as HAss events.
Here’s original story posted on Home Assistant communities.
Since then, TagTuner has been completely refactored and physically redesigned.
All of this is my personal hobby project, available for free download and personal use. If you’d like to support me with a coffee, beer, filament, or electronic parts, feel free to use paypal.me/lukagra or ko-fi.com/lukagra
Links to parts listed above are affiliate links, which allow me to earn a small commission from your purchase. Thank you! 🙏
This work, including yaml files, 3d model (Atom version) and documentation, is licensed under
Creative Commons (4.0 International License) Attribution—Noncommercial—Share Alike

ESPhome components modifications are licensed under ESPHome license
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.