Happy to report the updated SquishBoxes and kits are available in the Tindie store! The new update uses a custom PCB with SMT components, which means no need for a separate break-out board for the DAC, and an on-board switching voltage regulator that provides much steadier and more reliable power for your Raspberry Pi from a standard 9V effects pedal power supply! I also moved the contrast trimmer for easier access, and added a breakout for the Pi’s serial port to allow connection via a USB-TTL serial console cable, or even a possible future expansion to add 5-pin MIDI ports. There are a bunch of software updates on the way as well – stay tuned!
Tag: squishbox
-
New PCB Work
The Tindie store has been out of stock for a bit as I work on updating the PCB and making some adjustments to the code to improve performance (more on the code in a later post). I tried a new version of the PCB that moves the contrast potentiometer to the opposite side, where it can be accessed more easily than sticking a screwdriver between the USB ports. I was also trying to do board-to-board soldering with the audio card so that it would be stacked under the LCD instead of pressed against the Pi, but unfortunately the headphone jack is just too tall to fit under there. I had to chop the jack off with flush cutters. I have wrecked an audio card more than once in the past by doing this, so I won’t sell this board as a kit, I’ll just build 2-3 complete boxes and sell them in the store.

In further PCB development news, I finally learned KiCad so I could design a proper SMD board. This means I don’t have to buy the separate audio cards – I can just put the audio codec chip and supporting components directly on the board. I also added an AP63205 switching voltage regulator, which should make it possible to use a 5V or 9V power supply, and provide a more stable and safe 5V to the Pi. The prototypes should arrive this week, and if all goes well I’ll have these as kits and full builds in the store very soon!

-
Update and Coming in 2023
Here’s where things are at the moment. I made a batch of SquishBox kits and units available in the store, after a short delay waiting for parts and making some (I think) helpful modifications to the enclosure layout and updating instructions to match. They sold so quickly I think I might need to order a new batch of the current PCBs to keep the store stocked while I work on the next hardware update. I also released a new version of FluidPatcher today. This includes some bugfixes and QoL updates to SquishBox, and will probably be the last release before the next major update.
The next thing I’m working on is a big update to FluidPatcher which involves porting the code to Cython. The main reason for this is speed. The custom MIDI event router that makes all the magic happen is plain old Python, and it’s not hard to max out the CPU on a Pi with notes, especially if you have some MIDI files and/or sequences playing at the same time. I’ll also take the opportunity to reorganize the repository into a proper Python package which I can upload to PyPI, which should make installing and updating easier for users.
After that, I want to make an update to the PCB that will use surface-mount components and put the sound hardware (PCM5102) directly on the board, rather than require a third-party external board. I’m also hoping to add a switching voltage regulator to make 9V powering viable, circuitry for optional 5-pin MIDI jacks, and an option to use an OLED screen instead of the 16×2 character LCD.
Looking forward to working on these projects, hopefully I make fast progress – wish me luck and see you in 2023.
-
SquishBox PCB Update

I’ve been working on an update to the SquishBox that uses a rotary encoder instead of two buttons to switch patches, open menus, etc. One stompbutton remains, but is instead sends a MIDI message that can be routed to any function desired depending on the patch/bank settings. I’ve also added a status LED that can be switched on/off by a router rule. I’ve modified the PCB with a row of pads to allow these connections. The picture above shows my last v3 PCB alongside the newer version. I’ll be updating the assembly instructions to reflect the new PCB, and the newer version of the SquishBox will be available in the Tindie store soon. The pinout of the new input bus is:
Pin GPIO Description L 2 left rotary encoder pin g ground for rotary encoder R 3 right rotary encoder pin P 27 pushbutton for the rotary encoder g ground for the stompswitch S 22 stompswitch input g LED cathode pin led 10 LED anode pin (connected through R1 resistor) Since the input pins are connected to GPIO, the PCB can still be used to build a SquishBox with two left and right stompswitches, as long as the BTN_L and BTN_R values are set to the correct GPIO in hw_overlay.py.
The new PCBs are also available direct from OSHPark.
-
ModSynth Update
I took some time to add and properly adjust a bunch of modulators in the ModSynth font. Now one has easy access to most of the useful synth parameters via CC messages – set your controller’s knobs/sliders to CC’s 71-90 and you can control the filter cutoff/resonance, volume and modulation envelopes, and modulation and vibrato LFO’s!
Also tried making one of the new YT #shorts about it:
-
Update/Install Script
I devoted a couple days to some bash programming and wrote a script for Raspberry Pi that can install/configure everything for the SquishBox or headless Pi synth. The user selects some options, and the script can then install/update fluidpatcher, configure audio and startup settings, compile and install the latest FluidSynth, set up tinyfilemanager for uploading fonts and editing banks, and even download and install the soundfonts collection from this site. This should make installing, configuring, and using fluidpatcher much clearer and faster. Once I’ve done enough tests to assume it’s fairly bug-free I’ll post instructions and a
curlcommand on the SquishBox page.I figured out a lot of the code by cribbing from Pimoroni‘s PhatDAC install script – so cheers to them. I decided in the end to have the script download tinyfilemanager from its repository and use
sedto make the necessary tweaks, rather than include a modded version in the fluidpatcher repo – I thought there might be a license conflict and this was a better way.Some other minor improvements I’m working on:
- A better, more playable default bank, probably using presets from FluidGM
- Figure out how to set up and use JACK as the audio device and compare its latency/responsiveness to ALSA, and try using multi-channel output to isolate effects to specific channels
- See if there’s a smooth way to use FluidSynth’s sequencer to play loops
-
Sticker Time
-

Leveling Up
I sold out of my first batch of SquishBoxes that I built using standard perfboard, so I decided to get serious and print some PCBs. This will make the next batch of SquishBoxes a bit sturdier (and less expensive, since I can put them together more quickly and with less parts), and also lets me offer the SquishBox as a kit for the more DIY-inclined (Pi, enclosure, PSU not included). I also designed the PCBs for the other two products I plan to offer – the MidiFoot and StompByte.
I got three copies of my first SquishBox PCB design from OSHPark and put a test unit together, which you can see in the gallery below. I tweaked the design a bit after this, adding some edge solder pads, optional 9V->5V power regulation (response to a user request), and got artistic with the location of the vias. Should have some more complete units, plus kits and some new toys available in the Tindie store within the next couple months!
-
Squishbox Editor: FluidPatcher Desktop Mode
FluidPatcher has had the wxpython-powered desktop implementation wxfluidpatcher.pyw for a bit, but I’ve added a couple things to make it more complete (e.g. settings menu) and written a simple implementation of Python’s socket library so it can remotely connect to a SquishBox or headless RPi synth – this means you can use it on Windows, Max, or desktop Linux to create, edit, and test patches on the SquishBox without needing to do any cumbersome ssh and text editing via the terminal – you can instantly refresh your edits to hear what they sound like! It’s made my patch creation process much quicker and smoother.
wxfluidpatcher is also a good place to start if you’re interested in the Squishbox and want to get a feel for the sound and for what you can do with patches. I’m working on a series of lesson videos for the YouTubes on creating patches and banks – keep an eye out!
-
Headless Pi Synth
I’ve put together a headless implementation of FluidPatcher that works on a Raspberry Pi without the need for any extras (i.e. buttons/screens) by polling for specific CC messages to change patches. Just another way people can try out the code and come up with their own use cases. I like to think of someone just dropping a caseless Pi on the stage at a show and plugging a long headphone cable from it to the mixer – punk AF.








