Model F Technical Manual Project

User avatar
darkcruix

22 Aug 2020, 14:55

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.

User avatar
darkcruix

22 Aug 2020, 15:01

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).
Last edited by darkcruix on 22 Aug 2020, 18:14, edited 4 times in total.

User avatar
Redmaus
Gotta start somewhere

22 Aug 2020, 16:41

darkcruix wrote:
22 Aug 2020, 15:01
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 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.
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.

Zcool31

23 Aug 2020, 02:27

darkcruix wrote:
22 Aug 2020, 15:01
In my own words I have described it like this:
...
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

User avatar
darkcruix

23 Aug 2020, 11:46

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
Huge thanks! How could I have missed that doc :o ? 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 ...

User avatar
darkcruix

24 Aug 2020, 12:44

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

Coeus

24 Aug 2020, 14:07

darkcruix wrote:
23 Aug 2020, 11:46
Huge thanks! How could I have missed that doc :o ? 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 ...
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.

Coeus

24 Aug 2020, 14:45

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.

User avatar
darkcruix

24 Aug 2020, 17:38

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

Zcool31

24 Aug 2020, 20:55

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 :)
...
Professional? I wouldn't go that far.

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
Image

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.

Coeus

24 Aug 2020, 21:42

darkcruix wrote:
24 Aug 2020, 17:38
...Maybe you can review 1.6 and 1.7 (page 23 tp 27) when you find time?
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.

User avatar
darkcruix

25 Aug 2020, 09:49

Coeus wrote:
24 Aug 2020, 21:42
darkcruix wrote:
24 Aug 2020, 17:38
...Maybe you can review 1.6 and 1.7 (page 23 tp 27) when you find time?
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.
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....

User avatar
darkcruix

25 Aug 2020, 09:55

Redmaus wrote:
22 Aug 2020, 16:41
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.
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.

User avatar
darkcruix

25 Aug 2020, 10:15

Zcool31 wrote:
24 Aug 2020, 20:55
...
Professional? I wouldn't go that far.
...
Compared to what I do - definitely!
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
Image

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.
Would something like the below photo be of any help?
IMG_3194.jpeg
IMG_3194.jpeg (1.34 MiB) Viewed 14441 times
I measured the curvature of the bottom assembly plate and here are the results:
Arc length: 126 mm
Chord Length: 125 mm
Height: 7 mm
Radius: 283 mm

Zcool31

25 Aug 2020, 12:13

darkcruix wrote:
25 Aug 2020, 10:15
Would something like the below photo be of any help?
Image

I measured the curvature of the bottom assembly plate and here are the results:
Arc length: 126 mm
Chord Length: 125 mm
Height: 7 mm
Radius: 283 mm
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?

User avatar
darkcruix

25 Aug 2020, 12:38

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/
IMG_3197.jpeg
IMG_3197.jpeg (1.04 MiB) Viewed 14402 times
IMG_3198.jpeg
IMG_3198.jpeg (1 MiB) Viewed 14400 times
IMG_3196.jpeg
IMG_3196.jpeg (362 KiB) Viewed 14406 times

Zcool31

25 Aug 2020, 15:05

These are awesome, thank you!
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/
That's exactly the formula I deduced when computing the scoop on all the regular keys and the hump on the space bar.

Zcool31

25 Aug 2020, 18:25

Here's the process I used to refine some dimensions.
plate.png
plate.png (2.7 MiB) Viewed 14333 times
This is the F77 with more correct case dimensions from your document and more accurate key shapes and plate curvature from your pictures.
render_77_alpha3.png
render_77_alpha3.png (409.15 KiB) Viewed 14333 times
Finally, here's an ortho rendering of just the keys. It should have enough resolution for you to zoom pretty close.
render_keys_ortho.png
render_keys_ortho.png (419.41 KiB) Viewed 14333 times

Zcool31

25 Aug 2020, 19:35

Here are the compact cases:
compact_77_1.png
compact_77_1.png (524.65 KiB) Viewed 14307 times
compact_62_1.png
compact_62_1.png (404.7 KiB) Viewed 14307 times

User avatar
darkcruix

25 Aug 2020, 23:15

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.

Zcool31

26 Aug 2020, 18:16

Just for fun:
assembly.png
assembly.png (501.18 KiB) Viewed 14131 times
darkcruix wrote:
25 Aug 2020, 23:15
... ISO Enter ...
Vertical keys are weird. This will take some doing.

Zcool31

26 Aug 2020, 19:57

render_keys_iso.png
render_keys_iso.png (411.15 KiB) Viewed 14113 times

User avatar
darkcruix

26 Aug 2020, 21:30

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?
Screen Shot 2020-08-26 at 21.28.02.jpg
Screen Shot 2020-08-26 at 21.28.02.jpg (300.89 KiB) Viewed 14088 times

Zcool31

26 Aug 2020, 22:33

darkcruix wrote:
26 Aug 2020, 21:30
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?
Sure, here are both:
render_keys_iso.png
render_keys_iso.png (411.27 KiB) Viewed 14068 times
render_keys_ansi.png
render_keys_ansi.png (408.91 KiB) Viewed 14068 times
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.

Zcool31

26 Aug 2020, 22:42

I didn't forget:
render_keys_numpad.png
render_keys_numpad.png (492.71 KiB) Viewed 14062 times
darkcruix wrote:
25 Aug 2020, 10:15
Zcool31 wrote:
24 Aug 2020, 20:55
...
Professional? I wouldn't go that far.
...
Compared to what I do - definitely!
You did very nice hand-drawn line art. I do artificial computer generated renderings that imitate line art.

User avatar
darkcruix

26 Aug 2020, 23:50

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

User avatar
Weezer

27 Aug 2020, 00:22

Don't forget the "Bezel Master" Model F from the 5324 Datamaster in your list of keyboards. It looks like a bigfoot but its several inches larger.

User avatar
darkcruix

27 Aug 2020, 07:39

Weezer wrote:
27 Aug 2020, 00:22
Don't forget the "Bezel Master" Model F from the 5324 Datamaster in your list of keyboards. It looks like a bigfoot but its several inches larger.
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
Image

User avatar
darkcruix

27 Aug 2020, 17:28

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

User avatar
Weezer

27 Aug 2020, 18:14

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
Image
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

Post Reply

Return to “Keyboards”