MPY cassette player v4 Walkman DIY cool MP3 player

MPY cassette player v4 Walkman diy cool MP3 player

MPY cassette player v4 Walkman DIY cool MP3 player with Raspberry Pi RP2040, VS1053, and color display AXP2101. Nostalgic design, circuit battery powered, include source code and case 3D.

Mpy Cassette Player V4 Walkman Diy Cool Mp3 Player
Mpy Cassette Player V4 Walkman Diy Cool Mp3 Player

When I was a child, my older brother had a Sony Walkman cassette player that I always envied. I have always had a nostalgia for cassette players in my heart. The exquisite mechanical design and cool appearance of the cassette Walkman at that time left a deep impression on me. Now I am trying to make one myself based on the appearance of a cassette player!


This project is migrated from the standard edition and is participating in the Spark Program 2024. The difference between V3 and V4 is that V4 uses an A56 key cap, which will have a better texture.

Get new posts by email:

Mpy Cassette Player V4 Walkman Diy Cool Mp3 Player Assembly

The V3 and V4 shells are not interchangeable. As for the hardware selection for the project, the MCU used a Raspberry Pi PICO, and a color screen is needed to recreate the effect of rotating transparent tape window.

A 1.14-inch st7789 screen was chosen. Due to the limitations of Micropython’s performance, a music decoding chip is needed, so the VS1053 was chosen for its powerful functions and the availability of existing Micropython libraries online.

The other hardware components are standard, including 4 buttons and a TF card slot. In order to elegantly implement the power on/off function, the project introduces the newer AXP2101 power management chip that other experts are also using.

Schematic MPY cassette player v4 Walkman cool MP3 player

Core ideas of code writing As a Chinese project, of course it should support Chinese. This project has added support for the commonly used 6500 Chinese characters full font library, and used the fb enhancement library by wangshujun

To achieve smooth tape rotation effect, this project uses a 240×135 st7789 color screen, driving it directly with Python would greatly affect efficiency, so here I used the fastc driver by the foreigner Russ Hughes

Support for VS1053 driver, using the library by the Peter Hinch However, this library only supports the most basic playback methods, so I consulted the VS1053 manual myself and added some more advanced methods Good UI, as a perfectionist, the interface must be acceptable to me, so I painstakingly used Photoshop to create the materials one by one… it’s also hard work trying to replicate the logic of a tape player as much as possible.

Mpy Cassette Player V4 Walkman Diy Cool Mp3 Player Panel

The author delved into MP3 encoding format and VS1053, and utilized the album cover from the mp3 id3 information, but it processed it specially so that when playing MP3s, if there is cover information, it will display on the screen, making it feel like a real tape inserted Finally, it’s all about integration, thinking it’s simple, but actually creating a complete system requires some effort.

Many of the aforementioned methods require modifying the micropython source code, so the final firmware is self-compiled, including some advanced libraries, and then used collectively. The source code, instructions, shell files, and tool scripts are uploaded to GitHub of course, a complete project needs a shell. The author just started learning software engineering this year, still at a beginner level.

Production implementation PCB, seamless integration with PCB design, relatively convenient. The VS1053 chip used here is bought from the official website, quite expensive. There is still a lot of room for price reduction if shipped. Currently doing 10 SMTs, with an average price of about 100 yuan each.

The shell is self-modeled and printed with Tuozhu A1 mini printer. For higher accuracy, one can choose from various 3D printing platforms to obtain better precision shells. The STL files can be obtained from the warehouse. Other components to be purchased include: 600mAh rechargeable battery, 240×135 ST7789 plug-in screen, M2.5×8 flat head screws, A56 key caps.

Latest V3 appearance showcase video


Copy music through TF card transmission, use USB interface for program upgrade and charging, MP3 bitrate must not exceed 256k. It is recommended to use 128k or 192k, currently only supports MP3.

Bom MPY mini cassette player v4 Walkman DIY cool MP3 player

Name Value Description Quantity
R1,R12 510 Ω R0402 — SMD resistor 2
R2,R3,R18,R19,R44,R45 0 Ω R0402 — SMD resistor 6
R4,R5,R36,R37 22 Ω R0402 — SMD resistor 4
R8,R10 1 kΩ R0402 — SMD resistor 2
R9,R11,R14,R15,R17,R30,R31,R32,R39,R40,R41,R42,R43 10 kΩ R0402 — SMD resistor 13
R13 3.3 kΩ R0402 — SMD resistor 1
R16,R22 5.1 kΩ R0402 — SMD resistor 2
R21 2.2 kΩ R0402 — SMD resistor 1
R23,R24,R25,R26,R27,R28,R29,R35 100 kΩ R0402 — SMD resistor 8
R33,R38 10 Ω R0402 — SMD resistor 2
R34 1 MΩ R0402 — SMD resistor 1
C1,C18,C19,C20,C25,C37,C41,C42 1uF C0402 — SMD capacitor 8
C2,C15 10uF C0603 — SMD capacitor 2
C3,C6,C10,C13,C14,C33,C34,C35,C36 100nF C0402 — SMD capacitor 9
C4,C5 15pF C0402 — SMD capacitor 2
C7,C8,C9,C11 2.2uF C0402 — SMD capacitor 4
C12 1nF C0402 — SMD capacitor 1
C16,C17,C26 22uF C0603 — SMD capacitor 3
C21,C22,C23,C24 4.7uF C0402 — SMD capacitor 4
C38,C39 10nF C0402 — SMD capacitor 2
C40 47nF C0603 — SMD capacitor 1
C43,C44 12pF C0402 — SMD capacitor 2
C45,C46,C47 10uF C0402 — SMD capacitor 3
LED1 19-217/GHC-YR1S2/3T LED0603 — LED green 1
LED2 KT-0603R LED0603 — LED red 1
Q1 AO3401A P Channel SOT-23 MOSFET 1
U1 W25Q128JVSIQTR 128Mbit SOIC-8-208mil NOR FLASH 1
U2 1.14-IPS-135×240-ST7789V 1.14-IPS display 1
U4 RP2040 264 KB 30 ARM-MSeries 133MHz LQFN-56(7×7) Microcontroller Units (MCUs/MPUs/SOCs) 1
U5 VS1053B LQFP-48(7×7) Audio Interface ICs 1
U6 AP7312-1833W6-7 150mA null Positive electrode 6V, 1.8V SOT-26-6 Linear Voltage Regulators 1
U7 AXP2101 QFN-40 Single Cell NVDC PMU with E-gauge 1
LED4 19-217/BHC-ZL1M2RY/3T LED0603- LED blue 1
SW1 TS-1187A-B-A-B 5.1 mm 1.5 mm Round Button Brick nogging SPST SMD Tactile Switch 1
SW2,SW3,SW4,SW5,SW6 TC-1102DE-C-G 6 mm 7 mm Round Button Lying SPST Plugin Tactile Switch 5
T1,T2,T3,T4 Screw hole m2.5×6 M2.5 screw hole 4
USB1 KH-TYPE-C-16P Female Surface Mount Right Angle Type-C SMD USB Connector 1
CARD2 TF-101A-P3 Self bomb SMD SD Card Connector 1
FPC1 FPC-05FB-8PH20 Right Angle 8P SMD, P=0.5mm,Surface Mount Right Angle FFC/FPC 1
H1 MH200V-11-02-1000 P=2mm Pin Headers 2 pin 1
L1,L2 1uH 0806 Power Inductor 2
L4,L5 600 Ω @100MHz 0603 Ferrite Bead L0603 — SMD inductor 2
AUDIO1 PJ-3420-A-SMT 3.5mm headphone jack 235℃ 30V 500mA SMD Audio Connector 1
X1 12.288MHz 12pF ±10ppm ±30ppm SMD3225-4P Crystal 1
X2 12MHz 20pF ±10ppm ±30ppm SMD3225-4P Crystal 1

Download files, links, and notes

Mpy Cassette Player V4 Walkman Diy Cool Mp3 Player
Pcb 3D

Download PCB in Gerber and PDF



Source code + shell


How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Share on the social networks!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Photo of author
About the author blog author. Electronics technician for the technical school of Brasilia - Brazil. Interested in electronics, circuits and technology in general.

Leave a Comment