Skip to the content
PCBKitNew board
2 layers80 × 65 mmSquishbox8, the printed circuit board in 3D

Software and design files for a Raspberry Pi sound module enclosure

Size
80 × 65 mm
Copper layers
2
Thickness
1.6 mm
Parts
35
Nets
65
Pads
178
Tracks, vias
298, 12
Pours
158
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
23 Aug 2023
Updated
7 Oct 2026

Overview

Squishbox8 is an open-source printed circuit board by GeekFunkLabs, from the GeekFunkLabs/squishbox repository on GitHub, published under the MIT licence. It is a 2-layer board of 80 × 65 mm with 35 parts on 65 nets, routed with 298 tracks and 12 vias.

It is built around the H11L1S(TA), PCM5102PW and GZ1608D601TF, with the 0805F104M500NT, 0805B106K100NT and ARG05FTC1001 among its other parts. Its parts include 9 capacitors, 8 resistors, 6 connectors, 4 inductors and 3 ICs.

Main components

12

README

README.md

SquishBox

The SquishBox is a compact add-on board and enclosure for Raspberry Pi (primarily Pi 3B+ and Pi 4) that combines:

  • high-quality stereo DAC with 1/4" outputs
  • MIDI in/out via TRS minijacks
  • 16x2 character LCD
  • pushbutton rotary encoder
  • breakout GPIO for extra controls, LEDs, and peripherals

This creates a portable embedded platform for audio projects such as synths, sound modules, pedalboard utilities, sequencers, and music players.

The software package includes ready-to-run applications plus a simple Python API for building your own.

Building/Obtaining

This repository includes schematics, PCB fabrication files, BOMs, and enclosure models for users who want to build their own hardware.

Kits and pre-built units are also available from the Geek Funk Labs store.

Installing

The SquishBox software is targeted for a Pi 3B+/4 running Raspberry Pi OS (64-bit, based on Debian 13 "Trixie") or newer. Other platforms may work but are not officially tested.

Before installing (even on a fresh system) it's advisable to first run sudo apt update && sudo apt upgrade to update your audio stack.

To run the install script, log in as a regular user and enter:

bash
bash <(curl -sL geekfunklabs.com/squishbox)

Answer the prompts, wait for install to complete, and reboot the Pi to activate the LCD/button interface.

Using the SquishBox

On first boot, the SquishBox starts a launcher that lets the user choose an app to run or modify system settings. Selections can be made by turning the rotary encoder. Tapping the rotary encoder confirms a choice. Pressing and holding the encoder will cancel or return to the previous screen in most situations. To safely shut down the SquishBox before disconnecting power, use the "Shutdown" option in the "Exit" menu.

Writing SquishBox Apps

The squishbox python package provides access to the LCD, controls (buttons/encoders), outputs, and a set of menu-driven interaction helpers. Here is a simple example app:

python
import squishbox

sb = squishbox.SquishBox()
card = "hw:sndrpihifiberry"

sb.lcd.clear()
sb.lcd.write("Audio Test", row=0)
while True:
    i, option = sb.menu_choose(["Noise", "Sine", "Exit"], row=1)
    if option == "Noise":
        sb.shell_cmd(f"speaker-test -l2 -c2 -D{card}")
    elif option == "Sine":
        sb.shell_cmd(f"speaker-test -l2 -c2 -tsine -D{card}")
    elif option == "Exit":
        break

Support and Feature Requests

The SquishBox is under active development, and feature requests are welcome.

Please post requests/questions to Discussions on GitHub, and open issues or pull requests for bugs.

Parts

35
QtyValueFootprintReferences
4L_FerriteInductor_SMD:L_0603_1608MetricL1, L2, L3, L4
3100 nFCapacitor_SMD:C_0805_2012MetricC1, C4, C7
210 uFCapacitor_SMD:C_0805_2012MetricC2, C8
21kResistor_SMD:R_0805_2012MetricR3, R4
22.2 nFCapacitor_SMD:C_0805_2012MetricC9, C10
22.2 uFCapacitor_SMD:C_0805_2012MetricC5, C6
222Resistor_SMD:R_2010_5025MetricR5, R6
2220Resistor_SMD:R_1206_3216MetricR7, R8
2470Resistor_SMD:R_0805_2012MetricR1, R2
2AudioJack3_SwitchConnector_Audio:Jack_6.35mm_Neutrik_NMJ6HFD4_HorizontalTRS1, TRS2
2AudioJack4Connector_Audio:Jack_3.5mm_KoreanHropartsElec_PJ-320D-4A_HorizontalJ4, J5
2Conn_02x02_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x02_P2.54mm_VerticalJ2, J3
110kPotentiometer_THT:Potentiometer_Piher_PT-6-V_VerticalVR1
11N4148WSDiode_SMD:D_SOD-323D1
1Conn_01x14_PinConnector_PinHeader_2.54mm:PinHeader_1x14_P2.54mm_VerticalP1
1H11L1Package_DIP:SMDIP-6_W9.53mmU3
1LCD1602Connector_PinSocket_2.54mm:PinSocket_1x16_P2.54mm_VerticalU2
1PCM5102Package_SO:TSSOP-20_4.4x6.5mm_P0.65mmU1
1Raspberry_Pi_2_3Connector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_VerticalJ1
1RotEnc_SwRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmENC1

Questions

How big is the Squishbox8 PCB?

It measures 80 × 65 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Squishbox8 use?

35 parts, built around the H11L1S(TA), PCM5102PW, GZ1608D601TF and 0805F104M500NT. 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 Squishbox8 KiCad files?

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

Can I use the Squishbox8 design in my own project?

Its repository publishes it under the MIT 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

  • 4 layers71 × 129 mmCore, the printed circuit board in 3D

    Core

    Panda-Intelligence/panda-standard-board

    The current product is the Panda Standard 4.7-inch parallel E0470A01-family single-board engineering design, with a replaceable 2050mAh LCO battery pack (323576) and a finished-device maximum thickness of 7mm, including…

    208 parts
  • 4 layers144 × 168 mmSoundpad economy, the printed circuit board in 3D

    Soundpad economy

    willemOH/soundpad

    Soundpad: tactile audio sampler instrument and sound sketchpad

    184 parts
  • 2 layers59.6 × 42 mmMacropad synthplug mk2, the printed circuit board in 3D

    Macropad synthplug mk2

    todbot/macropadsynthplug

    Turn StemmaQT port by into Audio Out + MIDI In

    43 parts53CC0-1.0
  • 2 layers88.9 × 63.5 mmPicotouch drumcard, the printed circuit board in 3D

    Picotouch drumcard

    todbot/picotouch_drumcard

    Card-sized drum synth / sequencer with MIDI In/Out

    80 parts7GPL-3.0
  • 2 layers99.7 × 31.8 mmVetrnik wind sensor, the printed circuit board in 3D

    Vetrnik wind sensor

    ondras12345/vetrnik

    Electronics for heating water with power from a 2 kW wind turbine

    41 parts
  • 2 layers130.8 × 81.5 mmMinidexed, the printed circuit board in 3D

    Minidexed

    handeyeco/minidexed-pcb

    PCB for MiniDexed

    53 parts23
  • 2 layers42.5 × 28.8 mmC5VRX JACK DIY V2, the printed circuit board in 3D

    C5VRX JACK DIY V2

    Twotoz/C5VRX

    Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS

    18 parts515GPL-3.0