Brand New Model F Keyboards Manual (work in progress)
The first section below shows the most important Model F instructional videos. Below that section is the written manual. Please watch these short videos and review the manual before attempting any use of your Model F! It may save you a lot of time. Topics include: how to properly install the keys, how to open up and close the keyboard inner assembly, and a video on fixing bad keys / buzzing springs / the space bar, re-seating springs, and old vs. new Model F sound comparisons.
Having trouble with one key or with several keys? Do several keys not work when pressed? Check out the Troubleshooting section below and follow the steps. If it’s a hardware issue it’s usually the entire row or column not working well. For just one key it’s almost always an issue with the flipper, spring, seating of the key, or debris on the flipper or on the capacitive PCB. The steps to fix this are below.
Also please check out the excellent, comprehensive 200+ page Model F manual project being coordinated by Deskthority forum member darkcruix (currently a work in progress): www.bucklingspring.com
Link to download firmware, software, source code, etc.: https://www.modelfkeyboards.com/code/
I’d appreciate it if those reading through the manual can offer additional content and/or corrections if something is not clear. You can email me additional paragraphs and sentences! Please do not copy and paste content from anywhere else unless you receive permission and attribute the source.
It is aimed at helping owners of both the original keyboards as well as the reproductions. It will help provide buckling spring owners (everyone from beginners to advanced users) with a central place to learn key re-seating, disassembly, spring replacement, changing the layout, etc.
Correct Key Installation Procedure Video:
Fixing bad keys / buzzing springs / the space bar, re-seating springs, old vs. new Model F sound comparisons:
Opening up and closing the keyboard inner assembly:
Solenoid Installation Guide and Sound Test:
- Check out Chyrosran22’s excellent Model F overview video: https://www.youtube.com/watch?v=y9Jds326gks
The Model F keyboard is a robust design. Every part is 100% user-replaceable / user-repairable, often needing just a couple tools: screwdrivers, pliers, and at most a soldering iron. Compared to other consumer electronics products, Model F repair is easy and even a complete beginner can get up to speed quickly on how to use the keyboard software and keep their keyboard going for decades to come.
This is a community type project where the goal is to have a product that you can use and learn to maintain yourself for decades from now, long after production has ended, with help from the community if need be. The most basic recommended maintenance involves just taking off the keys with a wire key cap puller to clean them with mild soap and water every now and then.
The current state of low-quality manufactured goods encourages a culture of just throwing something away or bringing it back to the store if anything is wrong with it. For something complicated like a motherboard or graphics card that’s probably the best option, but the new Model F project philosophy is for the users to be able to fix small issues themselves due to the simplicity and full repairability of the Model F design (many buyers come from the world of the original IBM keyboards that are decades old and almost certainly require some maintenance work, so they expect it and are used to it). This keeps costs down so I am able to offer these keyboards at less than half of what IBM charged for them (adjusted for inflation). Also there’s a great community of Model F keyboard fans, most prominently on sites like Deskthority and geekhack. You will never be out of reach of someone who can offer you advice and help in the coming years.
There are definitely markets for hardware with service contracts. Not sure about a market for a +$100 more costly keyboard with full maintenance and technical support though. IBM’s 1980s price guides mentioned they would require charging banking customers a minimum of about $100 per year (not adjusted for inflation) for each original Model F keyboard in maintenance costs as part of a service contract. However, if I had to hire staff to deal with “free” returns, more personalized technical support / phone support, and doing even the most minor repairs (re-seating keys, replacing springs and barrels, changing the USB cable, etc.), each keyboard would cost a lot more because of overhead costs, and these keyboards are already not inexpensive to begin with. And it would slow me down even further mailing out these great keyboards. I believe that this direct to consumer, community type project is the best way to bring the Model F to as many people as possible and at the lowest possible cost.
The best way you can help this project: If you like using Model F and Model M buckling spring keyboards, the best way to help the project is to tell other “tech-minded” people you know about the project. That would be greatly appreciated, and only if you don’t mind. And please do share some photos of your newly set up Model F Keyboard on the Deskthority and geekhack project threads if you’d like! The xwhatsit and QMK firmware options are both very powerful and you can do a lot of interesting things with them to customize your keyboard (check out the xwhatsit manual on ModelFKeyboards.com/code).
- Read more about the mission statement of the project on the About page: https://www.modelfkeyboards.com/about/
- Safety precautions: Always consult the booklet included with your new Model F keyboard for safety precautions and other important information. Severe harm or even death can occur with any product if safety precautions are not followed. Always use the right tools for the job – you will need a wire key puller to properly set up your new Model F keyboard as one or more keys may require more than one try to install it correctly.
- View the controller manual and access links to the GUI, firmware files, layout files, and source code here: www.ModelFKeyboards.com/code
- Proper key installation involves holding the keyboard vertically, space bar side up. See my key installation video here: https://www.youtube.com/watch?v=xEm2mewsmrA
- Don’t let the keyboard rest horizontally until each key has been fully pressed in. This video does not show the additional quality control / keyboard adjustment steps to eliminate buzzing/bad springs, configure the software, etc. – check the next YouTube link below for that video.
- You may notice some barrels without any flippers and springs. This is intentional! The extra wide keys have stabilizer inserts which go inside these barrels. For maximum performance it is best to use new Model F stabilizer inserts with new Model F project key sets and other stabilizer inserts with other key sets. See the troubleshooting section if the keys with inserts are not working well in your keyboard.
- Do not connect the keyboard to a computer until you have installed the keys. Per a DT user: “When there are no keycaps, all the flippers will rest on the pcb giving you pressed keys all over. If you are to test the board without caps, you could free the flippers with resting the keyboard vertically, spacebar side up.”
Installing stabilizer inserts: Horizontal inserts (white stabilizers) are used for all of the 2U and wider keys. They are installed inside the barrels with the “ears” on the left and right sides. Use only the horizontal stabilizers for all new Model F keyboards’ 2U and wider keys, except for the ISO Enter key. (Also the space bar does not use stabilizer inserts) Install horizontal inserts (white inserts) as pictured below, with the “ears” on the left and right sides. The vertical stabilizer inserts are installed also as pictured, but must be installed differently for ISO Enter! The product photo shows each photo in the “right side up” orientation so for ISO Enter you’d just install the vertical (black) insert 180 degrees rotated from the photo, so that the larger “ear” of the insert is on the left. If you mistakenly install the stabilizer incorrectly, or install the incorrect stabilizer, you will need to take apart the keyboard to push out the stabilizer insert from the other side. An alternative to this would be to use straight tip lock ring / snap ring pliers, though not all of them would fit. Another alternative: Check out this great method to safely remove horizontal and vertical stabilizer inserts without having to open up your new Model F keyboard to push out the insert! https://deskthority.net/viewtopic.php?p=477651#p477651
- After installing your keys, but before you plug in your keyboard for the first time:
- Test each key to make sure it buckles properly (follow the below video to learn to determine what sounds good vs. what is a potential issue)
- Remove and re-seat any loose/non-working keys. Regarding re-seating springs: in nearly all cases you do not need to take apart the keyboard to fix keys that do not click or spend a few minutes pressing a troublesome key – I have posted some videos on this thread as well as on the web site blog detailing a quick spring adjustment and key re-seating guide that requires less than one minute per key to do. Very important to reattach the key as shown in these videos, with the keyboard positioned as shown in the videos (vertically, with the space bar row up). The goal is (1) to have the spring touch the 12 o’clock position of the barrel when the keyboard is positioned that way, and (2) have the end of the spring in the 12 o’clock position relative to the flipper, as pictured below. If the spring end is not positioned at 12 o’clock (per the video) and the spring does not touch the barrel, buckling error is more likely to occur.
- See this video on how to remove and re-seat a key using key puller, paper clip, etc. and fix a buzzing spring. Tilting the keyboard so the spring almost touches the top of the barrel (12 o’clock position) is often best. https://www.youtube.com/watch?v=Evn6vmrfD4M
- Importance of testing the Model F after you get it but before you start using it on your main computer: Even though there is strong protective packaging, Model F springs are often dislodged during shipping which can result in a bad click sound or no click at all, and keys (and sometimes springs) may need to be reseated. I have found that carefully removing and flipping the spring upside down can fix most spring issues, and replacing the spring with another spring is a last resort. Keys don’t actuate/keys are not recognized in xwhatsit program when pressed, tizzing spring-removing and replacing-using tweezers, toothpick. Check out the Quality Control secrets video embedded above for details.
- Break in period: there is definitely a break in period with Model F keyboards – especially with the springs. There’s a good chance that the springs will sound even better over time with usage!
- Space bar removal, optimization, and re-seating:
I do try to install the space bar for all those who ordered one as part of a key set, as I want it to sound right for everyone. I have configured so many that it’s quick for me to get it right. One can possibly damage the space bar as the little tabs can break off if the space bar is removed incorrectly.
The metallic twang / reverberation / ringing is definitely the sound I am going for (!) but there are ways of reducing it. The bigger the thud of the space bar, the better in my view! In addition to the mods you referenced (quotation snippet copied below), one can also carefully push down the metal space bar tabs for a reduction in rattling sound. Always push the side of the space bar whose tab you want to adjust towards the metal tab in order to get that wire nearly touching the back of the metal tab before you push down that tab, then repeat for the other side. (I do this as I install each space bar even for the “separate shipping of keys” keyboards going out). Pushed down even more and it may make the space bar require “heavier” force to actuate (push down too much and the space bar will get stuck frequently!), though this may result in some damage when trying to remove or adjust the space bar. “Applying a single layer of electrical tapewhere the stabilizer met the clips, as suggested by dotcom, helped immensely. I haven’t tried clickclack’s spacebar heatshrink mod but might do that someday. As it is, the spacebar is now the best sounding key on the keyboard.”
- Test with 1U key to make sure spring is good. Metal tab pressing down, scotch tape or heat shrink tubing application to reduce rattle if preferred. Please carefully remove and reseat the space bar. This key’s tabs are easily broken so please be careful. I need to make a video on doing all this when I have more time. Before reseating the space bar, install a 1U key in the space bar barrel with flipper/spring and see if it actuates and registers in xwhatsit. When installing the space bar back, follow the most recent YouTube video I posted for proper orientation of the keyboard. If space bar gets stuck, push down a little on the metal tabs which may have been pushed up a little too much when removing the space bar. Don’t push down too much or else the space bar will not operate properly (in that case you’d have to remove the space bar again and re-seat).
- If your space bar lags a bit, just need to loosen the clips a touch with a screw driver. I believe that the nice space bar thud sound (and minimizing rattle) is highly contingent on the proper placement of the metal tabs – bending the stabilizer wire slightly away from the metal tab ends results in a more rattly space bar with a lighter actuation force that some people prefer (more like many original F122’s), while pushing too much towards the metal tab ends can slightly increase actuation force for the space bar. Optimally the back of the metal tab should touch the space bar stabilizer wire. Excellent space bar stability and sound when the wire is directly against the back of the metal tab. Another way of reducing the space bar force slightly is to squeeze the stems of the key as described in the Troubleshooting section, point J, but please be careful as you could break the space bar.
- Regarding squeaky space bars: that is nearly always the case of adjusting/slightly stretching or replacing the spring rather than due to the space bar stabilizer wire. This is something I test on all keyboards as part of QC but I hope to improve on this. On a similar note, especially with rattling space bar wires as well as to prevent the space bar from getting stuck on the end of the metal tab, I recommend pressing down on the metal tabs if you re-seat the space bar (after confirming no squeak and proper buckling when pressing the space bar). I do this as needed during QC. With the final production round, the metal tabs will be adjusted a bit to minimize the need to get them out of the way manually. A “squeaking” or stuck space bar is often due to a bad spring combined with the need to slightly adjust the bend of the space bar stabilizer wire – you can replace the spring without opening up the keyboard by using tweezers – will post a video later. Space bar seating issues: Likely the space bar tabs have been pushed down too much, or not enough. or the space bar wire is bent out of shape (should be precisely rectangular). Also the space bar should be installed as shown in the videos on the project blog (not entirely vertically or horizontally – I prefer a 45 degree angle with the space bar row at the highest point of altitude).
- Some prefer putting a clear plastic tube where the metal stabilizer wire touches the metal tabs.
- One Deskthority member solved the issue this way: automotive “silicone grease lightly applied (to the outsides of the barrels and the friction points for the stab wire) worked perfectly for me.”
- Another user: “try putting thin adhesive neoprene under the stabiliser wire next to the tabs on the barrel frame. This has made the spacebar quieter and more solid, without making it mushy.”
- To quote a DT member: “Regarding spacebar rattle on the F62, I did several things, and the rattle has disappeared. Not sure which of these items worked or if it is the combination:
- Put strips of self-adhesive rubber inside the spacebar. I used strips intended as non-skid feet for the undersides of various things, such as keyboards.
- Applied a dab of silicone-base grease to the spacebar stabilizer clips on the top plate of the keyboard and on the spacebar itself.
- Put strips of ultra-thin self-adhesive foam on the top plate of the keyboard where the spacebar stabilzer wire hits the top plate. I used Poron ThinStik polyurethane foam.
- Put an O-ring at the base of the two spacebar barrels. The dimensions of the O-rings are 16mm OD, 12mm ID, 2mm thickness.”
- Videos and tutorials – see the project YouTube channel https://www.youtube.com/channel/UCsi-1PcnCT3hw_RwcFzBnuw
- Model F Quality Control Secrets YouTube video (includes instructions on how to fix bad sounding / non-working keys): https://www.youtube.com/watch?v=Evn6vmrfD4M
- Model F Keyboard NEW Kishsaver vs. OLD sound comparison high quality review https://www.youtube.com/watch?v=uRlw7loUw7I
- Brand New Model F Instructional Video 2: Opening up the keyboard inner assembly https://www.youtube.com/watch?v=xaa23N9JDBs
- Keyboard disassembly note: if you are not applying enough pressure on each screw, it is possible to strip the screws. With the correct driver and pressure, the screws should not be an issue. Use the proper PH1 head for the ultra compact cases. If driver is not a tight fit, do not use the driver and purchase the correct driver-otherwise the screw will strip and you may not be able to remove the case except by drilling into the screw.
- Keys (from left to right: Pebble, Pearl, Black, Industrial SSK Blue, 60% Dark Gray)
- Flipper with spring
- Top inner assembly
- Bottom inner assembly
- Inner foam
- Controller PCB with ribbon cable
- Large capacitive PCB (green or yellow)
- Top and bottom case
- Solenoid (optional)
- Solenoid driver (optional)
If there are issues with one key and not all the keys in a particular part of the keyboard, start with step C below.
If there are issues with many keys on a particular row or column, start with step J below.
If you have issues where a key gets stuck or is difficult to press, start with step letter I below.
- Introduction: As noted in the above New Model F Project Philosophy, the goal of the project is to give you a keyboard that you can learn to take care of and that will serve you well for decades to come. Part of that is learning how to troubleshoot issues with the keyboard, which can come up at any time: even right after your keyboard arrives after bounced around in shipping! Before doing any troubleshooting, fully read this web page as well as xwhatsit’s manual available here: https://static.wongcornall.com/ibm-capsense-usb/
- Buying spare parts will help keep your keyboard operational in the decades to come. Everyone please do check out all the other items in the store. The most important extras are the First Aid Kit of spare parts for future repairs once production has long shut down (over 700 kits ordered so far!), spare flippers with springs, spare barrels, key pullers, extra key sets (the key tops do wear down over time and you won’t be able to buy more XT quality one piece keys after the end of the project) and also a spare custom made 3 meter USB cable (same as the one that is installed with the keyboard). I hope to be able to manufacture as many First Aid Kits and spare parts as possible to keep all these great Model F keyboards running decades from now.
- Inconsistent key registration – double presses, key ghosting, keys not recognized, key spamming (extra keys when one key is pressed):
Double presses and other issues could be related to the debounce filter and threshold (these two are xwhatsit firmware issues only-xwhatsit firmware stopped being used in early 2020), seating of the spring on the flipper nub, or some kind of damage to the spring (the tops of the springs can get caught on something and bend out of shape – spring damage can’t be 100% fixed in my experience without replacing the spring itself). This is usually an issue with the threshold setting or the way that the keys were installed (did you follow the key installation procedure posted on the project web site blog? If the keyboard wasn’t held upright and each key tested for the proper click beforehand, that may be the cause). Whenever adjusting the threshold, I strongly recommend blanking out the layout by installing a blank layout. You can go back to one of the premade layouts by importing them (the layout files are available at ModelFKeyboards.com/code ). Also be sure to plug the keyboard directly into the computer, not into a USB hub, and make sure there are no other connected USB devices besides the mouse (just for troubleshooting, to check for conflicts).
An important note on USB hubs and docking stations from one new Model F user: “I spent a couple of hours going nuts until I finally figured it out. I have a F77 that arrived a few days ago. I put some keys on it and gave it a spin. Awful, simply awful. Key presses would register or not register. Random text would appear while typing. Unusable. Turns out I was using a 4 port non-powered Anker USB hub. Works fine for my model M’s, and the rest of my keyboards BUT not the F77. I then plugged the F77 into a powered USB hub and tada, all is good. Hope this helps others.”
- Bad sounding key clicks, spring bent out of shape – most bad key sounds, buzzing springs, etc. can be fixed by following my Model F Quality Control Secrets YouTube video: https://www.youtube.com/watch?v=Evn6vmrfD4M
- Keyboard not detected – check that the USB cable is plugged in fully on the controller end of the USB cable as well – that end may have loosened.
- Controller replacement – desolder old controller ribbon cable and replace with a new controller. Be careful to install the controller in the correct orientation. I desolder with a Hakko 472D desoldering iron from the large controller side and use a controller with the ribbon cable already soldered to the controller. You need a very small diameter tip due to the size of the holes. If a few holes are stubborn I recommend cutting the ribbon cable leads so that the stuck wires are separated from the other wires in the ribbon cable. Use pliers to pull the wire from the bottom as you use a soldering iron touching the top side of the wire. Then use a desoldering iron to remove excess solder in each empty hole of the large capacitive PCBs.
- Broken key – key not working. When diagnosing installed keys that don’t register here is the process:
- Key was not seated properly or needs reseating (often it doesn’t sound right when clicked; please follow the instructional videos on the project web site blog to see how the keyboard should be held vertically, space bar side up when installing a key).
- Testing the PCB pad underneath the key.
- QMK procedure: Download the QMK tool, click signal level monitor, then remove the two keys at issue. The flippers would then freely make contact with the PCB. If you see the middle number of three numbers for each key being a solid green, very close in numerical value to the top number for that key, that means there’s an issue with the installation of the key or of the spring – see if the flipper moves freely when the key is removed, if you rotate the keyboard vertical, space bar side up, and then flat. Did you hold the keyboard vertically, space bar side up when installing the keys?
- Xwhatsit procedure: open up the xwhatsit GUI, remove the affected key, and see if there is a square dot that disappears and reappears when you wiggle the spring – if a gray square dot flashes, then there is not a PCB issue. Also follow above QMK notes for the physical hardware adjustments. If there is no key registration / flashing of the grey dot, for xwhatsit firmware you may need to adjust the voltage threshold or change the firmware to the alternative debounce 11 or debounce 6 firmware available at modelfkeyboards.com/code. Instructions for these steps can be found in one of the recent blog entries.
- My apologies that the Model F requires a bit of work sometimes for the initial setup. Also, sometimes a key is not factory programmed correctly so you may just need to check your layout (see xwhatsit manual and/or QMK instructions on this page).
- Make sure the inner plates slide in fully so the sides of the tabs touch the sides of the bottom inner assembly (see photo below). If there is some space in between the tabs, then there could be issues with keyboard functionality. Also there may be debris that have entered inside the keyboard – try using compressed air to remove the debris.
- Key binding – 2.25U and larger keys getting stuck. Possible fixes:
- You have to do some of the below steps several times in some instances of binding. Do the steps, install the key and test with 10-20 key presses, then remove and do the steps again if needed.
- Gently squeeze key stem of the key a few times seems to make the key work 100% well and slide freely (try squeezing a few times, squeeze and hold for 10-30 seconds, and then squeeze and gently move the squeezed stem left and right while holding the key with your other hand). Your fingers should be positioned so as to squeeze deeply into the key, as deep as possible, not just at the very end of the key stem. A video on this fix: https://www.youtube.com/watch?v=VBgQ9AO1Z_c
- Gently wiggle the key post (the part that goes into the stabilizer insert) a few times in the direction of the left and right sides of the key if you were to look at the key as oriented on a keyboard – seems to eliminate binding when the extreme edges of a key are pressed. Be very gentle as this is the easiest part to break on a key!
- Burnish back side of barrel with spring – use model m nut driver.
- Keep stabilizer insert 1mm above top of barrel and there is no binding. Alternatively maybe add a 1mm piece of foam under side of key where stabilizer insert goes. Example story: “It seems like the left barrel (the empty one) on the space bar was binding a bit. I solved it by cutting a thin foam disk (about 2mm thick) and sticking that into the outer barrel on the bottom of the space bar. This limited the travel just enough to avoid binding. Once that was done, the keyboard was perfect.”
- And one last method that worked: “I did add a little bit of Syncro Superlube and that did it. Thanks!”
- A number of keys do not work after carefully re-seating each one:
When testing, always make sure you reattach the xwhatsit controller to the gold colored bottom inner assembly using both ground screws. Otherwise keyboard will not function. When the key is physically removed, does the matrix register as pressed? If yes, then it may be an issue of adjusting or replacing the spring (see QC secrets video above). If no, and if they are all on the same column or row in the keyboard matrix, it seems like a dead column. Dead columns do happen after these keyboards are bounced around in shipping, but the good thing is you don’t have to open up the inner assembly. It is rare as I confirm each column and row before shipping, but it has been documented a few times.
The controller is fine; you just need to add more solder to the holes for the ribbon connections for the missing column, on the PCB side of the components (see red rectangle in second photo below – doesn’t indicate the specific columns for you to solder – just a general photo). Just make sure you don’t touch any of the components themselves, just the column. No need to add solder on any of the other connections unless the connection looks like it needs more solder.
If entire areas of the keyboard are not working, sometimes the ribbon cable wire has broken through the Kapton / polyimide tape and is touching the case – one or more entire columns or rows would not function. In this situation, you would see the problem go away when the keyboard inner assembly is outside of the case. You would need to add another layer or two of electrical tape or polyimide tape to fix this issue.
Here’s how the matrix should look in the QMK utility – all unpressed keys in the matrix except for 3 pressed signals (these are not actual keys that are pressed). There is one key in the 16th column: the bottom right physical key on the keyboard.
- Introduction – Model F design is robust and easy to clean and self-repair with nothing more than a screwdriver, pliers, and key puller.
- USB cable replacement (original style case-open up keyboard, ultra compact case – just unplug and replace with micro USB cable)
- Layout change (open up inner assembly and move flippers around so they correspond with the layout you want) – e.g. ANSI Mod your original Model F (122, PC AT, etc.) – [[Replace original controller with xwhatsit controller on your original Model F – no need to do this on reproduction Model F’s.
- spring/flipper, barrel, PCB
- One way to remove a stuck stabilizer insert: Quoted from a Model F owner: “If one of those little white plastic stabilizer inserts gets stuck in a barrel, a 1/4-20 inch thread tap (and tap wrench) will grip it well enough to get it out without damaging the barrel.”
- Change original style case to another original style case
- Change ultra compact case to another ultra compact case
- Change HHKB style split right shift to standard or vice versa (disassemble keyboard, switch PCB, top inner assembly, and inner foam to the alternative design units that you ordered)
- Change from large case to small case or vice versa (remove keys, open up keyboard case and bottom inner assembly while keeping keyboard upside down, then switch to the alternative bottom inner assembly metal plate.
- Introduction (see home page for full details)
- heavy duty metal parts contributing to the 5-10 pound weight of each keyboard, powdercoated cases for some original F’s (some 122, F50, F62, F77, F107, some XT and AT, 104 Unsaver). Metal top and metal bottom inner “sandwich” plates with interlocking tabs.
- Capacitive sensing buckling spring technology – long life enhanced by no metal on metal key contact
- Dye-sublimated PBT keycaps: text does not wear off like most keyboards (pad printed, laser etched with filled paint, etc.)
- Individual injection molded barrels for each key made of premium plastic for enhanced smoothness and key travel
- Large injection molded capacitive flippers for a solid sounding click
- Birth certificate label on each keyboard – Label includes your keyboard’s exact birthday and serial number.
- Model F Reproduction Keyboards specific features
- Factory customizable with dozens of possible combinations of case color, key layout, key language, and custom birth date/serial number availability to choose from
- New available layouts not possible with the original Model F’s – HHKB style split right shift, split space bar. Can split keys like the original F’s (split back space, left shift, right shift, enter)
- Leverages the new open-source xwhatsit software and hardware built from the ground up as a Model F keyboard controller replacement
- QMK keyboard firmware now working on existing hardware of xwhatsit controllers
- Fully programmable xwhatsit Model F USB controller compatibility (ex-XT style keyboards) incl. powered by the Atmel ATmega32U2 chip
- Full NKRO (N Key Rollover)
- Parts made from brand new tooling and molds – like getting a Model F from the early 1980s right when they were introduced!
- Metal stabilizer tabs – Metal tabs attached to the top inner assembly for the Model M style spacebar stabilizer wire – upgraded from the plastic tabs in the original Model F keyboards
- You may want to consider the beta QMK firmware, which has been preinstalled on hundreds of new Model F keyboards starting in mid-2020. Please join the Deskthority.net forum and send a PM over to pandrew to request access to the QMK beta (the regular QMK will not yet work with Model F). And feel free to post on the Deskthority project thread for help with QMK.
- To see whether you are currently running QMK or xwhatsit firmware, go to Devices and Printers (Windows) and it should say ibm_capsense_util for xwhatsit firmware and “Brand New Model F Keyboard” for QMK firmware.
- After you are on the beta QMK site:
- Select the keyboard you have – either xwhatsit brand new Model F F62 wcass or F77 wcass.
- Load one of my preprogrammed layout files, based on your keyboard configuration: https://www.modelfkeyboards.com/wp-content/uploads/2020/07/QMK-layout-files.zip
- To change a key, go to the bottom of the page and select ANSI or ISO/JIS where needed. Click with your left mouse and drag the needed key you want to change to the middle area of the page titled “KEYMAP:” in the position you want the new key to go – pay attention to being on layer 0 (base layer), layer 1 (function layer 1), etc. I believe the “MO 1” key is the function key for function layer 1.
- Then you click Compile, then wait until it’s done. Then click download firmware.
- pandrew utility to send xwhatsit to bootloader – also a good diagnostic utility (can’t help you on this utility besides mentioning you click Erase EEPROM first, then click Enter Bootloader, then use Atmel Flip to load the QMK or xwhatsit firmware) – can request it through the Deskthority thread. Very important to follow the “Detailed firmware flashing instructions section below” – do not attempt to flash without following every step 100%.
- QMK interesting feature – QMK with the Model F so “I can program the modifiers to be arrow keys on tap”
Solenoid drivers help you add a solenoid to your xwhatsit-powered Model F or beam spring keyboard. You need both a solenoid driver and a solenoid; they are not sold together. The solenoid driver does not include the solenoid or screws but it does include the ribbon cable to connect to your controller.
Custom made solenoid specifications: Why pick this solenoid over other solenoids or over IBM’s original solenoids? The new solenoids are far beefier than IBM’s originals, so your solenoid clicking will be even better! It’s a custom design that you can only order here. The specifications are 6v, 40 ohm, 0.15A, 0.9W, adjustable throw factory set to 1mm but with a user-adjustable range of about 0.5mm to 5mm (there are 2 screws that can be loosened to adjust the distance of the strike bar). The factory throw setting allows you to start using this solenoid with no modification (still need to follow xwhatsit’s solenoid installation guide to avoid damage to equipment). This solenoid has the dark blue outer covering, black and white twisted wires and 2.54mm connector like the original IBM solenoids, but with a strike bar so it won’t exactly resemble the IBM solenoid. This solenoid is not the one that’s available on eBay, though it looks similar and the voltage and resistance specs are the same. Also that other model doesn’t have the adjustable throw – you would have to spend time milling the strike bar to modify it for correct usage with the solenoid drivers. If the ebay solenoid’s throw distance isn’t changed, your solenoid will be very sluggish and won’t be able to operate at full typing speed. Also my solenoid is even larger than the eBay solenoid, the 26mm height dimension on eBay is set to be ~29-30mm on my solenoid (the solenoid goes sideways in F62/F77 so it fits) though all the solenoid specs are subject to change. With a larger metal frame, my solenoid should be a little louder than the eBay model and far louder than the original IBM! This is the largest possible solenoid that will fit inside the classic style F62 and F77 cases.
These solenoids are also a great option as an upgrade to IBM’s original solenoids too (I’d always save the originals of course for the sake of completeness).
The Model F controllers for new models are for the reproduction Model F F62 and F77 keyboards. Solenoid drivers and solenoids are not included with controllers.
Warning – you may destroy your controller, solenoid driver, and/or solenoid by not following xwhatsit’s solenoid driver instructions.
Most important is to match the square on both sides of the ribbon cable connector, so that you connect the squares (voltage line) to each other. The position is different from what is pictured online, from other xwhatsit controllers, and from the photo below. If you install the cable the wrong way you will destroy your equipment. If unsure, do not connect it! The square pad indicates VCC and that wire should go to the VCC square pin on the solenoid driver itself. Connect square to square – voltage pin to voltage pin.
For the solenoid drivers: see the images below for the general installation procedure of solenoid drivers inside Brand New Model F Keyboards.
For xwhatsit firmware, you need to follow the xwhatsit manual to turn on the solenoid in the xwhatsit capsense usb utility program. To enable a key to turn it on and off: as posted by forum members on Deskthority, the solenoid switch is found as “Exp Toggle” in the keymap dropdown in xwhatsit capsense software. I placed it on a layer so I could turn in on and off as I see fit 😉
You just need to choose the “Any” key and then type HPT_BUZ or any of the other QMK options. Do not choose the HPT_TOG option as it will not work. If you do not know how to do this you’ll need to review the QMK manual for more information.
| Name | Description |
|`HPT_ON` | Turn haptic feedback on |
|`HPT_OFF` | Turn haptic feedback on |
|`HPT_TOG` | Toggle haptic feedback on/off |
|`HPT_RST` | Reset haptic feedback config to default |
|`HPT_FBK` | Toggle feedback to occur on keypress, release or both |
|`HPT_BUZ` | Toggle solenoid buzz on/off |
|`HPT_MODI` | Go to next DRV2605L waveform |
|`HPT_MODD` | Go to previous DRV2605L waveform |
|`HPT_CONT` | Toggle continuous haptic mode on/off |
|`HPT_CONI` | Increase DRV2605L continous haptic strength |
|`HPT_COND` | Decrease DRV2605L continous haptic strength |
|`HPT_DWLI` | Increase Solenoid dwell time |
|`HPT_DWLD` | Decrease Solenoid dwell time |
- Buzzer/beeper specifications: per a Deskthority forum member: “You want to look for a low powered mini speaker rated around 0.5 W (or lower) and maybe 8Ohm.” And here’s a post on buzzers/beepers mentioning 50 ohm 0.5w seeming to work for one user: https://deskthority.net/viewtopic.php?p=463031#p463031
xwhatsit Model F expansion header pinout: note that it is different from the original xwhatsit controller – you can damage the controller and other hardware by improper connections to the expansion pins. Below is the pinout on the new Model F xwhatsit controllers. Head over to the deskthority and geekhack forums for any and all questions related to the xwhatsit controllers.
- Key sound reduction discussion – floss mod, etc.: https://deskthority.net/viewtopic.php?p=463382#p463382
- “Floss mod can increase key weight (especially if the floss is longish, but not long enough to prevent actuation).” https://deskthority.net/viewtopic.php?f=2&t=22175
- In addition to the floss mod described on the Geekhack/Deskthority keyboard forums, another mod to consider is the grease mod, researched and described by the below YouTube user. Also in my research I have found that pressing the springs down all the way on the flipper (normally there is a 0.2 to 0.3mm gap) reduces the ringing. I do not offer and have not tried any of these mods but below is some information to consider.
- The purpose of the grease mod is to reduce the reverberation/ringing after each key is pressed.
- His comments are copied directly below.
- Apply Synco Superlube on the inside of the spring with a metal probe…just enough to dampen the vibration
- As an experiment, I tried a few switches on an XT F. I did nothing to the first XT F in the video…you can hear the sound I’m referring to…it’s like a super-loud, much more intense, sharper and “drier” version of what my (in superb condition) 1988-1989 Model M boards sound like. Then on the second board, I did the Alps spring lube trick on the keypad only. The feel is the same, the click sounds great (to me), the actuation force is ever so slightly less. But the annoying (to me) spring noise virtually disappears.
- video 1 – detailed key sound (lubed keypad; unmodified other keys): https://www.youtube.com/watch?v=Kha_cvhZBp8
- video 2 – typing demo of the unmodified F: https://www.youtube.com/watch?v=d1j1g-xLF6k
- video 3 – typing demo of the fully spring lubed F: https://www.youtube.com/watch?v=yqvr-U9CEuY
Dab of glue in barrel mod: (placed approximately in the spot of the number 7 mold cavity number below; so that the return of the flipper does not make as much noise)
Trackpoint mod – adding a trackpoint to your New Model F keyboard
Here’s a link to the photos from silentbob’s Brand New Model F trackpoint mod.
“I used the Unicomp M13 trackpoint but the others I mentioned will also work. I used the unicomp controller and have two USB cables running out the back. If the current controller has any extra inputs that handle PS2 or some unused GPIO pins then it could be integrated into the existing controller with the stand alone SK8702 trackpoint controller. I plan on going bluetooth in which case I can join the two controllers through a hub internally and not have to worry about two controllers and cables. I used the Unicomp GHB keys with the cutout to clear the trackpoint.”
Additional non-Model F trackpoint guide: https://deskthority.net/viewtopic.php?f=7&t=16643&start=
- As noted in the Model F Project Philosophy, the Model F is designed to be your keyboard for decades, just like many of the originals still clicking after nearly 40 years!
- There are many Model F cleaning videos. Always keep your keyboard unplugged during cleaning and while things are drying. Here’s the first result from a YouTube search: https://www.youtube.com/watch?v=wPOe0Pmd3gs
- The important thing is to use only mild dish soap and lukewarm water. I clean my Model F and Model M keys and barrels, but not springs/flippers, in an ultrasonic cleaner just like what was done in the above video posted by someone else. I almost never clean the flippers/springs unless there is a residue that cannot be removed with a dry cloth. Always wait a day before putting the keys back on. There are so many crevices inside the keys for water to get stuck and this will cause operational issues if they do not air dry. A fan blowing on the keys, all on a large towel works well. I gently clean the case with soap and water, and sometimes very carefully with a melamine sponge (be careful as this can take the paint right off and cause damage).
- Don’t get the controller wet or you will damage it or potentially cause a fire.
- Liquid spill: First thing to do is take apart the keyboard. You need to take it apart and dry out everything. Spilling anything probably requires scrubbing each flipper and the PCB with mild dish soap and water and letting them air dry for a day. This video will show you how to take care of this: https://www.youtube.com/watch?v=xaa23N9JDBs
- All the ways to make your Model F work with USB
I strongly recommend using the original F122 controller with Soarer’s converter (plugs into the IBM controller). It’s what I’m using on all my F122 keyboards.
Removing the original controller is not a good idea as the traces are at risk of damage during the desoldering process (has happened to me) and it is completely unnecessary for the F122. Controller removal is only required for the metal case Model F Keyboards (F50, F62, F77, F107).
Instead of a $25 teensy I also use an ATmega328 / ATmega32U4 style Pro Micro which is readily available under $10 shipped on eBay.
- What is the foam for, and do I need to replace it
The foam probably served two purposes: first to reduce the possibility of dust and debris entering the inner assembly and affecting the capacitive key sensing, and second, to reduce wobbling of barrels and ensure they are tightly against the capacitive PCB (the large PCB underneath all the keys).
New inner foam is strongly recommended to restore all Model F Keyboards (I have foam available for all Model F keyboards except the XT style). I recommend ordering an extra 1-2 pieces as the foam has a limited installed life (while compressed inside the keyboard it loses its resiliency over time and develops compression set, meaning the foam does not rebound to its original thickness). The extra foam should last for years if stored not in a keyboard, in a sealed plastic bag in a climate controlled area. Once production shuts down you won’t be able to purchase it and I’m the only maker of new factory cut Model F foam.
The below issues have never been reported with QMK firmware so you should not need to worry about it! Make a post over on the Deskthority project thread to request an invitation to the QMK beta!
The xwhatsit utility works for the latest Mac systems too, as of mid-2020 (you may need to press ctrl+click on the program and click open or do some other security procedures to run on a Mac). No compiling needed!
Help! Lots of key output when I plug in my new keyboard! + Emergency way to do a clean firmware load:
This is an easily fixable issue due to voltage differences with some computers not liking the factory default voltage threshold. Every computer is different, but the factory defaults provide good settings for nearly all computers. When the voltage threshold is too low for your computer, lots of keys will output randomly. To fix this, please follow these steps. If you need help or have any questions following these steps, please post on the keyboard forums as I can’t offer personalized technical support. These instructions are for Windows; I don’t have instructions for other systems. Before doing any of this, please review the Model F xwhatsit manual posted on Modelfkeyboards.com/code If you just want to update firmware, do not follow these steps – instead, review the xwhatsit manual for the proper procedure. The manual can also be found here: http://downloads.cornall.co/ibm-capsense-usb/installation_model_f.pdf
- Disclaimer – for informational purposes only, may damage your equipment.
- OBSOLETE – THIS STEP FOR XWHATSIT FIRMWARE ONLY: Basically you’ll need to boot the controller into bootloader mode by shorting prog (as described in a recent post), then load the “EEPROM_eraser.hex” firmware (found at Modelfkeyboards.com/code), then load the project firmware – debounce 6 version – also found on the above link, and then you can continue configuring your keyboard: hold keyboard vertically space bar side up, set voltage threshold to 126 through 130, make sure there are only 3 square dots to the right (all other keys not going crazy). When all is well you can test your keys to make sure the dots in the xwhatsit GUI do not go crazy. Last step is to load one of the premade layout files if you’d like. Not to worry, this has a 100% success rate if you follow all the steps correctly! If you need help, feel free to post on the project forum threads. The extra typed characters is a result of the debounce filter as well as the voltage threshold. Agreed that the keyboard needs to reach room temperature and should be unplugged and plugged back in after warming up.
- START HERE: The easiest option is to use pandrew’s software program to immediately put the controller into bootloader mode when it is plugged in. This way, you do not have to open up your keyboard. The utility will be available for Windows, Mac, and Linux users. Be sure to check the box that says “Auto-enter bootloader when new device is found.” AS A NOTE THE SOFTWARE IS PROVIDED AS IS BY A THIRD PARTY, WITH NO WARRANTIES, EXPRESS OR IMPLIED, AND WHICH DISCLAIMS ALL IMPLIED WARRANTIES, INCLUDING ANY WARRANTY OF MERCHANTABILITY AND WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE. Software may damage your computer! Other option #1 is to open up the controller and short PROG: With the controller disconnected from the USB cable (keep cable connected to computer), use a screwdriver to connect the two metal pads highlighted in the red square in this photo, and keep it shorted (connected). While your screwdriver or paper clip shorts PROG, connect it to USB, wait 1 second MAXIMUM, then release prog. will cause error device descriptor failed if you hold it too long, or it may not enter the bootloader mode and then you’ll see more key spamming. If you have a problem, try varying the length of time you short the PROG connection. Other option #2: you may be able to just unscrew the 2 screws of your xwhatsit controller and then plug in the usb cable. Then load xwhatsit capsense utility, click tools – enter bootloader and then you can skip the need to short prog. If you still get key spamming this way, you’ll need to physically short PROG. Be sure to screw both screws of the controller back in before you get to the key testing step.
- For your first time loading firmware, this is what you should see in your Windows Device Manager. If you don’t see it, keep trying the above steps to get into the bootloader mode.
- Before doing this step, install atmel flip 3.4.7 https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/FLIP In device manager, right click the “Atmel” device, update driver.
- Click browse my computer
- Click browse and browse to the installed location of your atmel software (may be in a different location than above). Make sure “include subfolders” is checked.
- This indicates successful install. Do not proceed unless all steps are successful.
- THIS STEP ONLY FOR XWHATSIT FIRMWARE TROUBLESHOOTING – SKIP IF NOT APPLICABLE TO YOU. If you do not correctly go into bootloader mode in the above steps, you will see ibm-capsense-usb in your Devices and Printers menu. This is not good at this stage! You can’t proceed if you see this, so go back and try again.
- If you enter the bootloader mode correctly by following the previous steps, you will see ATmega32U2 DFU in your unspecified section of the Devices and Printers page. Only if you see this can you proceed.
- load atmel Flip 3.4.7, click the chip icon “select a target device”
- pick atmega32U2, click OK
- click the USB icon
- click USB
- click Open
- click File, Load HEX file
- Load the file eeprom eraser.hex. This file erases all of the configuration options as well as the firmware. Normal firmware updates do not erase the options. You want a full erasure.
- Click run, wait for it to finish, then click run again (I like to run it twice to be safe). After this step, disconnect the USB cable from your controller, wait 10 seconds, then plug it back in. Then click the USB picture, click USB, click open like you did before.
- Now click file, load hex file again.
- Select the QMK or xwhatsit hex file you want to use. DEPRECATED NOTE-for xwhatsit firmware, choose debounce 6 filter.hex. This file is available from one of the links on www.ModelFKeyboards.com/code
- Make sure you see the name of the QMK or xwhatsit hex file in blue (shown correctly in the above screenshot). If not, load the firmware again. If there is no text below the “Hex file:” text, it means you are not flashing anything! Click run, wait for it to finish, then click run again (I like to run it twice to be safe).
- Disconnect USB cable from controller.
- Wait 10 seconds, then plug back in.
- You should now see Brand New Model F Keyboards (QMK) or ibm-capsense USB (deprecated – xwhatsit firmware) in devices and printers window. If not and if you still see ATmega32U2 in this window, go back to the atmel flip and redo the steps from that point onwards.
- ALL REMAINING STEPS ARE DEPRECATED – DISREGARD UNLESS YOU ARE USING OLD XWHATSIT FIRMWARE. Extract the capsense utility folder (available at ModelFKeyboards.com/code ). Open the ibm capsense utility. Click tools – gui keyboard unlock.
- Make sure all your keys are installed correctly (see my YouTube videos for the proper installation procedure, especially the below one). https://www.youtube.com/watch?v=xEm2mewsmrA Set the threshold to 122. Does your grid look like the above grid, with two or three gray dots in the rightmost column? Then you may be good to go.
- Do you see a random mess instead, like what’s pictured here? Your threshold is too low. For most cases it should be between 122 and 130 for Brand New Model F Keyboards. Factory default is 122 but if you’re seeing the above at 122 then you probably need a higher threshold value. Important note – always click store override in EEPROM after you adjust a value; otherwise it’s not saved and you’ll run into the same issue when you disconnect and reconnect your keyboard, or when you restart your computer. Do not touch Auto-calibrate as it does not work for some reason.
- Click Column skips. For F77 select columns 11-15 which are not used. For F62 select columns 9-15. Then click store in EEPROM. Press each physical key on your keyboard a few times and make sure one and only one dot (the same dot for a particular key) turns gray each time you press it. If two or more dots activate when pressing one key, maybe increase the threshold by one value until it does not do that. Close the utility, unplug the keyboard, wait a few minutes, and then plug it back in. Do the same testing again. Also try testing it on another computer and another USB port of your current computer if you’d like to be 100% sure (do both of those options). If the threshold is too high, a key press may not result in any gray squares lighting up – that is the problem if you set the threshold too high – not all your keys would be recognized.
- When 100% sure every key activates, click file, import to import the layout.
- Select the layout based on your configuration.
- You can change specific keys by adjusting them in the drop down menus on the Base Layer, Layer 1, etc. tabs. More details are available in the xwhatsit manual linked to earlier. A note for those updating their function layers and keyboard layouts: the Fn key should have Fn1 selected in the drop down menu on both the Base Layer and Layer 1 of the xwhatsit GUI. If it is not selected in Layer 1 as well, you may get unwanted key presses.
- Press the left ctrl key on your keyboard and one of the boxes should turn gray, so you know that you are adjusting that key. Then click the box and you can see the drop down menu where you can select an alternative key. Very important to always use your mouse to click inside the xwhatsit window’s big empty space somewhere so you do not inadvertently change the selection after making it. That’s it! Your keyboard should be properly configured with your keyboard now.
- One can load a layout file for keyboards with no keys using a regular voltage threshold (122-130) by keeping the keyboard upside down in the foam.
Compiling/running the xwhatsit capsense utility on Linux:
1. Open the Software & Updates program and select Community-maintained free and open-source software (universe)
2. Extract the precompiled file into a directory
3. Open a terminal and cd into that directory
4. In a terminal run: sudo apt update && sudo apt install gcc gcc-avr avrdude
5. sudo apt install build-essential
6. sudo apt install qtcreator
7. Run sudo ./ibm_capsense_usb_util
The below information was provided by Geekhack member joneslee85 to help with troubleshooting on linux:
* Problem: Linux config tool won’t build with GCC 6.x due to an
intentional breaking change in GCC’s handling of “-Isystem”.
One possible workaround: build the tool and all C++ dependencies with GCC 5.4.x
joneslee85 workaround: I managed to workaround this issue by sub the -Isystem with -I:
sed -i ‘s/\-isystem \/usr\/include/\-I\/usr\/include/g’ Makefile
Below is the full code I do on Fedora 32:
sudo dnf install avr-gcc avr-libc qt5-devel hidapi-devel glibc-headers make gcc
tar xzvf ibm-capsense-usb_0.9.0.tar.gz
#replace `-isystem /usr/include` with `-I/usr/include` # Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1835441
sed -i ‘s/\-isystem \/usr\/include/\-I\/usr\/include/g’ Makefile
# binary is now in src/ibm_capsense_usb_util
How to compile the firmware hex file on Linux (easier to do than on Windows):
Open the Software & Updates program and select Community-maintained free and open-source software (universe)
In a terminal, run: sudo apt update && sudo apt install make gcc gcc-avr avrdude avr-libc build-essential
To get patch files from GitHub, click on the commit and in the URL, append .patch and then save that as a .patch file. pandrew’s work to create 0.9.2 firmware can be found here: https://github.com/purdeaandrei/ibm_capsense_usb_mods/commits/master
Move the patch files into the src directory
In the terminal cd into the src directory
To change the files based on a patch file, run patch < filename.patch
Run patch files in order from oldest to newest (start with debounce patch, then patch 1, then patch 2, then patch 3 (the latter three patches from pandrew).
Run make and copy the ibm_capsense_usb.hex file that was created
The default debounce is 11. To create the debounce 6 version, edit the scan.h file and change the line with #define SCAN_DB_THRESH_TOP 11 – change to a 6 (I use the debounce 6 version when sending out the Brand New Model F keyboards)
Run make and copy the ibm_capsense_usb.hex file that was created