Thinkpad keyboard mod (super early stages)!

I’m getting ahead of myself a little, but I laid out a board in the “small module” form factor to start acquainting myeslf w/ the input module system.

Schematic and layout sources at: GitHub - cscott/X1CarbonGen10

I’ll probably chop off the (unused) top of the board before fabbing this – and I want to wire up my earlier prototype boards (photo upthread) to match the pinout of this one and get a full firmware running to make sure I’m not missing anything. If I understand the midplate design correctly, this board should fit inside the depressed channel in the middle of the midplate, and thus not take up any of my height budget. The position of the FPC connector here is just an optimistic guess at this time, though.

5 Likes

So I’ve got a basic KMK Firmware working now, using the pin out of the v2 board above including an I/O expander. That required a lot of jumpers on my v1 board:


Firmware at: https://github.com/cscott/X1CarbonGen10/tree/main/firmware

I’ll work on a qmk firmware next, which should allow trackpoint support. (And then from there probably a zmk firmware, which would require porting the ps/2 support from qmk – so I want to make sure the qmk configuration works first.)

8 Likes

Love the resistors taped there inline with some 0.1" prototyping wires :slight_smile: Kaptan tape FTW!

Appreciate the updated, would be magical if you get this workable for some of the rest of us to beta test in the next 4-6 months on the FW 16.

2 Likes

Ok, QMK firmware now at: GitHub - cscott/qmk_firmware at x1_carbon_gen10

Everything is working except for the “microphone mute” button (and its LED indicator) (which seems to be nonstandard?) and I don’t really know what to map the thinkpad alternate keys for F9/F10/F11/F12 to, which on this keyboard are “chat bubble”, “telephone handset”, “hang up”, and “star”. There’s probably some media keys these map to on a “real” thinkpad.

The trackpoint works but it needs some tuning for “feel”. As @Karoly_Negyesi pointed out above this is most likely because the qmk ps2mouse driver is missing some of the trackpoint-specific bits present in the linux driver. They can be added; just a “simple matter of programming”.

6 Likes

Holy crap. Wow!

That’s awesome, can’t wait to hear of more progress.

1 Like

I am super excited by this progress!

@C_Scott_Ananian is there any way supporters can sponsor your work? i.e. through GitHub Sponsors or another source of funding? Would love to donate to your exploration, discovery, and effort.

2 Likes

I’d love to have a slightly wider variety of ThinkPad keyboards to test fit. I’m a little disappointed that I haven’t been able to find a good reference that lets me know exactly how big each ThinkPad Keyboard is in width, height, and thickness so that we could more easily screen candidates. My one constraint has been that I want the trackpoint buttons to be integral to the keyboard, since I don’t want to have to fabricate new buttons to replace them, but other than that I am mostly throwing darts. I picked the X1 Carbon Gen 10 because it was the most recent keyboard I could find (thus likely to be available longer and be thinner) that had integral trackpoint buttons.

But if folks wanted to help out, chipping in to buy a few more keyboard candidates would be useful. I’ve made a friend in the Batch 1 Guild so I’ll get a chance to test fit whatever I have against a real FW16 and check to see whether the keyboard fits well, clears the various obstructions, etc – there are posts on the FW16 midplate used for aligning input modules, and a channel that provides some extra depth, and on the keyboard side there are sometimes mounting lugs or extra bits of depth at various points. Anyway, the best way to be sure (absent a library of engineering drawings from Lenovo) is to hold up a keyboard against the real thing and see how it fits, but at $20-$50 a keyboard, that can get pricey fast. So I’d gratefully accept keyboard donations if folks wanted to help out that way (they’re easy to find on Amazon and eBay), albeit with no guarantee that your contribution will end up being “the one”.

If you’re interested, PM me on the forum. If there’s huge interest it might be worth setting up a GitHub sponsors or something, but if it’s just one or two I just might give you my postal address and have you send stuff my way.

Prompted by @Stanley_Chan I set up a GitHub sponsors account, for those who wanted to chip in to the “various Thinkpad Keyboards” fund. Two of y’all chipped in (thank you!) and I’m working my way down the following list of “interesting” keyboards to have on hand when my Boston-area friend in Batch 1 receives their FW16:

  • Thinkpad T14S Gen 2
  • Thinkpad E14 Gen 1
  • Thinkpad T470/T480
  • Thinkpad X280/X390/X395
  • Thinkpad E480/L480/T480s/T490
  • Thinkpad E40/E50
  • Thinkpad L410/L412/L421/E512

Thanks again for the support! This pretty much covers the gamut of the widely-available Thinkpad keyboards as far as I can tell, with a lot of interesting variation there that will be interesting to test-fit against the FW16. I did take a look at @Pylon’s favorite, the T410, as well, but the nonstandard connector gave me pause. I do have two different T4xx series keyboards in my list, though, and the L410 is non-chiclet. So I feel like I’m covering that gamut without duplicating the work @Pylon’s already doing. @Harley_Godfrey’s favorite, the T480s, is in my list above though! So if that happens to win the test-fit-athon we can collaborate on that one.

4 Likes

I also happen to be in the Boston-area if an in-person meetup would be useful.

I have some T440s/T450s keyboards as well. I have a T14 G2 that I still use regularly that I can briefly take the keyboard off of to examine, but will need to be reassembled.

There is a Molex connector that is compatible with the T410’s connector (I am using it for my project). Unfortunately JLCPCB doesn’t carry it, but other PCB fabs can assemble it.

If it’s a through-hole molex should be easy enough to buy separate and solder on, but if it’s anything more than that, yeah, better to have a PCB fab do it.

It’s a 0.5mm pitch SMT connector unfortunately. I just drag soldered one and it was doable, but definitely not easy for beginners.

Ouch. Yeah, easier to get it on a PCB. Also something to consider once a final version is done, is a larger batch order, funded by pre-orders and then extra on Tindie. Larger runs should end up being cheaper for everybody. We’ll see how much actual interest there is of course.

Unfortunately there might be regulatory complications with selling PCBs and/or kits, mostly around EMI/RFI testing. Laptops are intentional radiofrequency radiators (by nature of WiFi and Bluetooth), and the likely required testing to validate that the design or modifications fall within legal limits is not cheap (potentially several thousand dollars at a test lab). There are often legal exceptions for DIY projects, but once you start selling parts and kits to other people you potentially start falling outside those legal exceptions.

I was originally looking at just open-sourcing the design, though not having JLCPCB be able to do the connector is a major issue there for other people wishing to build one. Doing small volumes with other PCB fabs is much more expensive there.

Hm, if you were doing some kind of WiFi/RF/BT device, absolutely something to worry about. For a hardwired connection for the keyboard, unless you’re stupid about things, should be fine.

But, I’m perfectly happy for you to ensure you’re not going to be under potential worry, sure.

I am looking for someone who can make me a touchpad module with at least 2 buttons (3 would be fine as well).

https://community.frame.work/t/touchpad-with-2-buttons-instead-of-clickpad/36343/4

Someone suggested I post over here. I can see it’s overall a thread about keyboards and trackpoints so I’ll just lurk.

Cool! I’ll keep you in the loop. @FeiQi_An has also expressed interest. Up to the hospitality of @dmx0987654321, of course.

Yeah, I didn’t mean to dismiss it, what I meant to say was that I had enough examples of the general style of the T410 that I could probably figure out if that was a good direction to go – if the T4xx/L4xx from my collection-to-be seemed like the front runners when all is said and done then I’d probably circle back and take a harder look at that connector.

Ultimate Hacking Keyboard makes a trackpoint module, you might be able to buy one and look at hacking it into an input module? At the very least, I’m sure they’d be quite willing and open to discussing how it’s made, re-wiring one, finding modules to buy from where ever to DIY up one from scratch.

I suppose it depends on the scope of the changes. If the lower chassis has to be redesigned (almost certainly required for the thick T410 keyboard onto the FW13) - that might be a big enough change to affect the WiFi/Bluetooth/unintentional emissions profile of the device and require re-testing.

Though since EMI/RFI testing only has to be done once a design is finalized (unless the design fails testing and has to be redesigned), it’s a cost that can be spread out among all the buyers, and it might be financially viable to diffuse a multi-thousand dollar test lab bill across a lot of buyers if there’s enough interest.

There might be some wiggle room if it’s a kit, though I’m not sure if that’s true for intentional transmitters (again, due to WiFi/Bluetooth).

The alternative is to open-source the design as a DIY project and publish the manufacturing files but not sell anything. End users would have to source the parts themselves from machine shops and PCB fabs (therefore losing significant cost savings from economies of scale), but there are often some exceptions to EMI/RFI testing regulations for DIY projects.

I know there are some modules that are effectively sealed, like the ESP or nfR that the modules is what’s EMI/RFI, since it’s an active transmitter, and can be used with much less or perhaps almost no additional EMI/RFI testing. But I’m unfamiliar with the specific rules of that, and I’m sure it’s more complicated than what I’m talking about.

Even just releasing as open specs/gerber files with instructions on where/how to get a PCB made up is massively awesome, and I’d be happy with.

This probably deserves a separate thread of is own, but: The FCC and Open Source Hardware - SparkFun Electronics

EDIT: and I didn’t realize that @pylon themself wrote an excellent survey: Your custom keyboard is probably illegal - a long post on radio interference testing regulations and keyboards - Learning and discussion - KeebTalk

4 Likes