I’ve been working on this project on and off for the last six months or so. There’s still lots left to do, but I did the first major mock-up today and I’m pretty pleased with the outcome so far.
For those that may not know, the Thinkpad 701C (aka the “butterfly”) is a ~10" compact laptop that IBM sold for a brief period in the mid-90s. It has a full sized keyboard that flares out as you open the lid. I bought a broken one on a whim last year for no particular reason, but in fairly short order I decided it needed a new lease on life and some Framework hardware would be the perfect way to go about it.
I also wanted a modern display to go with the modern processor. I discovered that the iPad 7 panel is an almost perfect match to the original screen, so I adapted that to work with the eDP connector on the mainboard. I posted about that here: 10.2" iPad 7 display on the internal eDP connector
There is no room for expansion cards, so I’ve exposed the two right USB-C connectors directly. One of the left ports connects to a custom USB-C port replicator that exposes two external type-A connectors, one internal type-A connector (for a Logitech dongle), and one external gigabit Ethernet connector. I’ve finished the schematic for the port replicator, but detailed layout is pending some more CAD work.
The keyboard and trackpoint are connected to a Teensy 3.6 microcontroller that runs a customized build of QMK so they both enumate as USB input devices.
Making all this fit inside the envelope of a 701C has been a challenge. I’ve had to design a brand new lower case and hinge bracket. What you see in the photos is a first draft FDM print. I plan to MJF print the final version of the case and may DMLS print the hinge bracket.
I plan on posting all of the design files on my github when it’s done.
The amount of glorious-ness in this post is astounding! Truly, my friend, this post nearly brought a tear to my eye. Framework should be really proud of what their modular dreams have made possible. This, for example, is legendary and I hope you continue to share the progress on this with us!
I’m thinking about doing something similar to a X220 or X230. But I am working on making a UMPC with it first. Slow going.
Man you make me regret getting a second hand Thinkpad X280 because I had to borrow the Framework laptop to a family for a year (the Protege Z930 really couldn’t cut it, the i3-N305 Acer Aspire 3 was more than double the price for lesser RAM, though faster, +50% multicore, almost double iGPU performance).
Man, its janky and I love it!
I was gonna ask where did you find that keyboard as a USB keyboard but seems like it is not.
I’ve got one of those that still boots and runs Plan 9. “Still” meaning the last time I tried it some time ago now. It was unusual enough that I couldn’t bring myself to recycle it,
although its communication is limited enough that it probably won’t connect to anything modern I’m using. It went to Mustique a few times.
@Jieren_Zheng it’s an original unmodified 701C keyboard that I connected to a microcontroller. It runs QMK, which is an open source firmware used by custom keyboard builders. QMK Firmware I’ve prototyped the keyboard and trackpoint using breakout boards and some ugly wiring. The final version will have everything baked into a custom PCBA. I’m still trading whether or not I will have separate boards for the different features or make a “mega board” that contains everything (keyboard, trackpoint amp, Teensy, USB-C hub, M.2 breakout, etc).
@Charles_Forsyth I’m glad you didn’t get rid of it! They’re getting increasingly rare. I would be interested in purchasing it from you if you’re willing to sell. The plastic on mine is quite badly damaged in certain areas.
question: how did you even start on working this???
as a normal person who doesn’t understand tech much, I find the fact that people can design custom mainboards and whatnot like this very strange.
Did you have to do a lot of programming to make things like the ports, keyboard, display panel, and so on… work? what software did you use to design the mainboard (not to mention things like power circuits and all…)?
I have so many questions!
The beauty of the Framework mainboard is that it is designed to be modular from the start. This means it can run outside of the Framework laptop case with no issues. (I’m using my 11th gen mainboard as a virtual machine server, for example.) So there wasn’t any mainboard redesign going on here, as that would be truly complicated, and perhaps near impossible to do.
Here the hollowed out cavity of the 701C was modified (and in this case reprinted using 3d printing) to provide stands for the mainboard and battery. The Linux kernel provided the driver for the Ipad panel he is using, and so it just worked, as well as the 4 USB C thunderbolt ports the mainboard provides. To utilize the unique butterfly like keyboard of the 701C he is using a board to enumerate (via QMK) the keyboard as a standard USB keyboard, that the Linux kernel can easily work with.
Hope that helps explain what is going on here. It is not EASY per se, but with a little Fusion/TinyCAD, a 3d printer, almost anything is possible these days, especially when you have an awesome product like the Framework mainboard available.
@2disbetter summarized it quite well. The only code I’ve written so far is for the keyboard and even that was fairly minimal given that I could use the existing (byzantine) codebase of QMK.
The vast majority of this stuff “just works” from a software perspective (as long as the hardware is designed properly).
I’ve also tried to keep the design as simple as possible by leaning on existing hardware. Keeping an unmodified Framework mainboard, battery, USB-C charging interface, and M.2 Wifi/Bluetooth card means I don’t have to muck with any of those items.
All the board design is done with Altium Designer and I use Fusion360 for CAD. I should also state for the record that I am not a hardware or mechanical designer. I just do this kind of thing in my spare time.
@2disbetter, if the display just works thanks to the kernel, then what about the post about him reverse engineering the connectors of the display itself? same goes for the boost converter he mentioned about in the post
In this case the connector part numbers, pinouts, and backlight power requirements have nothing to do with the software the computer is running. It’s all hardware design.
The thing that makes it “just work” on the software side is that both panels (the iPad and the original Framework) have standardized four-lane Displayport interfaces, so the operating system can interrogate the monitor and present the correct resolution and refresh rate. I didn’t write a single line of code to make the new screen work.
@Karl_Buchka Excellent work! I’m planning a few FrankenPads based on the X61 and T60 with a LattePanda 3 Delta and the Intel NUC 11 i5. The biggest hurdle for me as a non-engineer has been the the QMK board for the X61/T60 keyboards. As the 701C has a very different keyboard connector I doubt there would be any interoperability between them, but could you point me in the direction of making my own (or buying if anyone is currently selling them)? There used to be an etsy store that sold them many years ago, but I got there too late after the store had already closed down.
Beyond that I’m not sure where to send you. I honestly found the entire QMK process to be pretty painful. I’m also not a very skilled programmer, so I had a hard time navigating the codebase and wrapping my head around it.
Thanks for the heads up on the reddit link. Maybe I’ll hop over there.
Nice project, really caught my eye! I was also curious about the possibility of putting a Framework board in a smaller laptop enclosure, sort of a netbook style. Also had the notion that it would require exposing some USB-C ports. I look forward to see in particular the custom port replicator. The WiFi dongle workaround is a good addition, too.
Very cool. I’ve been working on the exact same thing for about a year now. I have also wired up the keyboard using two independent controllers, a LattePanda Alpha, and a few custom parts. If you want, I’ve already designed the keyboard bezel and lid assembly in Inventor. I have the IPT files if you want them.
Also, I did a few things differently. For one, the TrackPoint on the original 701C keyboard is the legacy TrackPoint II system, which lacks some of the quality of the more modern systems. I instead chose to transplant a module from a more modern TrackPoint IV system, which has negative inertia and is easier to adapt since it speaks PS/2. Also, I used a 9.7" iPad LCD over USB-C DP alt mode, but I may use your system instead because eDP and 10.2" is nicer.
I read about this project on Tom’s. Very cool idea! If anyone else wants to have a go at it, I’ve got a 701c with most of the original accessories and even the original box it came in. I’d love to have one of these with the brain transplant, but have too many other projects spinning right now to take it on.