Skip to the content
PCBKitNew board
2 layers76.1 × 61 mmFrisson, the printed circuit board in 3D

Frisson: a palm-sized RP2350 FLAC player with an e-ink screen, a NeoKey 1x4 and an ANO wheel, on a milled PCB in a 3D printed stand

Size
76.1 × 61 mm
Copper layers
2
Thickness
1.6 mm
Parts
27
Nets
52
Pads
86
Tracks, vias
132, 0
Pours
9
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
23 Oct 2026
Updated
1 Nov 2026

Overview

Frisson is an open-source printed circuit board by mikeysklar, from the mikeysklar/frisson repository on GitHub, published under the MIT-0 licence. It is a 2-layer board of 76.1 × 61 mm with 27 parts on 52 nets, routed with 132 tracks and 0 vias.

It is built around the M2.5. Its parts include 6 connectors, 4 resistors and 1 switch. It belongs with the lEDs and displays boards and the RP2350 boards of this library.

Main components

1

README

README.md

Frisson

A desktop audio player with a quad-colour e-ink screen, four keys and a thumb wheel. It will let you pick a letter to jump straight to an artist, album or song, so you never scroll through a long list.

It plays FLAC files. 16-bit/44.1 kHz works now; the goal is up to 24-bit/96 kHz, higher quality than a CD. Some people get frisson, a chill or goose bumps on the neck, from music they love, and that slightly better fidelity can make it easier to feel.

Site: https://mikeysklar.github.io/frisson/

Docs: Hardware · Design · Printing

break apart

anatomy

Parts are labelled in the interactive anatomy page.

How it works

  • An Adafruit Feather RP2350 reads FLAC files from a microSD card on the display's EYESPI breakout, over SPI.
  • A TLV320DAC3100 DAC takes I2S from the Feather on A0, A1 and A2, and drives the headphone jack. A jumper wire from TP1 to TP2 feeds it a 15 MHz MCLK from D5; without it the audio sounds muffled.
  • The 2.13 inch quad-colour e-ink screen shows the artist and track.
  • A NeoKey 1x4 on STEMMA QT gives next, previous, play and artist.
  • An ANO rotary encoder on the stand gives the thumb a wheel and five buttons. It chains off the NeoKey over STEMMA QT.
  • A 2000 mAh LiPo powers it. A slide switch turns it on and off.

The board

The four boards plug into one single-sided milled PCB. It has top copper only, 0.4 mm traces, a GND fill with 0.1 mm clearance, and 0805 0R jumpers where traces cross. There are no vias. Two large pads, TP1 and TP2, take a hand-soldered wire from Feather D5 to the TLV320's MCLK.

schematic

PCB copper

PCB 3D

PCB 3D back

board turntable

  • kicad/ has the KiCad project and the 3D models it uses. The ANO is in it too, as a reference part off the board, where the stand puts it.
  • kicad/3d/adafruit-hq/ rebuilds the board models: Adafruit's CAD parts on Adafruit's own boards, with mask, silkscreen and pads.
  • kicad/fab/ has the Gerber and drill files for milling or a board house.
  • kicad/scripts/ has the scripts that generate the board and check the layout plan.

Without the landing pad, the same circuit on a breadboard takes 22 jumper wires:

breadboard wiring

Firmware

firmware/ is a CircuitPython FLAC player with e-ink menus, up to 24-bit / 96 kHz. Browse with the ANO wheel, and play, pause, skip and scan with the NeoKeys. See firmware/README.md for the jumper, pins, libraries and controls.

The stand

A minimal "mini arcade" skeleton. The screen tilts back 65 degrees. The keys sit on their own deck in front, at 10 degrees. It is five printed parts held by 12 M2.5 screws into brass heat inserts, so it comes apart and goes back together easily. The red chassis is both cheeks, the feet and the ANO mount in one piece. The ANO sits past the end of the keys, closer to you, for the thumb.

turntable

parts

  • enclosure/ has the FreeCAD scripts, STEP and STL files, and frisson.FCStd.
  • To rebuild the stand, run freecadcmd enclosure/assemble_arcade.py.

Parts

Full parts list, pin map and screws: docs/HARDWARE.md.

Renders

  • blender/ has the scene scripts for the turntable and explode renders. It follows the Metal GPU Cycles recipe.
  • anatomy/ has the sources for the anatomy figure. Rebuilding it needs the Anatomy kit.

Layout

text
README.md
LICENSE
.gitignore
docs/          Pages site, renders, anatomy page and docs
kicad/         KiCad project, 3D models, fab files and generator scripts
enclosure/     FreeCAD sources, STEP and STL files
blender/       render scripts and scenes
anatomy/       anatomy build sources

License

MIT-0 (MIT No Attribution). See LICENSE.

Parts

27
QtyValueFootprintReferences
7M2.5MountingHole:MountingHole_2.7mmH1, H2, H3, H4, H5, H6, H7
40RResistor_SMD:R_0805_2012MetricR1, R2, R3, R4
2JUMPERfrisson:JumperPad_3.8x2.0mmTP1, TP2
12.13in quad-colour e-ink (Adafruit 6366)DS1
1ANO rotary encoder (6310), stand-mounted, referenceANO1
1EYESPI 1-9 (5613 JP2)Connector_PinSocket_2.54mm:PinSocket_1x09_P2.54mm_Vertical_SMD_Pin1LeftJ4
1EYESPI 10-18 (5613 JP1)Connector_PinSocket_2.54mm:PinSocket_1x09_P2.54mm_Vertical_SMD_Pin1LeftJ5
1EYESPI breakout (5613)A7
1Feather 12-pinConnector_PinSocket_2.54mm:PinSocket_1x12_P2.54mm_Vertical_SMD_Pin1LeftJ2
1Feather 16-pinConnector_PinSocket_2.54mm:PinSocket_1x16_P2.54mm_Vertical_SMD_Pin1LeftJ1
1Feather RP2350 (6000)A1
1LiPo 2000 mAh (Adafruit 2011)BT1
1NeoKey 1x4 QT (4980), case-mountedA5
1Power (MSK-12C03)frisson:SW_SPDT_MSK-12C03SW1
1TLV MICBIAS..MICConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical_SMD_Pin1LeftJ10
1TLV VIN..SPKPConnector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical_SMD_Pin1LeftJ9
1TLV320DAC3100 breakout (6309)A3

Questions

How big is the Frisson PCB?

It measures 76.1 × 61 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Frisson use?

27 parts, built around the M2.5. 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 Frisson KiCad files?

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

Can I use the Frisson design in my own project?

Its repository publishes it under the MIT-0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers40.9 × 85 mmStudio mic, the printed circuit board in 3D

    Studio mic

    Spirit532/studio_mic

    A simple, easy to build preamplifier for any true condenser capsule, to make a condenser microphone

    63 parts150MIT
  • 2 layers65 × 56 mmPi1541io, the printed circuit board in 3D

    Pi1541io

    hackup/Pi1541io

    Raspberry Pi extension board for the PI1541 project.

    57 parts109CC-BY-SA-4.0
  • 2 layers65 × 56 mmClumsyMIDI, the printed circuit board in 3D

    ClumsyMIDI

    gmcn42/clumsyMIDI

    A THT-only Raspberry Pi expansion board containing a MIDI interface, DAC, and OLED display

    26 parts90CC-BY-SA-4.0
  • 6 layers203 × 151.8 mmPDNode Baseboard, the printed circuit board in 3D

    PDNode Baseboard

    DvidMakesThings/HW_PDNode-600-Pro

    The PDNode-600 is a professional-grade, 600W USB Power Delivery Unit designed specifically for compact 10-inch rack systems, targeting embedded developers, homelab enthusiasts, test benches, and smart infrastructure.

    236 parts86AGPL-3.0
  • 4 layers60 × 127 mmOpenHT RF, the printed circuit board in 3D

    OpenHT RF

    M17-Project/OpenHT-hw

    Repository for the hardware parts of the OpenHT project

    199 parts63
  • 2 layers85 × 56.5 mmModemHAT, the printed circuit board in 3D

    ModemHAT

    astuder/ModemHAT

    Classic Phone Modem HAT for the Raspberry Pi

    111 parts56
  • 4 layers70 × 60 mmMarelleo, the printed circuit board in 3D

    Marelleo

    Zebra-Rodeo/marelleo

    Une boîte qui raconte une histoire quand on pose une figurine dessus. Boîtier, carte, micrologiciel et doc pour la refaire.

    57 parts47
  • 2 layers285.8 × 124.6 mmPunk75, the printed circuit board in 3D

    Punk75

    dsanchezseco/punk75

    Ortholinear keyboard with 75 keys and all components through hole

    194 parts44GPL-3.0