Another FSSK Conversion Project

User avatar
wcass

05 Jul 2021, 03:02

iDollar designed a PCB for F conversion several years ago, but I thought there was room for some improvement. My biggest criticism of his design was trace routing; specifically traces too close to other traces, pads, and tenon holes. Much of these issues were due to matrix and controller choice. Eight logical rows will not fit nicely into six physical rows. I was pretty sure that I could find a routing that would not be so crowded. Worst case, I could use a 4 layer board. It never really mattered much to me because I didn’t have an SSK.

So, I ordered a Unicomp “Mini M” the first week they were available to the public. Its nice, but it is not an F. I have opened the case, but have not exposed the layers. The back plate has the same tenon hole pattern as vintage SSK (same as 101/104 less the tenkey). This is the routing that I came up with. It is a 6 by 16 matrix. An FExt variant would be 6 by 20. I will be using DMA's CommonSense. I am thinking about putting the controller directly on the pad card. This is a risky idea, but I often take risks just to see what i can learn. Bending PCBs will often dislodge chips. Talk me into it … or out of it.
F Mini.jpg
F Mini.jpg (262.65 KiB) Viewed 2247 times

User avatar
DMA

07 Jul 2021, 10:25

Find the place that won't be bent (edges of the card?). QFN will gladly lift tracks off the PCB if bent (probably not right away - ground plane vias will flatten/stiffen the PCB under and around the chip - but it will eventually happen).
TQFP will probably be safer - the leads will stretch/fold to accomodate the stress.

Also you'll need to find a place with enough vertical clearance (1mm I guess - probably 1.5mm for capacitors). Probably 2mm for TQFP.

Another alternative is to make a castellated daughterboard which only connect by long sides, and lay it parallel to bending axis.
Just a touch of a soldering iron post-bend will relieve all the tension from bending, ensuring the long life.

Don't forget vias in pads for that extra output oomph. Especially now that you don't have ground walls around the panels - those play an important role of a ground capacitor (but a good solid isolated conductive underlayment right below the sense card takes care of that somewhat.

I've also heard that pandrew cured the xwhatsit from it's ilnesses (including cost!) - and even made it support QMK. So you might try that.

As always, I'm willing to assemble and test any number of devices you specify, within reason.
I am too cheap for the new SSK, but I have a broken model 103 which I'm willing to convert (sans sawing the case. Probably make a naked mod AKA inner assembly only, or just put a trackball where numpad once roared.)

Bending 4-layer PCBs is expected to be a reliability nightmare, so whenever you run out of dimensions, remember there are jumper wires (sometimes disguising as zero resistors) before you think "4 layers".

But then again - Time of CS has passed (as long as you don't have an inductive sensing keyboard - I'm still the king there and I'm pretty hard to dislodge from that position due to hardware peculiarities required to detect 50ns 5mV pulses in a specific moment in time :)

PS: your aluminium-case custom buckling spring is an endgame keyboard. FSSK won't be it, remember :D

User avatar
wcass

09 Jul 2021, 04:24

We can get two layer 365 x 175 mm PCB in 0.4 mm for $100 delivered (JLCPCB) at quantity 10. That thickness includes mask both sides. I think the thickness of the mask is about 0.1 mm.

The link below is for a connector designed for flat-flex cable that are 0.30 - 0.33 mm thick.
https://cdn.amphenol-icc.com/media/wysi ... lw01lf.pdf
The right angle type would allow for the controller to fold under the back plate. The drawing suggests 1.25 mm from bottom of "FFC cable" to attached PCB. The back plate measures under 1 mm thick and would curve away from controller, so clearance looks good.

It would be pretty cheap to get some test pieces made ... just the connector part.
For a potential FExt, 6 rows, 20 columns, 3 LEDs and lets say 5 ground pins ... 34 pins total ... two 17 pin connectors?

What do you think of that?

__red__

09 Jul 2021, 06:39

What's the pitch of the FPC?

User avatar
DMA

09 Jul 2021, 18:14

__red__ 1mm, standard.

2 LEDs - nobody needs ScrLk nowadays! (but ok, 3 is 3).

That's 29 signal pins for FEXT.
HLW32R-2C7LF leaves 3 free lines for the ground - which is enough (for CS at least, not sure about xwhatsit). The layout should be "GND - columns - GND(LEDs) GND rows LEDs" or "GND - columns - GND(LEDs) - LEDs - GND - rows" - but again, CS doesn't care much, even the electrically worst "GND - columns - rows - LEDs" layout will just mean higher thresholds on the edge columns.

I don't like the idea of multiple high-pitch connectors between rigid objects - gaps between adjacent contacts are specced at just 0.3mm. This means both connectors must be positioned with insane precision relative to each other (which most likely means soldering them would require snapping the connectors to the sense card first, then putting their pins into controller PCB, then soldering - OR placing the connector on the controller PCB but not soldering it, then snapping connector onto the sense card, then soldering. Then we might end up with controller only matching the sense card it was initially paired with.).

I have some reservations about 0.7mm-wide tracks on the edge of the PCB being lifted after couple mating cycles - but that's easy to test on small test PCBs.

Now to the good things:

0.4mm should be _really_ flexible. That's good.

Re: controller placement:

We can put the right angle connector on the bottom side (which has no components) facing "backwards"(under the connector) - that would give us about 1mm vertical clearance (can't find 1.25mm in the spec). But since shorter leads are 3mm long (ok, 2.5mm worst case) - we can put a 1.5mm shim under the connector and have skyscraper-like 2.5mm of vertical clearance. That shim doesn't have to be cubic, too - so we can angle the controller away. "The possibilities are endless!"

Straight connector is also an option - I'm pretty sure I can fit the controller whole controller sans connectors to 15x15mm - making total dimensions 50x15mm or 35x20mm (32-pin socket footprint is 34.6x3.9mm) and I'm pretty sure we can easily find space for that.
Right-angle connector will stick out of the edge of the board 2mm less though.

OR we can have a single standard 100mil pitch horizontal row of pads anywhere on the sense card and a daughterboard soldered to that row, with USB connector on the sense card. This could be a bit problematic though - I don't expect 0.4mm FR4 to be terribly sturdy, the connector will be too easy to rip out accidentally.

User avatar
wcass

11 Jul 2021, 18:39

I use Scroll Lock in Excel and to activate the KFM "select source" menu, but i agree that i rarely use the key and the LED is never needed. But for the SSK (and other keyboards too), it would be nice to have a "layer lock" LED. The embedded ten-key is just a locked layer after all. A lot of folks enjoy this common feature on laptop keyboards - turning the F-keys into media controls and macro triggers. I am not sure if CS supports "layer lock" since i have never used that feature, and don't remember "layer lock LED" being mentioned in ... really any controller documentation i have read. But again that might be because i wasn't paying attention.

After routing traces and pulling them together for the connector, i ran short on space. Lets pull LEDs off the card edge connector and add a connector instead. That allows for a more options anyway, like using tenon hole light pipes for under key indicators - and frees up pins on the controller. I am thinking (2) GND - (20) columns - (2) GND - (6) rows - (2) GND ... an homage in a way to the original F.

I got the 1.25 mm by importing the technical drawing into CAD and measuring it. I think 1.25 mm will be fine provided we surface mount on the opposite side of the connector. The controller will need a 4 pin connector for LEDs and 4 pins for USB. I'd like to use the same connector that is used for Unicomp's direct-to-controller USB cables (so that the cables can be reused of desired). For the Mini and for vintage cases with detachable cables, there will be a daughter card with USB-A, USB-B, and USB-C connectors as options.

User avatar
DMA

11 Jul 2021, 20:46

I was semi-joking about 2 LEDs. In HID there are 5 standard LEDs - Num, Caps, Scroll, "Compose" and "Kana", it's just most current keyboards only have two or even one. CS handles first 3 LEDs, and there are 4 signal pins in expansion header (QFN package limitation for 24x8 matrix - since FEXT is 20x6 more pins can be added) - so we can easily have 5 LEDs for FEXT matrix with a single 32-pin connector - or 10 LEDs on a separate connector (although I don't currently know what to do with that many, and it needs to be coded).

All 4 layer keys support both momentary and toggle action modes (via scancodes - FnX vs LLckX) - so yes, there's layer lock.

Multiple connectors are OK - as long as no two connectors form a rigid system on both sides of the connection.

Any kind of LED connector is fine by me - as long as it's asymmetrical - let's not repeat xwhatsit's expansion header mistake. I mean, there are ways to ensure flipping the cable doesn't fry the controller even with 2x3 pin header - but it's better to just have a connector that you can't flip.

Post Reply

Return to “Workshop”