Enhanced NFC Tag Reader with "Music Follow Me" Automation🗝️✨

Hi everyone,

I’m excited to share V2.0 of my NFC Tag Readers. This project is inspired by Adonno’s Tag Reader. I have first created an original version of Adonno’s Tag Reader, and afterwards also added some hardware optimizations for better long-term stability.

I believe that great smart home automation should be more than just functional — it should be engaging, beautiful, and a bit of an art form.

:hammer_and_wrench: Hardware Optimizations (The “Pro” Build)

Inspired by Adonno’s classic design, I’ve made several tweaks for long-term stability:

  • Buzzer Driver: Added an S8050 NPN transistor. This resolves the common 1.4V voltage drop issue, delivering a crisp, professional “beep” every time.
  • Voltage Shifting: Integrated a 1N4148 diode for precise voltage shifting to protect the GPIO while ensuring reliable triggering.

:brain: Music Transfer: “Music Follow Me”

Building upon the standard Home Assistant tag automations, I’ve modified it to use Music Assistant (MA) the music_assistant.transfer_queue service.

  • Seamless Queue Transfer: When a tag is scanned in a new room, the system checks if a story or playlist is already active. Using Jinja2 templates, it transfers the entire queue and current playback position to the new media player. No more restarting chapters from the beginning!

:artist_palette: Crafted NFC Cards: Amiibo & Audiobooks

The physical cards are a major part of the experience:

  • Cards Printing: I used a Canon TS705 with a PVC tray for printing some of the cards. Also, I reused those non-printable cards by printing onto adhesive paper and paste to the cards.
  • Dual-Purpose: Idea of using the cards both as an Nintendo Amiibo as well as a Home Assistant trigger. One card works for both the Nintendo Switch and the smart home!
  • The “Master Key” :old_key::sparkles:: I also created a special card for my daughter. It’s her magical physical shortcut—whatever automation she dreams up, I map it to this card!
  • Of course some other funny “Ruler Only” cards for myself (if you know HunterxHunter…).

Full Documentation and YAML: :backhand_index_pointing_right: https://github.com/cofw2005/ha-tag-reader

I hope you’ll like my project. Happy building! :clinking_beer_mugs:

:rocket: Sneak Peek

I’ve already started working on my next project: A custom, DIY Media Player based on ESP32-S3-DevkitC-1 and PCM5102A DAC boards, designed to work seamlessly with these NFC readers.

1 Like

Just curious but, what factors made you to use NFC instead of something like BT that can already be used for person/presence room detection and would have been very easy to just expand automations/logic to do audio/music followeint throughout the house since you’re already being tracked room to room anyway?? Here’s an example from me if it helps

1 Like

Thank you for the information!
It is just a different use case. The NFC card is not only used for “follow me” function, but also each card is a different album.
The main purpose of the NFC card is to play music albums. “Follow me” is only a plus.

Play albums??? That isnt downloaded/pirated music that you have is it??? Im going to need to see some receipts for these “albums” or else im gonna have to tell on you…

; )

Do you know music assistant?

Thanks for putting all this together. The kids will love this. I ready through your project on github but I couldn’t find your yaml code for the esphome though. Are you just using the same as the previous referenced project?

yes, my post is just a guide how I build up the tag reader. No change from yaml. You can just use the yaml from adonno, only be careful on the GPIO number.
Maybe I could also upload my code. I did some minus from the code, because I only use it for Music Assistan, I removed the unused code for me.
Anyhow, the yaml from adonno is fine for use.

1 Like

Thanks for the fast reply. Will give that a go. I want to bring the scanned IDs into ha without having to add them to esphome yaml so it should be minimal requirements.

I had a quick look at my current code. I simplified a lot only for my specific use cases. Remove the code that I don’t need.
It doesn’t fit for everyone. I suggest you just use the code from adonno. The code covers all cases, much safer.

1 Like