I'm making another substantial revision to the SquishBox hardware, and this time I'm taking the opportunity to move from through-hole components to **surface-mount technology**.

All of my SquishBox boards so far have been designed in Fritzing and assembled almost entirely with through-hole parts. That's been a good fit for the DIY character of the project, but I'm running into some limitations that are making a more sophisticated board increasingly attractive. In particular, I'd like to eliminate the separate GY-PCM5102 audio boards and put the audio codec directly on the SquishBox PCB, and I'd like to use a proper switching voltage regulator rather than a through-hole linear regulator. Switching regulators with the capabilities I need are basically nonexistent in the through-hole world, at least as far as I've been able to find.

Before making that leap, I did one more through-hole revision. Version 5 moved the LCD contrast adjustment to the opposite side of the board, where it could be reached without trying to stick a screwdriver between the Pi's USB ports. I also experimented with stacking the audio board underneath the LCD and soldering the two boards together. That worked electrically, but the headphone jack was just too tall, so making it fit required chopping the jack off the audio board. I'd already managed to destroy more than one of those boards doing exactly that, so this version was really more of a test than something I wanted to turn into a kit.

I also took the opportunity to simplify the power arrangement on that board. I dropped the LM7805 option and provided pads to connect the DC input directly to the Pi's 5V supply. This was really a prototype rather than a production design, so I was willing to experiment with things I wouldn't want to put in a finished kit.

![SquishBox PCB v5](/media/blog_images/squishbox_pcb_v5.jpg)

To make the updates I really wanted, I finally learned **KiCad** and designed the PCB as a proper SMT board. The audio codec and its supporting components can live directly on the SquishBox board, eliminating the separate audio card, while the new board also includes a breakout for the Pi's serial interface. That can be useful for connecting a USB-TTL serial console during development, and it leaves some room for future expansion - perhaps even adding proper 5-pin MIDI at some point. The new board uses an **AP63205 switching regulator** to provide a much cleaner and more efficient 5V supply for the Raspberry Pi. This means the SquishBox can accept either a 5V supply or a standard 9V effects-pedal supply without making the Pi deal directly with the higher voltage.

![SquishBox PCB v6](/media/blog_images/pcb_v6_top.jpg)

I'm redesigning the enclosure along with the electronics. Moving the contrast adjustment and adding the serial and power connections calls for a larger access opening, and I'm adding slots that allow a power supply to be connected directly to the Pi if someone wants to use it that way. There's also an opening for an HDMI cable, so a user *can* connect an external display and keyboard if desired. I'm making the lid interchangeable, too, with versions that accommodate either a Pi Zero or a larger Pi 3/4.

![SquishBox v6 Enclosure](/media/blog_images/squishbox_v6_enclosure.png)

The goal with all of these changes is to make the SquishBox **more versatile, more robust, and easier to expand**. Getting rid of the separate audio board makes assembly simpler, the switching regulator gives the Pi a better power supply, and the extra connections make it easier to experiment with the hardware without having to redesign the whole thing.

Moving to SMT does feel like a small departure from the original DIY philosophy. There's something particularly satisfying about stuffing a through-hole board by hand and being able to identify every component sitting on it. But I don't think open hardware requires me to keep using the least sophisticated manufacturing techniques forever. The important part to me is that the design remains open and understandable, so someone who wants to build, modify, or manufacture their own SquishBox can still do that.

Learning KiCad and figuring out how to make a more capable board is, in its own way, just another part of the same DIY process. The goal isn't necessarily to keep doing everything the hard way; it's to understand enough about the technology to choose **which way you want to do it**.