No more scratched CDs!
Yaydio is a portable music player designed for kids, ditching the hassle of CDs in favor of easy-to-use keycards.
![]() |
![]() |
|---|---|
| V1 | Battery powered V2 |
- Keycard playback: Insert a keycard to instantly play an album.
- Simple controls: Play/pause, next/previous track, volume up/down.
- Audio options: Built-in speaker or connect headphones via the 3.5mm jack.
- Long battery life: Over 12 hours of play time.
- High capacity:
- Up to 999 songs per album
- Up to 9999 albums
- Up to 65535 songs in total
- Supports micro SD cards up to 32GB.
- MP3 compatibility: Plays all your favorite MP3 files.
- Affordable & accessible: Works with cost-effective MF S50 RFID keycards.
- Inserting a keycard into the Yaydio will automatically start the playback.
- Press the left knob to pause or resume the playback.
- Remove the keycard to stop the playback.
- Turn the left knob to increase or decrease the volume.
- Turn the right knob to skip to the next or previous track.
- Press the right knob to toggle random mode on or off.
- When enabled, the Yaydio will pick the next track from the album at random.
- Insert the keycard into the Yaydio.
- Press the left and right knobs simultaneously.
- Turn the right knob to select the album number.
- Press the right knob to write the album number to the keycard.
- Format the SD card to FAT16 or FAT32 and name it
YAYDIO. - Copy the
README.mdfile onto the SD card. - Windows only: Download
DriveSort and copy
DriveSort.exeonto the SD card. - macOS only: Download FatDriveSorter
and copy
FatDriveSorter.apponto the SD card.
- Create a new folder named
0001, where "1" represents the next album number. - Copy the album's songs into the folder you created.
- Rename the first song of the album to
001.mp3. - Repeat steps 1-3 for each album.
- Windows only: Use
DriveSortto sort the files alphabetically in the SD card's table.- Sort by
long nameandascending. - Remember to press the save button.
- You may need to sort every new folder individually and press save after each one.
- Sort by
- macOS only: Use
FatDriveSorterto sort the files alphabetically in the SD card's table.- Next to
Order:selectDirectories first. - Tick the box next to
Case-sensitive:.
- Next to
I've added an Amazon link for each part so you know what to look for. You'll probably find the parts much cheaper in other stores.
- 1 x Arduino Nano clone with USB-C port (pin headers not soldered on) (Amazon.de)
- 1 x PN532 NFC Module V3 (Amazon.de)
- 1 x DY-SV5W Voice Module (Amazon.de) Note: Some modules don't come with a 1K Ohm resistor on the RXD pin. If this is the case, you'll have to connect D13 and the RXD pin with a 1K Ohm resistor (see this).
- 1 x 4-digit 7-segment 0.36 inch display with TM1637 driver chip (Amazon.de)
- 2 x Rotary encoder with button and 15 mm D-shaft (not the KY-040 module!) (Amazon.de)
- 1 x Limit switch 12.8mm x 5.8mm (Amazon.de)
- 1 x Speaker 3W 8Ohms 70mm x 30mm x 15mm (Amazon.de)
- 1 x SM5308 battery charger module (Amazon.de)
- 1 x Battery 3.7V 3000mAh Li-ion 18650 (Amazon.de)
- A bunch of 13.56 MHz MF S50 ISO14443 (Mifare Classic) RFID keycards (Amazon.de) Note: If you plan on making multiple Yaydios sharing the same keycards, make sure you get keycards that aren't "magic". The cards must have a fixed UID that is not encrypted or reprogrammable.
- Optional: 1 x Double-sided PCB board 20 x 80mm with 168 holes (Amazon.de)
- A bunch of wires (Amazon.de)
| Left Rotary Encoder | Arduino Nano |
|---|---|
| SW | D2 |
| SW GND | GND |
| DT | D3 |
| CLK | D4 |
| GND | GND |
| Right Rotary Encoder | Arduino Nano |
|---|---|
| SW | D5 |
| SW GND | GND |
| DT | D6 |
| CLK | D7 |
| GND | GND |
| 4-Digit 7-Segment 0.36 Inch TM1637 | Arduino Nano |
|---|---|
| CLK | D10 |
| DIO | D11 |
| GND | GND |
| 5V | 5V |
| Card Switch | |
|---|---|
| COM | Arduino GND |
| NO | Battery Module GND |
| NC | A3 |
| SM5308 Battery Module | |
|---|---|
| 5V | Arduino 5V |
| GND | Card Switch NO |
| B+ | Battery + |
| B- | Battery - |
| PN532 NFC Module V3 | Arduino Nano |
|---|---|
| GND | GND |
| VCC | 5V |
| SDA | A4 |
| SCL | A5 |
| RSTPDN | D9 |
| Switches: ON, OFF (I2C mode) |
| DY-SV5W Voice Module | |
|---|---|
| - | Arduino GND |
| + | Arduino 5V |
| TXD | Arduino D12 |
| RXD | Arduino D13 |
| Speaker + | Speaker + |
| Speaker - | Speaker - |
| Switches: OFF, OFF, ON (UART mode) |
yaydio.step contains the models of the 3D-printed parts.
Printer: Bambu Lab A1 with AMS
Nozzle: 0.4mm
Preset: 0.20mm Standard @BBL A1 with supports enabled
Filaments:
- Bambu Lab PLA Matte Mandarin Orange (11300)
- Bambu Lab PLA Matte Marine Blue (11600)
- Bambu Lab PLA Matte Dark Blue (11602)
- or
- Bambu Lab PLA Matte Lemon Yellow (11400)
- Bambu Lab PLA Matte Sakura Pink (11201)
- Bambu Lab PLA Matte Lilac purple (11700)



