Author Topic: An open-source, relatively inexpensive force curve meter for MX Switches  (Read 1170 times)

0 Members and 1 Guest are viewing this topic.

Offline Pylon

  • Thread Starter
  • Posts: 808
Hey all - this is a project I started working in early March, and ended up coming together quicker than I expected. There's been a general lack of force curve data since HaaTa largely stopped publishing curves on Plotly (due to issues with the Plotly website apparently). After xyz posted some photos of a prototype meter on the Keyboard Atelier Discord using a stepper motor and a load cell rather than the expensive test stand and force gauge that Haata used, I was inspired to do something similar. It's still a work-in-progress, and I still need to do a thorough calibration of it, but I've been able to get a couple of curves out of it.

All the files (CAD, PCB, and firmware) are available on Github here, and I go into a more detailed writeup there.

This was designed specifically for MX switches to simplify the design and make everything cheaper and more compact, and since most of the switches I am curious about (as well as almost all new switches released today) use the MX form factor. In theory it could be adapted to test say, Alps or other discrete switches (it would need a different plate and switch holder). This is not as versatile as force-curve testers like Haata's that use a test stand, and can't test arbitrary keyboards like that one, but it's much cheaper to build (I spent about $200 building this, and in theory this is buildable for ~$100 if one foregoes the custom PCB and order the parts from China.)

« Last Edit: Wed, 31 March 2021, 17:59:51 by Pylon »

Offline Pylon

  • Thread Starter
  • Posts: 808
I still need to do a thorough calibration of the load cell (I don't have a good scale at the moment nor any calibration weights, but did a rough calibration by estimating the weight of a keyboard plate from the CAD file, and hanging that off the load cell). I'm also still figuring out how to correct for backlash on the linear stage, to correctly line up the downstroke and upstroke curves.

However, the data generally seems to look good.

Here's one of the first test curves I made, of a Kailh  Box Navy:

The general shape seems to compare favorably to Haata's curves for the same switch, though the weight differ (though my curve looks closer to Kailhs' claimed 90g bottom out), and mine has visible alignment issues between the downstroke and upstroke, which is probably from the leadscrew backlash. That's something I'm working on for the time being.

I also forgot to order hotswap sockets, but I do have plans for also measuring the actuation point.

Offline nevin

  • Posts: 1363
  • Location: US
nice project. looks like there's a good bit more resolution/detail in the data then i've seen in other graphs. Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline Pylon

  • Thread Starter
  • Posts: 808

I mounted it vertically to my desk, and did another calibration with some stainless steel plates I got laser-cut last year that I measured with calipers and calculated the volume (and from there, mass). Not an ideal calibration, but I know their weights 2gf, and the calibration should be within 5gf. Also added some wires and added some code so I can determine the actuation point.

I will be publishing force curves here:

Some switches I have that I measured so far (I focused mostly on switches that don't have available curves from HaaTa)

AlphaKeys Dusk Panda:

Durock Koala (T1):

Durock Medium Tactile (65g):

Gazzew Boba U4 (68g)

JWK Twilight: (currently in IC)

Kailh Speed Pale Blue:

NK Blueberry:

NK Sherbet:

Outemu Silent Sky:

Outemu Silent Sky stem in Boba housing:

« Last Edit: Sat, 17 April 2021, 11:12:02 by Pylon »

Offline Willtato

  • Posts: 58
  • Location: London
  • I like small Keyboards
Thanks for this!
Back when boba u4 switches were new, I really wanted to see force curves to compare...

I appreciate the effort

Sent from my HD1913 using Tapatalk