Thinkpad keyboard mod (super early stages)!

I meant on these prototype boards, to keep costs down on the prototypes. For larger production, of course you’d definitely want them to populate the boards.

My limiting factor for hobbies tends to be time, not money (within reason)… and JLCPCB assembly is pretty darn cheap. I do hand assemble the oddball parts that would bump the project into the “not budget” PCBA tier, but that’s more relevant for the seven segment display input module than this one. :slight_smile:

(But this is also life hacking on my part. I don’t want to get to the end of this project with something that works for me but which I’d have to redesign from scratch in order to make more than one of them to share with others. So it helps to design for manufacturability from the beginning, and to ensure that I don’t find any unexpected surprises when scaling later it’s best to use the same processes (PCBA in this case) throughout.)

2 Likes

You wouldn’t happen to have any power PCB design skills, would you? I’m wanting to move into do some bucks, buck-boost, and/or one of those TI all-in-one USB-PD + buck-boost + CC/CV lithium charger ICs.

@Arya could probably help you out:

But in general I just carefully copy the reference design and suggested PCB layout from the datasheet and things generally work.

I’ve updated the source files for my X1 Carbon Gen 10 keyboard adapter at GitHub - cscott/X1CarbonGen10: Keyboard with Trackpoint for Framework 16 laptop: hardware design

4 Likes

I don’t mean to hijack the thread here, but I just wanted to post my progress of fitting a trackpoint keyboard to the framework 16. I’m hoping that someone comes up with a real solution I can buy instead of my kludge:

I have a preliminary version that allows me to ditch the external keyboard:

The keyboard is “Installed” and functional. I designed and 3d printed replacement spacer modules. The lid doesn’t close fully, so for now I’ve printed some shims that attach to the lid to keep it from trying to close onto the keyboard. I looked at adding shims to raise the lid, but that’s a lower priority for me.

Right now, the cable to the keyboard just runs out to the side, as you can see, but my next step will be to design a small pcb that fits in the spacer so I can run the connector to the internal USB ports.

I’m still in the process of designing all of the spacers to fit correctly, but it’s usable at this point. The biggest issue in reproducing what I’ve done here is getting USB-micro 90-degree adapter that fits in the 4mm thickness. I had to peel the plastic shell off of one to make it fit.

I posted links to my 3d-printable spacers and keyboard & trackpad blanks in another thread.

7 Likes

Nice! What keyboard did you use as your base? Is this a cutdown Tex Shinobi as per your previous post?

I’ve got my PCBs back from JLCPCB but haven’t quite put all the pieces together yet. This is the X1 Carbon Gen 10 and it will be one keyboard + 1 small module wide, and requires a custom touchpad-size spacer as well.

My most recent scouring of Ebay turned up the X13 Gen 1 keyboard which looks like an even better fit, it should fit in 1 keyboard + 1 touchpad module, leaving both spacers top and bottom alone; and the X13 Gen 4 is the same size but without the touchpad buttons, so ought to work well as a “keyboard module only” IM which matches with a “touchpad with buttons only” bottom side IM.

6 Likes

This is a ThinkPad Compact USB Keyboard with TrackPoint. The main thing that it has going for it is that it’s already got the USB adapter, so I didn’t have to deal with that other than making a spot for it to fit under the keyboard.

The keyboard itself is pretty thick. The trackpoint housing sticks a good way out the bottom. It’s the width of the FW16 keyboard module and about 2.5 spacers.

I made the new keyboard-holder spacers 4mm thicker than standard spacers, and the buttons are still 3mm taller than that, though the keys are just 2mm taller. The trackpoint base goes through the original spacer depth almost completely.

4 Likes

Ok, my keyboard is working in place in the FW16 now. It was temporarily offset one unit to the left of where it should be, due to a bit of confusion about how BOARD_ID resistors work, but I fixed that with a little resistor value swaparoo. I need to make some bezels to tidy everything up.

There are actually three separate PCBs here. On the left side is one of my v1 PCBs, repurposed here to provide the 330k board ID resistor which the FW16 wants. Then there’s another PCB underneath the trackpoint buttons which provides the board ID resistor to fake out the touchpad. Finally, the actual “real electronics” are on the rightmost PCB, with a board ID resistor calling itself a small input module.

I’ve got some ideas on how to tidy this up a bit, using other ThinkPad keyboards that are slightly different sizes, but I think it’s worthwhile to carry this through to the end before getting distracted by the next shiny keyboard possibility so my next step is 3d printing some pieces to fill in everywhere you can see the midplate and press the keyboard down a bit better – right now the FPC cable underneath wants to spring up the middle, which can be fixed with a better crease and some doublestick tape.

11 Likes

This is amazing! Really looking forward to this going another step, and really hope I’ll be able to buy a PCB & cable, print up my own spacers/etc, and find an appropriate keyboard off of ebay :slight_smile:

Here’s a teaser of what “version 3” might look like, using the X13 Gen 4 keyboard up top and the T470s clickpad-with-buttons (as requested by @Gwen) down below. The X13 Gen 1 keyboard is the same size, but with buttons integrated into the keyboard, and might be another option for folks who really don’t want a touchpad at all (and I’m personally in that camp).


10 Likes

I do like buttons in the keyboard, puts them right where I expect.

Is that a commercial material, what you have shown there that you put on top of a printed substrate to get a fully smoothed top? Seems like you could end up putting in the 2 bits underneath for the ID resistors, and replace the bottom area with 1 entire contiguous top, rather than having the side spacers. Seems like a great idea, if you’re not going to have any trackpad at all. Or even if you do, but using the thinkpad one. Or maybe even the FW one.

1 Like

It’s a 0.8mm thick PCB, which happens to be the exact same thickness as the framework touchpad area spacer top. It still needs some parts glued in beneath to engage with the locking mechanisms, but I think it’s a neat way to get (a) precisely machined dimensions and cutouts and (b) silkscreening and textural details. Pretty darn cheap, too, although at some point we grow larger than the “economic PCB” size. Dunno if a full-width spacer would break that limit or not.

1 Like

Wait…that’s simply a 0.8mm PCB with silkscreening on it?! Whoa… Nice. Hmmm…interesting idea. Would be worth just chucking a quickie test into JLCPCB to see if the wider breaks the bank.

Still and all, thinking outside the box, I like it.

1 Like

Off topic – Is that a ProtoArc trackball to the right of your FW16? I’m curious how it compares to a Logi Ergo/MX Ergo trackball or old school Microsoft Trackball Optical.

1 Like

Good eye, yeah it’s a ProtoArc EM04. (When I’m not using a trackpoint…) I have (and have hacked) a Ploopy Mini which definitely feels nicer, but the Ploopy is big and heavy and I never quite finished my mods to make it wireless; also the Ploopy ball is not captured so likes to hide if you try to travel with it. The protoarc sticks a bit for small/fine movement, but (a) there’s a resolution toggle button you can (somewhat awkwardly) use to get over this, and (b) the protoarc cost $23.99 (even cheaper now) and is worth every penny of that price. The protoarc is also super lightweight (and has a captive ball) so quickly became the thing I threw into my bag when out and about. If you shift the FW16 keyboard all the way to the left, the “medium-size” spacer gap is a perfect perch for it in cramped quarters. So, I wish it were a bit smoother for small motions, but yes would recommend, good value for money. (Before the Ploopy I had some logitech trackball which I have fond memories of, but not recently enough that I can really offer a good comparison.)

1 Like

For me trackballs are for general use. Subsequently I don’t travel with them. I have a Microsoft Touch Mouse that’s assigned that duty. Even with my gold standard Microsoft Trackball Optical I just can’t use trackballs with CAD, and I need to draft when I’m travelling. Those small, fine movements are just frustrating (as you noted) with trackballs of any brand or model I’ve used.

My current trackball is a Elecom EX-G Pro Trackball that recently replaced a Logi Ergo (Ergo M? Ergo MX? I don’t recall). The Elecom … is … okay. Eats through AAs faster than I’d like. Actually, it complains that the battery is at 2% for 3-4 months, starting 2-3 months after the batteries are replaced.

I have a ProtoArc Foldable Keyboard XK01 that replaced a much loved Microsoft Universal Mobile Keyboard. Been pretty happy with the keyboard so I’ve been interested in the ProtoArc trackball as a replacement for the Elecom ever since.

1 Like

I did that, and it came out to $19 w/o shipping, $32.06 with (slow) shipping to the US, for qty 5. That breaks down to their usual $4 setup plus an extra $15 charge for the board size, but overall not bad.

To keep this keyboard-related: this is also roughly the size needed for the bottom PCB needed for a full-custom keyboard layout (a little wider, not as tall), so feasible for that as well. Dropping the thickness down to 0.4mm for that purpose doesn’t increase the cost at all.

2 Likes

So very cool. Might be something of interest for the wider community to replace the top plate, potentially. For a future thing, after you’ve got the keyboard mod working the way you want for yourself :slight_smile:

2 Likes

This looks brilliant. I would absolutely love to have one, given the fact that I’m an avid VIM and Sway user, and would purchase the parts needed as soon as they’re available!