nfcAudio is a wifi enabled MP3 player with NFC capability. A tag is placed on top and corresponding file is played.
Each time an RFID tag is detected:
- It is compared to volume tags
- If a music is playing with the same tag, stop playing
- Else GET an URL from embedded NDEF record
- If there the file contains an URL to an MP3 file, play it.
This project depends on
- ESP8266 Audio - Wonderfull MP3 decoder
- Adafruit PN532 - NFC library from Adafruit, which I modified to use interrupts instead of defalut blocking functions.
interrupt_spi
branch from my repo has to be used until my pull request is merged. (configured by default inplatformio.ini
file)
Small stickers as well as standard "credit card" size tags can be used. I use a printed picture with thermal laminated film, but you can buy tags that can be printed if you have corresponding printer.
Stickers can also be put underneath objects, toys, 3D printed things... Lot of fun for my 3 years old kid !
- I2S DAC MAX98357A - From Adafruit
- ESP8266 - Wemos mini D1
- NFC Reader PN532
I2S DAC board | Wemos mini D1 mini pin | ESP8266 pin |
---|---|---|
LRC | D4 | IO2 |
BLCK | D8 | IO15 |
DIN | RX | IO3 |
GND | GND | GND |
VCC | 5V |
NFC Reader | Wemos mini D1 mini pin | ESP8266 pin |
---|---|---|
SCK | D5 | IO14 |
MISO | D6 | IO12 |
MOSI | D7 | IO13 |
SS | D1 | IO5 |
VCC | 3.3V | |
GND | GND | GND |
IRQ | D2 | IO4 |
RST | NC | NC |
Design files are available in onShape, or in the case folder.
The onShape model is fully parametrized, so all variables can be changed to fit you needs.