Bring back the magic of movie night ā without the rewinding.
This NFC-powered media player uses 3D-printed cartridges and ESPHome to trigger movies, playlists, or automations in Home Assistant. Just insert a cartridge, and your smart home takes care of the rest.
UPDATES 18/07/2025
Ā
- Cartridge Player_Bottom_Buzzer added for use with the buzzer included in the parts kit from our website
- Cartridge_Top_RecessedLabel added for recessed labels (requires support) - Inspired by Bas van der Ploeg @bvdp
- Clearance for cartridges slightly increased for pocket and Player_Top components
šš Ā BUY A PARTS KIT HERE Ā šš
š Links
Ā
- Blog post & build guide
- GitHub repo (firmware, wiring, YAML)
- ESPHome config
- Bill of Materials
- Parts kit
Ā
⨠Features
Ā
- NFC cartridge-based ESP Home device
- Works with ESP32, RC522, and Home Assistant
- Automates anything ā movies, music, lighting, games
- Easy to print and put together
š Tutorial Video
š§° What Youāll Need
Ā
- ESP32-S3 Zero
- RC522 NFC module
- NFC stickers (one per cartridge)
- Hardware
- Optional: buzzer for sound feedback
Full BOM, firmware, and config available here
Ā
šØ Print Instructions
All parts should be oriented correctly when you import them into your slicer. Pictured player was printed in Bambulab Light Gray (10104) & Gray (10103)
Filament choice shouldn't matter. I've tested PETG, ABS and PLA without issue.
Ā
Cartridges:
- Print with outside faces on the print bed
- No supports required
- Insert NFC tag before snapping halves together
There are cutting and printing templates below for printing your own labels.
Ā
Player Housing:
Ā
- Use painted supports for the latch on the āCartridge Player_Pocketā component, and on the cartridge opening on the āCartridge Player_Topā component.
- Avoid auto supports (bridging is intentional)
ESPHome Cartridge Player
by The Stock Pot Ā· original on Printables ā
Gadgets / Other Gadgets
ā„ 384⬠1.3kšØ 13 prints
Print profiles
Cartridge_Top.3mf
ā± time and weight estimated after preparation Ā· 1 material(s)
Made to order: we prepare this file when you order, which adds a few minutes before printing starts.
Prints on: A1 mini 0.4PLA
Order this print
Cartridge_Bottom.3mf
ā± time and weight estimated after preparation Ā· 1 material(s)
Made to order: we prepare this file when you order, which adds a few minutes before printing starts.
Prints on: A1 mini 0.4PLA
Order this print
Cartridge Player_Bottom.3mfDEFAULT
ā± time and weight estimated after preparation Ā· 1 material(s)
Made to order: we prepare this file when you order, which adds a few minutes before printing starts.
Prints on: A1 mini 0.4PLA
Order this print
Cartridge Player_Pocket.3mf
ā± time and weight estimated after preparation Ā· 1 material(s)
Made to order: we prepare this file when you order, which adds a few minutes before printing starts.
Prints on: A1 mini 0.4PLA
Order this print
Cartridge Player_Top.3mf
ā± time and weight estimated after preparation Ā· 1 material(s)
Made to order: we prepare this file when you order, which adds a few minutes before printing starts.
Prints on: A1 mini 0.4PLA
Order this print
Cartridge Player_Bottom_Buzzer.3mf
ā± time and weight estimated after preparation Ā· 1 material(s)
Made to order: we prepare this file when you order, which adds a few minutes before printing starts.
Prints on: A1 mini 0.4PLA
Order this print
Cartridge_Top_RecessedLabel.3mf
ā± time and weight estimated after preparation Ā· 1 material(s)
Made to order: we prepare this file when you order, which adds a few minutes before printing starts.
Prints on: A1 mini 0.4PLA
Order this print
Cartridge_Bottom_EasierAssembly.3mf
ā± time and weight estimated after preparation Ā· 1 material(s)
Made to order: we prepare this file when you order, which adds a few minutes before printing starts.
Prints on: A1 mini 0.4PLA
Order this print