Retro cassette player for kids with RFID tapes

Oct 14, 2026 Last reply: 1 day ago 2 Replies
Jump to replies (2)

Screen-free audio players for children exist, but the commercial ones sit behind a paywall and a locked ecosystem, with one retail option costing 99.99 euros plus subscriptions. Nvkv Makes wanted something in the same spirit, only cheaper, offline, expandable and open, and the answer was a miniature cassette deck that feels like it came out of the eighties. Drop in a tape, and an audiobook or music starts; pull it out, and playback pauses.



The electronics centre on an ESP32-WROVER with Wi-Fi and Bluetooth Classic, an MFRC522 reader, microSD storage and a TLV320DAC3100 DAC over I2S, with a separate amplifier driving the speaker. Volume runs through a rotary encoder, and three momentary buttons cleverly share a single analog pin, told apart by voltage thresholds instead of an external expander. Firmware uses FreeRTOS across both cores: RFID polling sits on one, continuous audio streaming on the other, which cured early swipes that stuttered like a slow robotic voice.



Each cassette hides a 13.56 MHz coin tag inside printed shells, and 6 by 3 mm neodymium magnets latch the housing and door. Long-pressing the encoder opens a Wi-Fi access point with a web interface, where you link an SD card folder to a tape by presenting it to the reader. After that Wi-Fi switches off and everything plays locally. New tapes need no computer and no reflashing, which seems like the smartest part of the whole design.



One open question remains: the DAC kept cutting out on the speaker above 50% volume, and the cause is still unknown, so the workaround routes audio through the external amplifier. Simultaneous button presses also go undetected, a trade-off the maker accepted.



Project by Nvkv Makes. Watch it on their YouTube channel:

formatting link


The shared analog pin for the three playback buttons is the bit I keep thinking about. Does the firmware measure the voltage level on that one input and match it against fixed thresholds to work out which button was pressed? I would love to know how reliable that has been in day to day use, especially with small hands hammering the buttons.

That is exactly how it works as described: the three momentary buttons route through one analog input and are identified by distinct voltage thresholds. An ADC voltage divider built from 22k, 10k and 4.7k resistors with a 10k pull-up handles it, replacing an external I2C GPIO expander because pins ran short. One limitation worth knowing is that pressing several buttons at once cannot be detected, which the maker has accepted.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required