I'm getting that itch to create something new and I think that this time I'm going to go with a nice TKL layout. I've had this one in mind for a long time. It will be fun to see it come together.

A view of all the layout options:

I'm going to document the whole process here. It will probably take a few months, at least. Hopefully it will be interesting.

Planning

Layout Concept

Despite usually building compact layouts (Epsilon, Zeta), I spend most of my time using a TKL layout at work. Even though I think it wastes too much space, I must admit that I am have committed the locations of the TKL keys to muscle memory. Also, it just looks good. It's time to make a TKL.

Of course, I have to do something different than plain old ANSI. I want to make something new and interesting. So, I followed the following train of thought:

Start with a Leopold/Filco style TKL. This means the nav clusters are separated from the main layout by 0.25u and the Function row is separated by 0.5u. This differs from the Korean style which uses 0.25u for both. It also differs from the Realforce style which uses 0.5u for both. I like the way it looks.

Switch from standard ANSI bottom row to that of the Realforce 87U. This uses winkeyless-style mods, 1u winkeys, and a 6u space bar. 6u is harder to find, but darn it, it just looks better than the too-big 7u.

Use a Cherry-style offset caps lock. They look better.

The 2.75u right shift key doesn't need to be that long, and 1.75u keys are easy to find. Shorten it to make room for a Fn key.

The top row has too much open space, and I'd like another spare key to meddle with layers. Therefore, squeeze in a new modifier to the right of F12, similar to old DK Saver.

The theme for this one is "lots of keys", so I'd also like to get the option to fill up the nav cluster with a full 5x3 matrix.

The result of all this is, in my humble opinion, the perfect TKL.

On 6u space bars

The most complicating part of this layout is the 6u space bar. I want to use it because it leaves room for another key on the bottom row, and because the 6 just looks better. The 7 takes too much space and looks off-center.

Unfortunately they are very hard to find. I have personally had two kinds in my collection. The first is the SP DSA with centered stems. I think these are non-standard. The second is the Cherry off-center stem. I have already dealt with this before on my Epsilon. They can be found on certain old MX and MY boards. However, I've yet to come across 6u stabilizers for sale anywhere.

What really convinced me to give it a shot is that newer dyesub PBT sets are coming with a Cherry-compatible 6u space bar! I hope this means they will be more common now.

Also, the Cherry-style 6u has the same switch footprint as the 7u, so that makes it fairly easy to construct a board that supports both. My PCB will allow both the 1.5-1-1.5-6-1.5-1-1-1.5 and 1.5-1-1.5-7-1.5-1-1.5 bottom row configurations.

I always like to make boards that are a little quirky. If it was boring I wouldn't enjoy the job. I guess the 6u is one of my quirks this time around.

What to do with the nav cluster

As demonstrated with my Zeta project, I don't like to leave wasted space on the layout. The ANSI layout has 2u of empty space that I wanted to put to use. The layout here is similar to the top row of Zeta, where the three 'F' groups are still separated but are squished closer together. This leaves space for 1 more key. I think Num Lock is a good fit. It becomes useful when you fill in the nav cluster.

With a filled nav cluster, you get a 3x5 grid that can form a mini number pad. The Num Lock could then be used to switch between a normal layer with arrow keys and PgUp/PgDn, and a number layer. This feature does a reasonably good job of fitting a full layout into a TKL size.

To support this, I think I'm going to need a new feature in the firmware. Something that can watch for changes to Num Lock and switch layers accordingly.

I chose the name Sigma because I just like the name of greek letters, but also a capital sigma is used as the mathematical symbol for summation. This PCB will be the result of the sum total of all my hobbyist keyboard experience.

Therefore, I'm going to be using the ATmega32U4 again. In fact, the hardware is almost exactly the same as my Zeta project. The layouts are obviously different but the matrix is identical, except for an additional column on Sigma. In fact, you could load a Zeta firmware into a Sigma board and it would work just fine.

I'm utilizing the same 4-to-16 line decoder for driving the columns and I'm again using four NPN transistors to drive the backlights.

One of the benefits of just reusing the Zeta schematic is I already know it is bug free. That's a great place to start from.

I like how full the matrix is, like nothing is going to waste. The only 'holes' are the locations of the ISO keys and the space bar.

LED indicators

Like Zeta, there are 8 (!) indicator LEDs. Because of the new layout, I moved them around slightly. Esc, Caps Lock, and Scroll Lock still have one. Then, I placed one on each of the two 'bonus' keys where they are likely to be mapped to Function codes. That leaves the three on the bottom row, which are on the locations of the super/meta keys. I consider these spots other likely locations of Function keys.

Of course all are lumped into the modifiers backlight zone if they don't have an indication assigned.

LED backlighting

Sigma will have the same backlight zones as Zeta: left-hand alphas, right-hand alphas, F-row, and modifiers/nav.

LED underglow

This time around I am adding a new set of LEDs on the backside of the PCB. These will be used to illuminate underneath the keyboard. This seems very common now on Korean keyboards. I have positioned 15 surface mount LEDs spaced evenly around the outside of the PCB. They are set about 1 key length in from the edge. This should really look good in a dark room.

The PCB

Once again, the PCB design has a lot in common with Zeta. The placement of most of the parts is the same. This one really came together well. I'm proud of it.

This is the largest PCB I've ever made. Hopefully it won't be too much more expensive.

As usual, I'm getting it made at PCBWing. They do good work for a reasonable price.

Once again I'm reusing the Zeta design. The case will be sandwiched acrylic but without the built-in wrist support.

Design

The proposed plate:

OpenSCAD render of the case:

Construction

I liked the completely clear design of the Zeta case. It allows me to show off the innards of the keyboard without disassembling it. I'm going to make one just like it this time around but I'm also going to make one that incorporates aluminum.

Big Blue Saw was running a sale on 0.25" water-cut Alu so I went for it. However, for all the detailed laser-cutting work, I now use Ponoko. Big Blue Saw has screwed up most of my past projects in some way. Ponoko can deliver some good work. Also, Ponoko is cheaper and faster. They cut my order in only a few hours. Big Blue Saw took more than 2 weeks to cut my order. Not cool, man.

Fit Check

Parts finally came in so I can see if the design is going to work out.

As usual I sourced parts from Digikey and McMaster-Carr. For this build I'm using some Zealio switches from a recent GB. For keycaps I'm using EnjoyPBT dyesubs from a recent GB. The toughest thing to source is the Cherry plate mount stabilizers.

CaseSwitches and stabsCase hardwarePCBsCircuit components

After fit-checking everything, lubing my stabilizers, and peeling off the protective coatings, I soldered in my switches. Here is a (potato) photo of the plate/PCB assembly.

Yeah I mostly liked how it came out, but this time there won't be a built-in wrist wrest. I want it to look more traditional. I wish I could get a milled aluminum case, but I don't have the connections for it.

Loving this layout! The only changes I would make personally would be to use 2x 1u keys instead of a 2u backspace, and include the "missing" five keys over the cursor arrows.

You, sir, are in luck! Phantom has those.

Anyway I did go a little crazy in the planning adding lots of keys, but I ended up pulling it back for a few reasons. The space around the arrows remain because I like to rest my fingers there and I also need the space on the PCB to put the AVR. For the backspace I tend to favor the 2x key on a TKL because the extra space isn't needed since Esc doesn't have to be on the number row like a 60%

The PCB is just about finished. I'm really happy with it. I need to have a chat with bpiphany about it. I need to know how he got away with overlapping holes.

Onwards to case design!

Looks great! I created a test board that had overlapping holes for switches that were 90deg apart. I ended up making a second switch footprint that had the pads swapped, so the overlapping holes were the same pad - assuming that's the problem that you're running into (like SW612?).

The PCB is just about finished. I'm really happy with it. I need to have a chat with bpiphany about it. I need to know how he got away with overlapping holes.

Onwards to case design!

Looks great! I created a test board that had overlapping holes for switches that were 90deg apart. I ended up making a second switch footprint that had the pads swapped, so the overlapping holes were the same pad - assuming that's the problem that you're running into (like SW612?).

Yes, that's the one. Unfortunately I can't rotate the switch because I'm using backlighting and it wouldn't look right.

My solution that I used in the TS65, was to swap the pin numbers for one of the switches. There's two was to do it:1. Manually swap the pad number and net for the required switch2. Make an alternate footprint with swapped pin numbers.

My solution that I used in the TS65, was to swap the pin numbers for one of the switches. There's two was to do it:1. Manually swap the pad number and net for the required switch2. Make an alternate footprint with swapped pin numbers.

Thanks guys. This is definitely the best one I've ever made. The vintage blacks are so smooth and when combined with a plastic plate for shock absorption and an aluminum body for stability, they really shine. Also the MX Lock switches have been a hit with the people I've shown it to. I really need to take some nice photos to properly show it off. Also, I still have to build the second example (all acrylic with full LEDs). Then I can relax until the itch starts again. *ahem* Tau v2 *ahem*