WorkBook (Framework 16 w/ ThinkPad style Keyboard)

Re-implementng the ThinkPad keyboard with mechanical switches and TrackPoint in the FW16 Laptop (Work-In-Progress)

Public Chat
Similar projects worth following
The Facts
*The age of the classic ThinkPad is over. Lenovo caters to businesses that regularly replace their laptop fleets, not hobbyists looking for upgradability or servicability.
*While Framework laptops could fill the hobbyist niche that Lenovo has left vacant, Framework has not been keen on implementing a TrackPoint or ThinkPad-style keyboard.
*In an ideal world, users should not have to compromise between the two. I will not settle for compromise. A Framework laptop with the TrackPoint and ThinkPad-style keyboard is the goal.

This project is still in the planning stages. However, I will be gathering and organizing my thoughts here regularly. Please don't hesitate to suggest ideas or give feedback - there is still much room for improvement here.

So that you may also make or even improve upon this, I will make sure to document the process and open-source any 3D models, schematics, and the like.

Q: Will you lose interest in the project and fizzle out?
A: No. I have an aging x230 to replace and I will never compromise on the TrackPoint, classic keyboard, or easily upgradable parts. These goals can only be achieved with the completion of this project.

Components & Rationale

Framework 16 Laptop Base

  • Framework mainboards are updated regularly in the same chassis so we won't have to redesign and remake everything every two years.
  • The deck is effectively a blank canvas, unlike any other laptop. We save time and money by not designing and manufacturing our own lower chassis.
  • Expansion bay of the 16 inch model opens the possibility for secondary batteries as with earlier ThinkPads.

Mechanical Re-implementation of the 7-Row ThinkPad Keyboard via QMK and Input Module Interface

  • The concept of rewiring a classic keyboard for other interfaces is proven. However, the underlying connectors are proprietary and add poorly-used thickness to the final assembly.
  • For a similar thickness and effort designing a custom PCB to interface with the 8-pin input modules, replicating the layout with Kailh choc V1 switches is superior.
  • Any initial thoughts I had about using the SK-8845/8855 to avoid programming a microcontroller perished upon seeing their prices.

TrackPoint in the middle of the keyboard

  • Self-explanatory.
  • Will be harvested from a ThinkPad keyboard and accompany 3 mouse buttons as keyswitches at bottom of keyboard.


  • Re-implementation of the ThinkLight. I will be using amber LEDs to complete the retro look.
  • I will work in two worklights, one on each end, because that would look cool.
  • Avoid hassle of SMD LEDs in the custom keyboard.

3D-Printed Raised Palmrest

  • Any attempt to re-implement the classic ThinkPad keyboard will require a least 15 mm of clearance, far exceeding the 3.7 mm limit of first-party input modules.
  • See the ThinkPad A20m for the essence of my planned palmrest design.

Extended Bezel

  • Accomodate extra thickness imposed by the keyboard.
  • Less ridiculous appearance than if we had a thin screen and thick base.
  • Design pieces to fit in the "lip" of the OEM Framework lid. May require additional fastening.
  • See the ThinkPad A20m for the essence of my planned bezel design.

Option: In-Palmrest Multi-Card Reader, Mass Storage, or Arduino Interface

  • The increased deck height leaves some space under the palmrest.
  • Input module 8-pin interfaces are USB-based. By virtue of this, we could theoretically sneak in any sufficiently small USB 2.0 device in the palmrest.

Unresolv(ed/able) Matters

LCD size will likely be 14"

  • The original 16 inch LCD tolerances would be too tight for the custom bezel, worklights, and any first-try inefficiencies.
  • Cables leading to webcam and microphone might not reach the top of a 16" display given the required increase in lid thickness.
  • 14" 16:10 is the next size down without converting eDP to LVDS.

Custom Hinge Pieces

  • I don't really understand laptop hinges. But the added thickness could make for some trouble.

No Trackpad

  • You are welcome to fork my designs when I publish them, but I do not use a trackpad and will not be testing such a configuration.
  • First-party input modules will not be compatible with the custom palmrest

Pricing of Individual Framework 16 Parts

  • This project does not utilize the official display, keyboard, and input modules included. However, purchasing the required parts individually does not give us a better deal than buying the DIY edition.

No Ethernet Port or Hardware Wireless Switch

  • Both are theoretically possible, but can't think of an elegant arrangement yet. I want this to look somewhat neat, so no flying leads or parts dangling off the side.

Lack of Microcontroller and 3D Modelling Skills

  • I have a head start in basic electronics and computer skills, but need to build my 3D modelling and microcontroller skills for this project from the ground up.

Realistic Levels of Free Time

  • The slivers of free time available to me in the next two...
Read more »

Adobe Portable Document Format - 31.76 kB - 02/04/2024 at 03:04


  • Estimated Bill of Materials

    Peter Mac01/28/2024 at 20:50 0 comments

    Be aware that putting this together, even without prototyping expenses as the "end-user", will be more expensive than buying the MacBook Pro 16. This is a project for the passionate!

    Below is a rough cost estimate in the configuration that I plan on using:

    Sub-Total: $2504

    Base laptop

    • We do not need the first-party keyboard, trackpad, or screen, but buying only the required parts from the marketplace does not save us money over the DIY edition.
    • Added benefit that you can revert to the first-party parts if the mod does not work out for you.
    $1399Framework Laptop DIY Edition with Ryzen 7 7840HS
    $806x Expansion Cards
    $2004TB NVME SSD (Amazon)
    $8532GB DDR5 SODIMM (eBay)
    $60USB-C PD Charger (Amazon)

    Display Assembly and Palmrest

    $3003D-printed palmrest and display bezel pieces in ABS (outsourced)
    $1001920x1200 14-inch matte IPS LCD (eBay)


    $80110-pack Kailh Choc low-profile switches (Amazon)
    $70Full set of Kailh Choc keycaps (Aliexpress)
    $50Keyboard PCB(s) and supporting components (PcbWay)
    $10RP2040 Microcontroller (eBay)
    $20TrackPoint module

  • Theoretical approach to an extended battery

    Peter Mac11/10/2023 at 22:47 2 comments

    I have been spoiled for choice when it comes to batteries on older ThinkPads. At present, Framework laptops have only one internal battery that is rumored to be middling in terms of capacity relative to power consumption and not swappable without tools.

    Assuming no other third parties release a battery pack for the Framework 16 expansion bay in the next 5 years and the expansion bay power delivery system supports charging input, I may consider building my own based on the guide:

    Mostly just a note to myself so I don't just forget about the work of a very dedicated Raspberry Pi owner to make SMBus charging work for him. I say this because I had long thought that making my own battery pack that reports battery percentage to the OS would be unrealistic.

  • Preliminary Timeline

    Peter Mac07/17/2023 at 20:29 0 comments

    I do want to have an upgrade to my aging X230 laptop ready in the next couple of years, so

    • I don't anticipate this fizzling out, added that I refuse to give up the TrackPoint and classic keyboard
    • I do anticipate the timeline changing depending on my available free time

    Here's the timeline on my mind:

    Spring 2024: I get my hands on the Framework 16 laptop

    Summer 2024: Make measurements, test out parts, start playing with CAD

    Fall 2024: Start running test prints and fine tune parts

    Winter 2024: Put everything together, final testing and fitting, take glamour shots, polish up the write-up, and publish everything

    Mid-2025: Probable actual completion date. Good thing that Framework promises to release case-compatible mainboard updates so this won't immediately become irrelevant once I finish.

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates