Model F Technical Manual Project
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
I am working on a Model F / Capacitive Buckling Spring manual. It is specifically looking at the Brand New Model F Keyboards, but also the historical IBM ones.
I already presented it as part of the original project by Ellipse: viewtopic.php?p=470331 but thought I create this spin-off topic.
The actual version can always be found at this link: http://www.linux-tin.org/ModelFManual.pdf.
As this is a project separate from Ellipse project and something I do in my spare time, I need all the help I can get.
I already presented it as part of the original project by Ellipse: viewtopic.php?p=470331 but thought I create this spin-off topic.
The actual version can always be found at this link: http://www.linux-tin.org/ModelFManual.pdf.
As this is a project separate from Ellipse project and something I do in my spare time, I need all the help I can get.
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Request to review the Capacitive Sensing Mechanism in a Model F:
The mechanism is described in the Wiki here: wiki/Keystroke_sensing#Capacitive
In my own words I have described it like this:
"The large capacitive PCB contains two pads for each key. One side of the pad constantly has a current flowing through it, while the other is is the sensing pad. Between those two pads a capacitance exists but at this stage it is sensed as unregistered. Once the flipper closes in to both pads, the capacitance is changing due to the conductive flipper. This is now registered as a keypress.
The matrix configuration of the PCB in rows and columns makes it easy to register multiple number of keys which have changed
capacitance. The registration happens on press and release and different codes are sent, so it can detect, if a key is still actuated or when it was released."
I wanted to run this through the experts and correct me and / or help me describing it more accurately. I am uncertain, if the two sides of the pads on the PCB are split in a sensing pad and one that always has a current flowing (and in return build a capacitance between the two pads). The flipper is basically disturbing this and then a reading can be done on the side without constant current flow. <-- This is how I interpret it, but not sure if this is actually the procedure (simplified).
The mechanism is described in the Wiki here: wiki/Keystroke_sensing#Capacitive
In my own words I have described it like this:
"The large capacitive PCB contains two pads for each key. One side of the pad constantly has a current flowing through it, while the other is is the sensing pad. Between those two pads a capacitance exists but at this stage it is sensed as unregistered. Once the flipper closes in to both pads, the capacitance is changing due to the conductive flipper. This is now registered as a keypress.
The matrix configuration of the PCB in rows and columns makes it easy to register multiple number of keys which have changed
capacitance. The registration happens on press and release and different codes are sent, so it can detect, if a key is still actuated or when it was released."
I wanted to run this through the experts and correct me and / or help me describing it more accurately. I am uncertain, if the two sides of the pads on the PCB are split in a sensing pad and one that always has a current flowing (and in return build a capacitance between the two pads). The flipper is basically disturbing this and then a reading can be done on the side without constant current flow. <-- This is how I interpret it, but not sure if this is actually the procedure (simplified).
Last edited by darkcruix on 22 Aug 2020, 18:14, edited 4 times in total.
- Redmaus
- Gotta start somewhere
- Location: Near Dallas, Texas
- Main keyboard: Unsaver | 3276 | Kingsaver
- Main mouse: Kensington Slimblade
- Favorite switch: Capacitative Buckling Spring
- DT Pro Member: -
- Contact:
Seems about right but I would include that the actual buckling motion of the spring is when the flipper actuates and is the tactile bump as well.darkcruix wrote: ↑22 Aug 2020, 15:01Request to review the Capacitive Sensing Mechanism in a Model F:
The mechanism is described in the Wiki here: wiki/Keystroke_sensing#Capacitive
In my own words I have described it like this:
"The large capcitive PCB contains two pads for each key Needs to be side of the pad constantly has a current flowing through it, while the other is is the sensing pad. Between those two pads a capacitance exists but at this stage it is sensed as unregistered. Once the flipper closes in to both pads, the capacitance is changing due to the conductive flipper. This is now registered as a keypress. The matrix configuration of the PCB in rows and columns makes it easy to register any amount of keys which have changed capacitance. The registration happens on press and release and different codes are sent, so it can detect, if a key is still actuated or when it was released."
I wanted to run this through the experts and correct me and / or help me describing it more accurately.
-
- Location: USA
- Main keyboard: Unicomp Ultra Classic
- Favorite switch: Buckling Spring
This description has several inaccuracies. This page has been helpful in forming my understanding of how capacitive switches work: https://static.wongcornall.com/ibm-caps ... e-usb.html
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Huge thanks! How could I have missed that doc ? I did take a first read through but I definitely have to absorb and understand it first, before I correct (well, re-write) my version. Updates will follow ...Zcool31 wrote: ↑23 Aug 2020, 02:27...
This description has several inaccuracies. This page has been helpful in forming my understanding of how capacitive switches work: https://static.wongcornall.com/ibm-caps ... e-usb.html
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
OK, the corrections have been implemented for the PCB / Controller. I also replaced the photos with the drawings for the controllers to stay within the design language (as much as it makes sense).
I still need to replace the picture of the Capacitive PCB with a drawing, but I couldn't find a proper one so far.
Next tasks on Section 1:
* Some design issues to be corrected (e.g. the Section marker <the black box at the outside of each page> needs to be added and the header needs to move to the footer etc.)
* Correcting a few items of the buckling spring mechanism
* Replacing the Ultra Compact Drawings with professional ones (Zcool31? )
* Replacing the figures of the ANSI vs ISO with professional orthographic projection ones (Zcool31? )
* Split key variant drawings to be replaced (Zcool31? )
* Keypad Option drawings with a zoom-in projection .... I don't even dare to ask for it
* Adding a Technical Specification Table at 1.3 for historical Model F keyboards (selection of those I have: XT, AT, F122, F107, XT Portable)
* Adding Through-Hole Controller option (not sure, as it only runs with QMK)
* Keycap Colors with Photos of the different ones and comparison with original keys (also mention that a guide for reseating keys will be in Section 3)
* Opening the keyboard (showing the screws and how to open it inside the styrofoam)
** Showing an opened case in a photo and how the USB cable connects
* Closing remarks on Section 1: Explaining that more information will be available in Section 3, including guides on how to re-seat keys / changing the layout / using the plastic stabilizer inserts / etc
I still need to replace the picture of the Capacitive PCB with a drawing, but I couldn't find a proper one so far.
Next tasks on Section 1:
* Some design issues to be corrected (e.g. the Section marker <the black box at the outside of each page> needs to be added and the header needs to move to the footer etc.)
* Correcting a few items of the buckling spring mechanism
* Replacing the Ultra Compact Drawings with professional ones (Zcool31? )
* Replacing the figures of the ANSI vs ISO with professional orthographic projection ones (Zcool31? )
* Split key variant drawings to be replaced (Zcool31? )
* Keypad Option drawings with a zoom-in projection .... I don't even dare to ask for it
* Adding a Technical Specification Table at 1.3 for historical Model F keyboards (selection of those I have: XT, AT, F122, F107, XT Portable)
* Adding Through-Hole Controller option (not sure, as it only runs with QMK)
* Keycap Colors with Photos of the different ones and comparison with original keys (also mention that a guide for reseating keys will be in Section 3)
* Opening the keyboard (showing the screws and how to open it inside the styrofoam)
** Showing an opened case in a photo and how the USB cable connects
* Closing remarks on Section 1: Explaining that more information will be available in Section 3, including guides on how to re-seat keys / changing the layout / using the plastic stabilizer inserts / etc
-
- Location: United Kingdom
- Main keyboard: IBM Model F PC/XT
- Main mouse: Elecom Huge
On any keyboard that uses a matrix there is not permanent power to any of the keys. The controller will apply a voltage to each column line in turn and see what it reads from each row - the rows are usually read in parallel.
What is different between resistive/metalic contact switches and capacitive is that with the resistive/metallic that for an activated key, as long as the column line is powered there will be a voltage on the row line. With capacitive it is only momentary - when you apply a voltage to one end of a capacitor it causes the same change in voltage to appear at the other end because the capacitor cannot charge or discharge instantaneously. Over time, though, the capacitor adjusts it charge (charges or discharges). How quickly that happens depend on how much current the sensing of the row line draws. The more current it draws the quicker the capacitor will charge and the quicker the output of that capacitor will return to zero.
That means the time for which the row output can be sensed can be lengthened by having the row sense draw very little current, i.e. have a high input impedance. High impedance inputs are much more prone to noise pickup, though, which explains the need to get the grounding right.
-
- Location: United Kingdom
- Main keyboard: IBM Model F PC/XT
- Main mouse: Elecom Huge
I realise in my last post I glossed over something. In Tom Wong's description there some capacitance between the pads at all times, whether they key is down or up, but it is different in each state and, on the Model F, it is greater when the key is down.
So at the exact moment the voltage is applied to the column line you'd expect the row pad for all keys on that column to be high too - that's how capacitors work. But, a moment later that voltage would have decayed and it will have decayed much faster for a small capacitor than a larger one so at that point one can test the voltage with a comparator to determine if the key is up or down.
So at the exact moment the voltage is applied to the column line you'd expect the row pad for all keys on that column to be high too - that's how capacitors work. But, a moment later that voltage would have decayed and it will have decayed much faster for a small capacitor than a larger one so at that point one can test the voltage with a comparator to determine if the key is up or down.
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Can't thank you enough - that was short and precise. I thought I just quote directly. Maybe you can review 1.6 and 1.7 (page 23 tp 27) when you find time?
Latest update at: http://www.linux-tin.org/ModelFManual.pdf
Latest update at: http://www.linux-tin.org/ModelFManual.pdf
-
- Location: USA
- Main keyboard: Unicomp Ultra Classic
- Favorite switch: Buckling Spring
Professional? I wouldn't go that far.darkcruix wrote: ↑24 Aug 2020, 12:44* Replacing the Ultra Compact Drawings with professional ones (Zcool31? )
* Replacing the figures of the ANSI vs ISO with professional orthographic projection ones (Zcool31? )
* Split key variant drawings to be replaced (Zcool31? )
* Keypad Option drawings with a zoom-in projection .... I don't even dare to ask for it
...
What would really help are direct staright-on photos of the case and the barrel plate, such as these, but with a ruler.
https://geekhack.org/index.php?topic=68550.0
It would also be great if that photo could have at least one of the keycaps removed. Then I could measure the dimensions of the barrels.
-
- Location: United Kingdom
- Main keyboard: IBM Model F PC/XT
- Main mouse: Elecom Huge
Ok, that prompted me to start reading the document so I also have some other comments.
Page 14, the table of original IBM variants. It is probably worth distinguishing between protocols and scan code sets. Set 1, 2 and three refer to the scan code sets, i.e. the bytes sent to the host for each key. But I don't know offhand which protocol the various terminal keyboards use. The XT protocol is unidirectional while the AT protocol, used for all susequent PC keyboards until USB HID took over, is bidirectional and allows the host to send commands to the keyboard.
Page 15, 1.4 heading "Barrel Plate Sandwich" the text immediately following should presumably also read "The barrel plate sandwich consists of multiple layers"...
Section 1.6 "Buckling Spring Mechanism". Should the first sentence read "...invented by Richard Hunter Harris and IBM filed for a patent..." with one of the "and"s removed.
"The Flipper" capacitance, not capacity.
Section 1.7 the bit lifted from Tom Wong's description is the mathematical version of what I was trying to convey in more 'laymans" terms. It looks fine to me.
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Thanks! Exactly what was hoping for. I have corrected the errors. For the protocols in the original keyboards, I will have discuss them more in depth in Section 3 and already have planned for it....Coeus wrote: ↑24 Aug 2020, 21:42Ok, that prompted me to start reading the document so I also have some other comments.
Page 14, the table of original IBM variants. It is probably worth distinguishing between protocols and scan code sets. Set 1, 2 and three refer to the scan code sets, i.e. the bytes sent to the host for each key. But I don't know offhand which protocol the various terminal keyboards use. The XT protocol is unidirectional while the AT protocol, used for all susequent PC keyboards until USB HID took over, is bidirectional and allows the host to send commands to the keyboard.
Page 15, 1.4 heading "Barrel Plate Sandwich" the text immediately following should presumably also read "The barrel plate sandwich consists of multiple layers"...
Section 1.6 "Buckling Spring Mechanism". Should the first sentence read "...invented by Richard Hunter Harris and IBM filed for a patent..." with one of the "and"s removed.
"The Flipper" capacitance, not capacity.
Section 1.7 the bit lifted from Tom Wong's description is the mathematical version of what I was trying to convey in more 'laymans" terms. It looks fine to me.
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Replaced it with:
In simple terms it can be described as a spring that is placed slightly angled between the keycap and the flipper. Due to the angle, it holds the flipper above the sensing pad when no force is applied.
When force is applied (key is pressed), the spring is not only compressed, but also further angled until the point it buckles under the force. This buckling has multiple effects. First, it pushes the flipper on the sensing pad in a quick motion that also produces a loud clicking sound and actuates the key press. Secondly, the buckling gives a strong tactile feedback as the return force applied through the spring is mostly vanishing by the collapsing spring.
When the key is released, the spring returns to the original state and produces a singing, vibrating sound.
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Compared to what I do - definitely!
Would something like the below photo be of any help? I measured the curvature of the bottom assembly plate and here are the results:Zcool31 wrote: ↑24 Aug 2020, 20:55...
What would really help are direct staright-on photos of the case and the barrel plate, such as these, but with a ruler.
https://geekhack.org/index.php?topic=68550.0
It would also be great if that photo could have at least one of the keycaps removed. Then I could measure the dimensions of the barrels.
Arc length: 126 mm
Chord Length: 125 mm
Height: 7 mm
Radius: 283 mm
-
- Location: USA
- Main keyboard: Unicomp Ultra Classic
- Favorite switch: Buckling Spring
That's almost perfect. One minor issue is that the ruler is not co-planar with the edge barrel plate. Due to perspective, this makes the barrel plate and the keys appear smaller on the image. I can adjust for that if you tell me the depth (how much further away are the edge of the barrel plate and the edge of the key caps than the edge of the back plate), and the focal length which which that photo was taken.
How did you measure the curvature?
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
It is tough to photograph
I tried my very best with the three below. The first has the ruler planar to the edge of the barrel plate, second one planar to the middle of the first barrel row, third planar to the edge of the assmbly plate. To measure the curvature I just drew around the bottom assembly plate and measured the chord length and hight from bottom to the parallel tangent line. Depending on how accurately I measure, I get a radius between 275 mm and 285 mm.
https://planetcalc.com/1421/
I tried my very best with the three below. The first has the ruler planar to the edge of the barrel plate, second one planar to the middle of the first barrel row, third planar to the edge of the assmbly plate. To measure the curvature I just drew around the bottom assembly plate and measured the chord length and hight from bottom to the parallel tangent line. Depending on how accurately I measure, I get a radius between 275 mm and 285 mm.
https://planetcalc.com/1421/
-
- Location: USA
- Main keyboard: Unicomp Ultra Classic
- Favorite switch: Buckling Spring
These are awesome, thank you!
That's exactly the formula I deduced when computing the scoop on all the regular keys and the hump on the space bar.darkcruix wrote: ↑25 Aug 2020, 12:38...
Depending on how accurately I measure, I get a radius between 275 mm and 285 mm.
https://planetcalc.com/1421/
-
- Location: USA
- Main keyboard: Unicomp Ultra Classic
- Favorite switch: Buckling Spring
Here's the process I used to refine some dimensions.
This is the F77 with more correct case dimensions from your document and more accurate key shapes and plate curvature from your pictures.
Finally, here's an ortho rendering of just the keys. It should have enough resolution for you to zoom pretty close.
This is the F77 with more correct case dimensions from your document and more accurate key shapes and plate curvature from your pictures.
Finally, here's an ortho rendering of just the keys. It should have enough resolution for you to zoom pretty close.
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
And here's for the crazy ones
I now have created the keyboard layouts in the Zcool31 - style (and it looks even more beautiful when printed). While I have all the various default split-key configs for ANSI, I would love to get them for ISO as well. A nice render would be awesome. I can still do all the split key things - just need a plain ISO Enter one.
I now have created the keyboard layouts in the Zcool31 - style (and it looks even more beautiful when printed). While I have all the various default split-key configs for ANSI, I would love to get them for ISO as well. A nice render would be awesome. I can still do all the split key things - just need a plain ISO Enter one.
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Thanks a ton!
btw: The ISO version is having much lighter lines and feels a bit more subtle. I actually prefer the new style. Can you render the ANSI with the same line width?
btw: The ISO version is having much lighter lines and feels a bit more subtle. I actually prefer the new style. Can you render the ANSI with the same line width?
-
- Location: USA
- Main keyboard: Unicomp Ultra Classic
- Favorite switch: Buckling Spring
Sure, here are both:
I fixed a minor issue with the ISO enter key. Other than the enter key and different split keys, these pictures should be pixel-identical. You can mix and match ansi/iso split shift/backspace.
-
- Location: USA
- Main keyboard: Unicomp Ultra Classic
- Favorite switch: Buckling Spring
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
I just uploaded the new illustrations, and I am very happy about the overall look. Superb work - looks extremely nice, imo.
http://www.linux-tin.org/ModelFManual.pdf
http://www.linux-tin.org/ModelFManual.pdf
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Do you have any more info around it / some links I can check?
I only found the below links. I wasn't even aware that a floor model of the system/23 datamaster did exist. Does anybody have a PN for the keyboard?:
https://www.pdp-11.de/wp-content/upload ... 309552.jpg
https://www.ebay.de/itm/IBM-5324-inkl-D ... Sws6RefbXi
- darkcruix
- Location: Germany
- Main keyboard: Brand New Model F F77 Keyboard
- Main mouse: Logitech MX Master
- Favorite switch: Ellipse version of Buckling Spring / BeamSpring
- DT Pro Member: 0209
Moved the paper size to half-letter instead of A5 (so it is like the original). I also moved the header down into the footer (like IBM had it back then), but I must say that I do not like it as it is. Let me know, what you think.
I also corrected a few mistakes and added more content (Getting Started). I also added info about the "Bezelmaster" to the table:
http://www.linux-tin.org/ModelFManual.pdf
I also corrected a few mistakes and added more content (Getting Started). I also added info about the "Bezelmaster" to the table:
http://www.linux-tin.org/ModelFManual.pdf
- Weezer
- Location: USA
- Main keyboard: IBM F122
- Main mouse: Dell 0KKMH5
- Favorite switch: IBM buckling spring & beam spring
I don't really have any solid info except for scattered pictures on the internet, the pdf manuals and the ones that pop up on ebay every so often.
There was also one on ebay in Ohio USA a couple months back and the seller told me that the part number for the keyboard was 8529401. I was going to get it since I was going to be near there visiting relatives but someone bought it one day before I was going to pick it up.
There's also this thread on geekhack: https://geekhack.org/index.php?topic=105148.0
If you look close you can see this model has an extra couple inches on the top bezel, it also has the same feet as the 5251 keyboard instead of the three tiered feet of the bigfoot
There was also one on ebay in Ohio USA a couple months back and the seller told me that the part number for the keyboard was 8529401. I was going to get it since I was going to be near there visiting relatives but someone bought it one day before I was going to pick it up.
There's also this thread on geekhack: https://geekhack.org/index.php?topic=105148.0
If you look close you can see this model has an extra couple inches on the top bezel, it also has the same feet as the 5251 keyboard instead of the three tiered feet of the bigfoot