afterware
Resources
Saved
1/4
Hardware · build

A cassette shell that plays MP3s in your deck or pocket

Original

An ESP32-C3 and a DFPlayer Mini fit inside a 3D-printed cassette body that still slides into a real tape deck, with the tape-head switch and transport buttons wired in.

Build sheet
Device page
Cassette →
Microcontroller
ESP32-C3 Super Mini
Audio
DFPlayer Mini
Language
MicroPython
Body
3D-printed PLA cassette
Can I build this?Advanced · AI 3/5 · $40–80
Difficulty
Advanced
AI-buildability
3/5

MicroPython for button handling, DFPlayer control and battery reading is easy for AI, but the flex PCB, tight soldering and fitting everything inside a cassette shell are hands-on work.

Time
A few weeks
Cost
$40–80
Tools
3D printersoldering irondrillneedle file
Starter prompt

Based on "A cassette shell that plays MP3s in your deck or pocket" on Afterware: https://afterware.xyz/p/a-cassette-shell-that-plays-mp3s-in-your-deck-or-pocket

Write MicroPython for an ESP32-C3 Super Mini that drives a DFPlayer Mini over UART at 9600 baud. Map five buttons on GPIO 10, 9, 8, 4 and 3 (play/stop, rewind, fast-forward, volume up, volume down) with internal pullups, and use a sixth input on GPIO 0 as a tape-head switch that starts playback. Add a 0.96in I2C OLED that shows the track number and a battery percentage read from a resistor divider on GPIO 2.

Estimates based on the original write-up. How AI-buildability is scored. Building with an AI assistant? Connect it to Afterware (free MCP server).

Story

Some people still listen to cassettes, and that's how this one started. The maker found older cassette-MP3 ideas online but figured the parts were hard to source, so they built their own. It's a V2 of an earlier MP3 Player Cassette, and it fits into a cassette player or works as a portable player with headphones.

The cassette body is 3D printed rather than modified from a donor tape. It's printed in four flat pieces, two per side, so nothing needs supports, and the USB, SD card and headphone cutouts are built in. Inside, a 2-layer flex PCB carries an ESP32-C3 Super Mini running MicroPython and a DFPlayer Mini. Pins are turned down from 1mm terminal stock so the charger board and microcontroller can be pin-mounted to the flex.

The V2 changes are the ones that make it buildable: a PCB to cut wiring, a fully cut-out body so you don't hack a cassette by hand, and smaller tape wheels that fit now that the wiring is tighter. The battery is a 3.7V LiPo read through a resistor divider, and the play, rewind, fast-forward and volume buttons all run through the ESP32's GPIO.

Resources · 4
More like this
More like this