Skip to the content
PCBKitNew board
2 layers99.5 × 63.5 mmMixxtape, the printed circuit board in 3D

PCB Mix tape

Size
99.5 × 63.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
72
Nets
76
Pads
305
Tracks, vias
601, 111
Pours
4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
25 Aug 2026
Updated
7 Sep 2026

Overview

Mixxtape is an open-source printed circuit board by funvill, from the funvill/mixxtape repository on GitHub. It is a 2-layer board of 99.5 × 63.5 mm with 72 parts on 76 nets, routed with 601 tracks and 111 vias.

It is built around the XL-1615RGBC-2812B and R0603. Its parts include 29 diodes, 16 capacitors, 11 resistors, 5 ICs and 4 switches. It belongs with the ESP32 boards of this library.

Main components

2

README

README.md

Mixxtape — a cassette you can actually record on

A 2-layer PCB in the form factor of a compact cassette (99.5 × 63.5 mm) that slides into a real Norelco cassette case. The bare board is the object — no enclosure, no bezel.

An onboard MEMS microphone records three 4-minute tracks. Hold REC to record, release to stop. Pair it to any Bluetooth earbuds or speaker and press PLAY.

Cassette-shaped Bluetooth players exist. Nobody ships a cassette-shaped recorder — and recording is the part that made a mixtape a mixtape.

The Mixxtape board turning, front and back. The front carries the ESP32, two
rings of RGB LEDs around the routed-out reel windows, four buttons and a USB-C
port; the back is covered edge to edge in a peony line-art silkscreen.

3D render from KiCad. The mask reads green here because that is the viewer's default — the board ships matte white, which is what makes the sharpie label work.

A cassette and its paper insert, both carrying the same black peony line-art
on an off-white ground, the insert showing a blank ruled label
box.

Artwork mockup of the B-side design and the J-card insert. The board is the object; this shows where the artwork is going.

How you use it

  • Hold REC — records. Release stops. Recording always overwrites the current track from zero — recording is erasing, same as tape.
  • PLAY — plays all three tracks in order. It's a tape side, not three voice memos.
  • TRACK — cycles track 1 → 2 → 3.
  • MODE (hold 2 s) — pairing. Hold the board against your speaker; it picks the closest device by signal strength. No phone, no app, no list.
  • Plug it in and it auto-reconnects to the last thing it paired with.

Notable design features

  • Snap-off write-protect tab. A mouse-bitten break-off PCB tab carries a trace to a GPIO. Snap it and the firmware refuses to record — permanently. Handing someone a tape becomes a ritual with a physical, irreversible step.
  • The reels show tape position. Twelve RGB LEDs ring each routed-out reel window. During playback the left ring empties and the right ring fills, like tape transferring between reels. Red pulse tracks recording level.
  • Matte white solder mask so you can sharpie the label on, with a ruled label block silkscreened where a cassette's paper label sits.
  • No battery. USB-C only, and there is no charging circuit on the board at all. A cassette's promise is that you find it years later and it still works.
  • Jig-programmed. No USB-UART on the board — USB-C is power only. Firmware loads through six pogo-pin pads via a programming jig.

Hardware summary

Every fitted part is stocked at JLCPCB. The project rule is a minimum of 5,000 in stock, so a run never stalls on one line item — with a single documented exception: the microphone sits at ~3,500, because no digital MEMS microphone at JLCPCB clears the bar, and the one that does is analogue and would wreck the audio path.

BlockPartJLCPCBQtyNotes
MCUESP32-WROOM-32E-N4C7013411The original Xtensa ESP32 — the only one with Classic Bluetooth, so the only one that can be an A2DP source
MicrophoneMSM261DHT006C519282151PDM digital MEMS, mono, top-ported — sound enters from the component side, so there is no hole through the board
StorageGD25Q128ESIGC2758105116 MB NOR flash, separate from the module's own flash. Three fixed slots, ~4 min each. Winbond W25Q128JVSIQ (C97521) is a drop-in second source
IndicatorsXL-2020RGBC-2812BC534995429WS2812-compatible RGB. Two 12-LED reel rings, three track lamps, REC, BT
LED data bufferSN74AHCT1G125C74841Lifts the ESP32's 3.3 V data line to the LEDs' 5 V rail
RegulatorAMS1117-3.3C618615 V USB down to 3.3 V
USB-CTYPE-C-31-M-12C1659481Power and CC sensing only — no data lines
ButtonsTS-1187A-B-A-BC3188844REC, PLAY, TRACK, MODE
Write-protect tab——1Not a part. A mouse-bitten PCB tongue carrying a net tie; snap it and recording is disabled for good
Programming pads——1Six bare pogo targets. No USB-UART on the board

Passives are all JLCPCB basic-library parts: 10 µF 0805 ×2 (rail bulk), 10 µF 0402, 1 µF (the ESP32's EN delay), 100 nF ×12, 10 k ×7, 5.1 k ×2 (the USB-C CC pull-downs) and 100 Ω (microphone supply isolation).

Audio44.1 kHz mono, ADPCM-encoded at record time; playback decodes with table lookups and hands PCM to the Bluetooth stack
PowerUSB-C only, power and CC sense. No battery, no charger
Board2-layer, 99.50 × 63.50 mm, matte white solder mask with black silkscreen
Cost$9.41/board at a run of 20 — $173.14 in parts plus $15.00 of setup fees for five extended-library parts

Full detail, with live stock and pricing, is in the generated BOM — it is derived from the schematic, so it cannot drift out of step with it.

Project status

Design locked, schematic and firmware core underway. hardware/ holds a KiCad 9 project with a first-pass schematic (ERC-clean) and JLCPCB part libraries. firmware/ has the ESP-IDF skeleton plus the host-tested core — crash-safe slot manager, ADPCM codec, playback sequencer, reel display, pairing policy, bond table and record limiter — all proven without hardware, since there is no devkit. Target: a prototype run of 3–5 boards, then a full run of 20. What is left needs a board in hand: the SPI flash, I²S capture, the A2DP plumbing, LED output, and A2DP against real earbuds.

Documentation

Before ordering boards:

For people using one:

For people building or hacking one:

  • Project write-up — the pitch, design rationale, and open questions
  • Agent handoff brief — the authoritative spec: locked decisions, GPIO map, behaviour spec, phase order
  • Bill of materials — generated from the schematic with live JLCPCB prices and stock, so it cannot drift
  • Line-out option — rejected; kept for the reasoning and the verified part numbers
  • Prior art — research on cassette-form-factor projects
  • Firmware plan — architecture, milestones, and hardware interface for the firmware agent

Prior art

  • Mixtape Alpha (Open Music Labs with Jie Qi / MIT Media Lab, 2012) — a cassette-shaped ATmega328p synth; the bare-PCB-as-object philosophy comes straight from it.
  • Mixxtape (Mixxim) — the commercial cassette-shaped Bluetooth player. The thing this project is not.

Parts

72
QtyValueFootprintReferences
29XL-1615RGBC-2812BLED-SMD_4P-L1.6-W1.5_XL-1615RGBC-2812BD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +13
13C0402C0402C5, C6, C7, C8, C19, C20, C21, C22, C23, C24, C25, C26, C27
8R0603R0402R3, R4, R5, R6, R7, R9, R10, R11
4SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL_H1.5SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL_H1.5SW1, SW2, SW3, SW4
210uFC0805C1, C2
2LOGOLOGOG***, G***
2R0402R0402R1, R2
1100RR0402R12
11uFC0402C9
1LGA-8_L4.0-W3.0-R_WMM7040DT0LGA-8_L4.0-W3.0-R_WMM7040DT0U2
1MOUSEBITE_6MOUSEBITE_6MB1
1PROG_JIGPROG_JIG_6PADJ5
1SOIC-8_L5.3-W5.3-P1.27-LS8.0-BLSOIC-8_L5.3-W5.3-P1.27-LS8.0-BLU3
1SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BRSOT-223-3_L6.5-W3.4-P2.30-LS7.0-BRU4
1SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BRSOT-23-5_L3.0-W1.7-P0.95-LS2.8-BRU8
1TF-SMD_TF-01ATF-SMD_TF-01AJ4
1USB-C_SMD-TYPE-C-31-M-12_1USB-C_SMD-TYPE-C-31-M-12_1J1
1WIFI-SMD_ESP32-WROOM-32EWIFI-SMD_ESP32-WROOM-32EU1
1WRITE-PROTECTTAB_BREAKOFF_LINKTAB1

Questions

How big is the Mixxtape PCB?

It measures 99.5 × 63.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Mixxtape use?

72 parts, built around the XL-1615RGBC-2812B and R0603. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Mixxtape KiCad files?

From the funvill/mixxtape repository on GitHub, at the commit this page was made from: the board is hardware/mixxtape.kicad_pcb and its schematic hardware/mixxtape.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Mixxtape design in my own project?

Its repository states no licence, so its author keeps all rights: ask funvill before reusing the design.

Similar boards

  • 2 layers133.5 × 172.2 mmIc access control, the printed circuit board in 3D

    Ic access control

    5hnrjz2xxq-blip/ic-card-access-system

    数字信号处理课设:IC卡门禁系统设计(ESP32 + MFRC522 + PN532 + HomeKit)

    55 parts
  • 2 layers58 × 36 mmFaikout, the printed circuit board in 3D

    Faikout

    dovy6/Faiked

    This project is subject to the licence in the LICENCE file, and even if that says it is an open source project, you cannot sell boards or cases bearing the Andrews & Arnold Ltd name, the A&A logo, the registered…

    83 partsGPL-3.0
  • 2 layers39 × 65 mmFaikout, the printed circuit board in 3D

    Faikout

    Rsa76d/FaikoutRSA

    This project is subject to the licence in the LICENCE file, and even if that says it is an open source project, you cannot sell boards or cases bearing the Andrews & Arnold Ltd name, the A&A logo, the registered…

    91 partsGPL-3.0
  • 2 layers70 × 70 mmRecorder, the printed circuit board in 3D

    Recorder

    Yang-xy-svg/ESP_OpenMic

    This project is subject to the licence in the LICENCE file, and even if that says it is an open source project, you cannot sell boards or cases bearing the Andrews & Arnold Ltd name, the A&A logo, the registered…

    71 partsGPL-3.0
  • 2 layers76.2 × 22.9 mm30x9, the printed circuit board in 3D

    30x9

    evansj/ESP32-LED

    A Stargate thing...

    510 parts1GPL-3.0
  • 2 layers70 × 70 mmAccess, the printed circuit board in 3D

    Access

    sijinhui/SolarSystem

    Fork of codeberg.org/RevK/SolarSystem — adds ESP32-S3 N16R8 (octal PSRAM) build variant (branch n16r8-octal-psram)

    83 partsGPL-3.0
  • 2 layers50 × 90 mmHackholidays, the printed circuit board in 3D

    Hackholidays

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    72 parts915
  • 2 layers59.9 × 82.5 mmCentronics 50Pin, the printed circuit board in 3D

    Centronics 50Pin

    BlueSCSI/BlueSCSI-v2

    BlueSCSI v2/Ultra - an open source, open hardware, SCSI emulator using the Pi Pico PR2040 and Pico 2 RP2350

    72 parts459GPL-3.0