Printed Circuit Board Layout
I used Fritzing to lay out a two-layer SpiffChorder development board and ordered a prototype copy of it from Fritzing Fab. The fabrication cost for one unit, including international shipping to the USA, was roughly US$40 and I had it in my hands within a couple weeks. I soldered in all the components, wired it into my test keyer and everything checked out. I'm going to order a handful updated with the silkscreening depicted in the paper test below, and post updated pictures once those arrive. In the meantime, here are some preliminary details:
Bill of Materials
So far I'm using the same BoM from the perfboard design, but I'll probably switch up CON1 with Digikey part 609-2845-ND (vertical rather than right-angle) so as not to block the lower-left mounting hole.
Paper Placement Test
Here's a paper test using a 1:1 scale printout of the silkscreen and solder mask together:
The 0.1" pitch right-angle screw terminal blocks I used are just slightly longer than 0.4" each. So as to be able to fit the four for CON3-4 directly adjacent to one another, I lightly sanded the facing sides until they fit snugly but evenly in a piece of perfboard. In an effort to make it easier to solder these evenly on the board, I attached their sides together with a tiny dab of quick-setting adhesive gel (being careful not to get it into the terminals themselves):
For implementation in tighter spaces, I plan to design a stripped-down board omitting CON1, removing lines for M1-3 and UC from CON3 and the associated R15-18, using an 8-pin array (Digikey part MSP10KH-ND) for R8-14, reordering the remaining lines on CON3 to support more direct paths through the PCB, and replacing the GND line from CON4 with VCC like I did on the perfboard layout (since CON3 exposes GND anyway). I may also go with lower-profile parts for C4 and X1 so that skipping the socket for IC1 and the screw terminals for CON2-4 allow the assembly to be about half as thick.
Once I get more familiarity with AVR development, I'd like to roll up my sleeves and try my hand at implementing a SpiffChorder clone on Adafruit's Atmega32u4 Breakout Board.