https://github.com/eduardostuart/pi-vinyl-record-player
🎶 Vinyl Record Player is a just-for-fun™️ project I made to play music using RFID tags on my Google Home devices.
https://github.com/eduardostuart/pi-vinyl-record-player
python raspberry-pi vuejs
Last synced: about 2 months ago
JSON representation
🎶 Vinyl Record Player is a just-for-fun™️ project I made to play music using RFID tags on my Google Home devices.
- Host: GitHub
- URL: https://github.com/eduardostuart/pi-vinyl-record-player
- Owner: eduardostuart
- License: mit
- Created: 2023-11-25T14:58:31.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-25T15:12:40.000Z (over 2 years ago)
- Last Synced: 2026-03-31T15:46:04.585Z (3 months ago)
- Topics: python, raspberry-pi, vuejs
- Language: Python
- Homepage:
- Size: 1.18 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# "Vinyl" Record Player
🎶 Vinyl Record Player is a just-for-fun project I made to play music using RFID tags on my Google Home device. The idea is to simulate a record player; don't take it too seriously.
I'm using a Raspberry Pi 3 B.
## How it works
1. The music catalog is defined on `config.toml` file. See [config.toml.example](./config.toml.example) for an example.
2. When someone places an RFID tag on the reader, the music will play on the Google Home device.
Use the command `python discovery.py` to find your device information.
## Hardware
> This is what I'm using. Use whatever you want.
- [Raspberry Pi 3 B](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/)
- [MFRC522 RC522](https://www.amazon.nl/-/en/dp/B09H6PLM1C?psc=1&ref=ppx_yo2ov_dt_b_product_details)
## Demo
https://www.youtube.com/watch?v=OBsPoJM-FHk
## How to run
Install dependencies:
```sh
pip install -r requirements.txt
```
Then:
```sh
python main.py my-config.toml
```
### Keep it running
Create a service on `/etc/systemd/system/`. For example:
```sh
# cat /etc/systemd/system/vinyl.service
[Unit]
Description=Vinyl Player Service
After=network.target # Wait for the network to be available
[Service]
User=eduardostuart
WorkingDirectory=/home/eduardostuart/vinyl-record-player/
ExecStart=/usr/bin/python main.py config.toml
Restart=always
[Install]
WantedBy=multi-user.target
```
Then enable & start the service using:
```sh
sudo systemctl enable vinyl.service # enable
sudo systemctl start vinyl.service # start
sudo systemctl status vinyl.service # check if the service is running
sudo systemctl daemon-reload
```
## To-do list (a.k.a.: wishlist)
- [ ] add a button to pause/play the music
- [ ] add a motor to simulate the vinyl record rotation
- [ ] 3d printed vinyl player
## Vinyl builder
If you want to have your own fake vinyl, I created a super simple "vinyl" builder. You can find the app [here](./vinyl-builder). I'm basically printing and using an [A4 laminator](https://www.action.com/nl-nl/p/2554854/fichero-lamineerapparaat/). _(yes, a 3d printed one would look way nicer, but I don't have a 3d printer)_
## References & inspiration
There are a lot of projects out there that are similar to this. The main difference is that I use YouTube Music instead of Spotify and a Google Home device.
Inspiration list
- [A Modern Day Record Player: RFID Technology & Spotify API by talaexe](https://talaexe.com/moderndayrecordplayer)
- [Automating My Morning Routine - Modern-Day Record Player by Uma Abu](https://www.youtube.com/watch?v=-pfpPQN2Vek&t=454s)
- [DIY RFID Jukebox - by Slopes Tech](https://www.youtube.com/watch?v=wtzMpPbsPb4)
- [TonUINO, DIE DIY Musikbox (nicht nur) für Kinder (Jukebox, Arduino, RFID, DFPlayer, MP3)
by Thorsten Voß](https://www.youtube.com/watch?v=-WZEMqXRFg4)
References list
- [RC522 RFID lezer aansluiten op een Raspberry Pi en uitlezen met Python](https://raspberrytips.nl/rc522-rfid-raspberry-pi-3/)
- [pychromecast from home-assistant](https://github.com/home-assistant-libs/pychromecast)
## License
Vinyl Record Player is licensed under the MIT license. See [LICENSE](LICENSE) for more information.
[Image](./image.png) created using DALL-E OpenAI.