PCB Design

A project log for 8Note

Testing small production runs: an op-amp relaxation oscillator piano

Adam GulyasAdam Gulyas 12/08/2019 at 06:580 Comments

This is the stage where all the mechanical design was done. Since I wasn't using an enclosure, I had to answer all the questions about what it would look like when it was done.

General Layout

I wanted the buttons along the bottom for easy access and the pots in either a line or a grid so that it was intuitive which pot controlled which button. The switch should be out of the way

Mounting The Driver And Battery Holder

One of the bigger issues was figuring out how to mount the large components. I couldn't find any surface mount or through hole drivers or battery holders that were cheap enough. I ended up planning to epoxy both of them to the PCB. The driver had a much smaller contact area, so I removed the solder mask and copper from the PCB under it. I assumed epoxy would stick to the PCB core better than to the solder mask.


I rotated the buttons so that their legs were above and below them, not between them. This made it easier to clean the flux on top of the board since I could just brush in a straight line instead of going between each button individually. I also spaced out the buttons enough that they didn't feel crowded to the user and you could get a brush between them if flux did happen to go there.


One of my main regrets is that I orientated the pots in a "mirrored" pattern, with the pins of the two columns of pots facing each other. It made routing the PCB easier and I thought it looked cool. It also put the pins closer together, concentrating the flux to make cleaning easier. However, since the pot knobs had a line on them, turning them all the way in one direction left the marks pointing different directions. It's would have been easier to see the tuning if there was only one angle that corresponded to the lowest note for all the pots. As it is, it imposes sort of a "mental lurch" when you try to think about it and you have to choose to ignore the marking.