geekhack

geekhack Projects => Making Stuff Together! => Topic started by: wjrii on Mon, 16 October 2023, 23:28:42

Title: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Mon, 16 October 2023, 23:28:42
Hi Everybody.  I just finished my latest project, a conversion of a pre-built 1800 (FL-Esports 980) with a lifted pad into a handwired, RP2040-powered board (KMK).  I wasn't sure how it would go, so I removed my trusty Box Navies for some Outemu dustproof reds, confirming that I will never be a linear guy, but the sound is fairly pleasant.  I may press it back into service as my work board, and maybe add a hidden macro for my email address that work makes me type 50 times a day.  Don't think I have the cajones to add one for my quarterly password.

The newest project is now kicking off in earnest.  I was noodling around old-computers.com, mostly clicking from random to random, but I realized a few aesthetic traits that might be able to be adapted into a modern TKL without affecting usability too much. I have probably a dozen different layouts saved on KLE, and I landed on one to actually make.  No one is reinventing the wheel here, though I didn't find anything exactly like what I have in mind.  I specifically picked the one that would work with the largest number of keycap sets (http://www.keyboard-layout-editor.com/#/gists/4d9458920b49c9c3339a32936c7d9e48), and after a couple of runs through Swill's plate generator, I had switch and bottom plates made out of 1/16" aluminum, which should be suitable but will also allow me some flexibility to machine with woodworking tools if, say, I need a few standoffs or to smooth a rough cut.  I've never really minded my top-case-less gamer boards, so the plan is a simple sandwich: switch plate, walnut from my scrap bin, bottom plate. The RP2040 clone that I have on-hand only has 20 easily-soldered GPIO pins, so the matrix will be a little funky for 83 keys, but it will be less annoying than the one for 98, and I made that work.  Still, I'd welcome any suggestions.

Plates have arrived, enough to make three boards if I don't screw anything up.  The main keycaps for the first board have also arrived, generic "Minimalist Business Style" DSA from AliExpress.  I have the Box Navies of course, and one MCU on-hand, plus diodes, etc.  Some design considerations:

Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: Findecanor on Tue, 17 October 2023, 01:56:23
Nice project. I'm too a fan of moving the arrow keys up just a little a bit from the bottom row. I think it improves ergonomics when you don't have to bend your fingers as much.

And BTW, welcome to Geekhack!
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Wed, 18 October 2023, 12:56:53
Nice project. I'm too a fan of moving the arrow keys up just a little a bit from the bottom row. I think it improves ergonomics when you don't have to bend your fingers as much.

And BTW, welcome to Geekhack!

Thanks!  I think this will be a fun one, and will add a touch of immersion while messing around with emulators or with RiscOS on an RPi.

Not much to report today, but I have the switches and stabs installed (could probably stand to add a touch less kerf on the next lasercut project, as they were very snug, but that has its advantages on a handwired.  I also think I've settled on a wiring layout.  I may alternate top and bottom on those crossovers, but regardless, researching old threads on GH helped me improve on what I did on my 1800 rewire.  This should require less heatshrink, have fewer stacked jumper wires, and should look a little better, though I am still not in love with the clutter in the bottom and nav area.  I'm on my last MCU, so the next ones I order will have a few more pins.  Technically, the  RP2040-Zero that I'm using has 29, but 9 of them are tiny pads on the bottom and... yeah... but also no.
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Sat, 21 October 2023, 00:49:23
Matrix wired up. RP2040 is on deck, temporary feet are “in the hole.”

Caught a couple of mistakes and cold joints in the course of this one. Hoping there are no surprises. Next keyboard will have an MCU with more pins. 12x7 should work okay, though, and I have a touch more room in this one than my orthos.

And oh yeah, red blanks for the function keys arrived!
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Mon, 23 October 2023, 11:17:53
Progress!

Wiring complete, standoffs installed as a temporary "case," found an otherwise-nice white oak turning blank with a split, but plenty enough good wood left to make a ~3/8" (9.5mm) sandwich, keycaps installed, and even found a perfectly lovely set of 1" 3M rubber feet that anchor the board down very well, and a good thing too because the aluminum is even lighter than my brain had recognized. I may have to break down and actually lube the stabs, because otherwise the sound is a very satisfying retro-vibe clicky-thunder.  Open sides and wads of insulated wiring seem to keep it from being very pingy.  I admit though, as a hard-typing, clicky-loving heathen, sound profiles are not really my forte other than "I like it" or "I don't."

I have started on the keymap in KMK, and either I have discovered an entirely new layout, or I completely mis-visualized how KMK would read the matrix.  On the plus side, the errors seem systemic and make sense based on what I wired, so I'm confident it was human error in the keymap.  All but one keys register something, and with 83 keys on an 12x7 matrix, it should just be that the intentional empty slot is actually mapped to a physical key for the moment. Just hoping there isn't something physical with the fact that I have two "7" keys.

EDIT:  Seems at least one of my AliExpress vendors may not know what is "DSA" and what isn't.  The reds (I think) are proper DSA, fairly steep slopes on the side and small keytop.  The main set looks fine, and the height is within maybe half a mm of the blank reds, but I don't think it's truly DSA (plus it's clearly double shot when described on AE as "dye-sub".  The sides are less steep so the keytop is technically a touch wider than my XDA, but the deeper dishing makes them feel more spherical.  For my particular look/use case on this board, they are fine to live together, but they're not quite the same.  C'est la vie when you're a cheap old cuss.  Anybody know if my alphas' profile actually has a name? 
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Tue, 24 October 2023, 08:51:03
Some more progress yesterday and this morning.  Sorted out my issue with the keymap in KMK, and so far, so good.  No shorts or odd behavior.  In using the keyboard, I think I may have made a mistake in not trusting ISO and having the 1.25shift on the outside where my pinky wants to go, and in turn having whatever other 1u key my American heart desires on the inside.  No matter, I've decided to lean in on the BBC Micro resemblance and make a few layout tweaks.  For now at least, I'm going with a split shift, with a 1u keycap labeled "Lock."  On the Acorn machines, this was a shift lock that made caps lock cower in fear, but for me it's just a useful way to correct a small oversight.  I also moved the modifiers around a bit and decided to try out a big delete key under the backspace (for the most logical reasons of all:  it was there and it matched!).  This led to replacing the 1u delete with a button to launch the calculator, because I'm a weirdo.  I also moved the Esc key down to the num row and relegated the tilde to the Fn layer, which also got a few media controls; yay for programmable firmware!  Finally, that allowed me to make another mostly aesthetic nod to the Acorns and shift the red F keys left and promote the Pause/Break key out of the Fn purgatory, mostly because those old machines had a BREAK key in that spot, but it does have the small advantage of keeping the function keys where they would be on a more normal compressed layout.

Then, oh yeah, I figured out my keycaps.  They appear to be VSA, a DSA derivative that Vortex used for a while and still offers one set on its site.  These were clones, old stock, whatever, under $20 on AE, and while the "VSA" is still clearly visible under some of the larger keycaps, the molds look like they've seen better days.  Some of the legends are happy little reminders of how much money I saved.  :D
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Fri, 27 October 2023, 09:27:10
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Fri, 01 December 2023, 11:47:38
Pics of board 1 with its sapce fillers and power LED in place, and of Board 2 more or less complete.

Board 2 has some differences:

Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Fri, 01 December 2023, 11:53:36
Rest of the pics.
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: Nlight on Mon, 11 December 2023, 09:18:23
Wow, that matrix is WILD, efficient for sure, but really wild.
Wasn't it a bit of nightmare to map in the firmware ?

Nice job anyway
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Mon, 11 December 2023, 11:13:31
Wow, that matrix is WILD, efficient for sure, but really wild.
Wasn't it a bit of nightmare to map in the firmware ?

Nice job anyway

Yes.  It was challenging to map (https://geekhack.org/index.php?topic=121633.msg3174138#msg3174138), but in the end KMK is so straightforward that it is manageable. I believe there are ways to assign aliases so the keymap itself would look more human readable, but in the end it's just a keyboard.  There are only 83 keys   :)  Its little brother has a different MCU with more pins, so it is less crazy.

Here is the actual keymap pulled from my firmware, which is to say the plaintext python file:

Code: [Select]
[KC.F1, KC.F2, KC.F3,          KC.F4, KC.F5, KC.F6, KC.F7,
KC.ESCAPE, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6,
KC.TAB, KC.Q, KC.W, KC.E,    KC.R, KC.T, KC.Y,
KC.CAPS, KC.A, KC.S, KC.D,    KC.F, KC.G, KC.H,
KC.LSHIFT, KC.LSHIFT, KC.Z, KC.X, KC.C, KC.V, KC.B,
KC.NO, KC.LCTRL, KC.LALT, KC.SPACE, KC.N,        KC.M, KC.COMMA,
WINCALC, KC.F12, KC.F11, KC.F10,      KC.F9, KC.F8, KC.N7,
KC.INSERT, KC.BSPACE, KC.EQUAL, KC.MINUS,    KC.N0, KC.N9, KC.N8,
KC.BSLASH, KC.RBRACKET, KC.LBRACKET, KC.P,        KC.O, KC.I, KC.U,
KC.DELETE, KC.ENTER, KC.QUOTE, KC.SCOLON,  KC.L, KC.K, KC.J,
KC.PGUP, KC.HOME, KC.END, KC.MO(1),  KC.RSHIFT, KC.SLASH, KC.DOT,
KC.PGDOWN, KC.UP, KC.RIGHT, KC.DOWN,    KC.LEFT, KC.RCTRL, KC.RWIN]



Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: Nlight on Mon, 11 December 2023, 14:00:39
yeah that looks pretty clear  😄😋
Nice making it through
Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Sat, 30 December 2023, 09:07:36
Board 3 of 3 has kicked off.  This one will have its switch plate nested into a 3D printed frame/case loosely inspired by the Atari XEGS keyboard.  Wedge shaped feet on the bottom will give it a slight angle and (from certain angles) continue the aesthetic.  Through a design oversight, I didn't give myself the literal wiggle room I needed, so a little superglue and sanding are necessary. I'll paint this one a nice retro yellow, though I am not going to try to hide the fact that its 3D printed, because I don't hate myself.  The color is Krylon "Bauhaus Yellow" which looks a little like Kraft Mac & Cheese, but also a bit like the yellow used sparingly on the Atari 400 and 800 keyboards.

Switch-wise, I am probably going to use some exceedingly cheap knockoff 67g holy pandas from AE that I have lying around.  I doubt they compare to the real thing, but I've never done a build with heavy tactiles at all, so it might come out nice.  I think once I use these up, I'll settle in and start buying Box Navies in bulk because I am who I am. Keycaps, I'll see which of the complete sets I have lying around looks better, the Apple-esque XDAs, or the no-name white-on-blue Cherry.  Seems like something spherical in a glossy brown ABS would work well if it comes out how I think it will, though.

Title: Re: DIY handwired TKL with a faint hint of "Retro"
Post by: wjrii on Sun, 07 January 2024, 15:19:00
So this should wrap up the project.  Board number 3 completed. 

-“Holy Panda v2” 67g tactile switches from AE. How did they sell 110 of them for sixteen bucks? It’s a mystery.
-Laser cut aluminum switch plate and base plate.
-Random stabilizers. One or two of them are Durock I think.
-3D printed case, feet, and grommet. Case spraypainted “Krylon Bauhaus Yellow”.
-Handwired with a “YD-RP2040” and running KMK. USB-C pigtail for strain relief.
-Akko SA-L black and gold keycaps.

Lessons on this one:
-For thickness-sensitive measurements, my 3D printer needs about 0.3-0.5mm of wiggle room.  Is what it is.  Note for next time.
-Only hot air for heat shrink tubing that touches other wires.  If the other wire gets too hot, it'll melt right through and you'll have to redo your columns.
-Poor measurements on your grommet?  Never fail, 3D pen to the rescue!
-Careful on those captive nuts.  Pretty sure one of the 8 is just rattling around loose and the screw is biting into plastic.  Oh well.
-Next time, I'll try "fuzzy skin" (Joe Scotto loves this) or telling the printer to "iron" the top layer.  Concealing the construction method was never the goal though, and overall I'm pleased and learned something on every board.