Author Topic: [IC] An Affordable Force Curve Meter Kit for MX switches  (Read 6239 times)

0 Members and 1 Guest are viewing this topic.

Offline Pylon

  • Thread Starter
  • Posts: 851
[IC] An Affordable Force Curve Meter Kit for MX switches
« on: Fri, 26 November 2021, 16:39:30 »
Hi everyone -

This is more of a pre-IC, and at least several months away as I’m still working on other projects that I need to wrap up (such as my 120% keeb which has been in IC forever), but I’ve been thinking about this and would like some thoughts/input in terms of determining a direction to design things towards. The page will be updated as things progress.

Back in April I built a cheap force curve meter for MX switches, the design of which is open-source. Measurements are published here. This cost me about $200 to build, uses a cheap $11 load cell paired with a $0.50 load cell amplifier to measure force, and seems to generate usable force curves.




Some example force curve measurements:



There are also similar projects that other people have independently worked on, which use similarly inexpensive parts. For example, Ruddy of Geekboard.ru independently developed  a similar open-source force curve meter using similar components. There’s also someone in Japan working on a force curve meter.

I was thinking of doing some design work on an inexpensive force curve meter that would be user-friendly enough to be available to the community should people want to own one.

The scope of this would involve:

  • An inexpensive force curve meter kit, most likely priced between $150 and $250.
    • This would only measure discrete MX switches, and possibly other discrete switches (e.g. Choc, Alps). It will not be able to measure a whole keyboard like HaaTa’s force curve meter.  This lowers the cost and size of the device significantly.
    • It should be easy to offer both a free-standing stand and something to clamp it to the edge of your table like my current one. My current meter takes up about 250x100mm clamped to an edge of table, and a stable table stand can probably done within a 250x250mm footprint, and probably about 200-250mm tall,
  • Software for calibrating the force sensor, and for processing the data into a chart.
    • My current force curve meter is calibrated with a 100g weight, an Arduino script, and a spreadsheet, run using Arduino and Arduino Serial Monitor, and the data is processed using a spreadsheet. Labels are added in MS Paint. This is fairly manual and time consuming, and I would like to sit down and automate a lot of these tasks (e.g. with a Python script or application). This would also go a long way towards making the device more user friendly.

I would like to make this all open-source.

There has been talk and some work on a website to display and compare force curves between various people with force curve meters (including me), though that is mostly separate from this project and a ways off.

Right now there’s a couple of different  routes to go down for the hardware design, with tradeoffs between price and performance. If you’re interested in this project, would you mind filling out this form? This would be very helpful in choosing a direction. Thanks!

> IC Form Here <




« Last Edit: Sun, 29 May 2022, 08:24:53 by Pylon »

Offline Pylon

  • Thread Starter
  • Posts: 851
Re: [IC] An Affordable Force Curve Meter for MX switches
« Reply #1 on: Fri, 26 November 2021, 16:51:26 »
Reserved

Offline growler

  • Posts: 238
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #2 on: Fri, 26 November 2021, 16:58:21 »
I can see myself chucking some money at this....

Sent from my SM-G980F using Tapatalk

Don't just stare at it ...

Offline catamscott

  • Posts: 276
  • Location: Oregon
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #3 on: Sat, 27 November 2021, 03:08:16 »
very very cool, making force curve meters more accessible would be great for the community  :thumb: very excited about this, even in a pre-ic state

Offline pepperonichicken

  • Posts: 39
  • Location: Connecticut - USA
  • i also go by plag
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #4 on: Sat, 27 November 2021, 16:46:23 »
this is awesome. im absolutely down for this. would love to see a (hopefully cheap and easy) modification to record alps curves as well

Offline EB3K

  • Posts: 2
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #5 on: Sat, 27 November 2021, 21:19:49 »
This is so cool! I've been dying to see force curves for some newer switches after haata stopped.

Offline stidal

  • Posts: 56
  • milo#3939
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #6 on: Mon, 29 November 2021, 04:02:52 »
very neat. don't think it's something i would personally use, but making force curves more accessible for less common switches would be sick
rs60 // adiuvare // ciel60 // jules // prime e // ut47.2 // sequence // bumper // q1

Offline holer

  • Posts: 63
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #7 on: Mon, 29 November 2021, 07:06:59 »
Very cool project - I would likely pick one up!

Offline ifohancroft

  • Posts: 37
  • Location: Sofia, Bulgaria
  • root
    • IFo Hancroft
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #8 on: Wed, 15 December 2021, 16:19:51 »
I am definitely interested.
Filled the IC form.
I like to make, break & modify stuff via a soldering iron, code or both.

Offline Nonnegaard

  • Posts: 289
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #9 on: Wed, 15 December 2021, 16:25:28 »
i honestly see a lot of fun coming out of this. if you can bring the price near the $150 mark you were talking about, I'm definitely in for one.
TGR Jane V2, Keycult No. 1/TKL, Dolphin 2021, Saturn60, Melody65, Gherkin, Model M, 5°, NCR80, M0110-A

Offline Reimu_64

  • Posts: 91
    • KeebWorks
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #10 on: Wed, 15 December 2021, 17:18:56 »
This is really awesome! I've been interested in making my force curves after I learnt about Haata's take on it, but the price for the equipment is north of £300!

Offline Pylon

  • Thread Starter
  • Posts: 851
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #11 on: Sat, 25 December 2021, 16:08:27 »
Here are the survey responses so far - thank you everyone that filled out the response. With 99 responses, here are the results so far:



Looks like most people would prefer a more accurate force curve meter (even if it requires very frequent calibration) over a less-accurate one that does not require calibration. In terms of the design, this means that the Honeywell force sensor I was looking at using is ruled out, and I'll be sticking with a load-cell (probably this one, the same one I use on my current force curve meter) and a load cell amplifier.



On the measurement time, this is a lot more even of a split. This involves deciding between the $0.50 Avia HX711 chip , and the $30 Analog Devices AD7730 . The HX711 can measure at 10Hz (~160 seconds to measure a switch) and 80Hz with very slightly reduced accuracy (~20 seconds to measure a switch). The AD7730 can measure up to 1200Hz (~1.4 seconds for a measurement). I ended up calculating the impact on accuracy of using the 80Hz mode on the HX711, and the additional noise only adds about 0.01g of error in theory, which is completely negligible. I also tested 80Hz mode last week on my current force curve meter, and it seems to work out ok. I feel a 20 second measurement time would probably be acceptable for most people. so I plan to design primarily around the HX711 on 80Hz mode.

I am considering accommodating both options by making the ADC PCB a separate module though, so people could use the faster AD7730 if they want.


On the OS front, most people are using Windows, with some people on Linux and MacOS. I am primarily a Windows user, so most of the initial development will be done on my Windows computer, though I will see how I can make the workflow cross-compatible. A lot of the biggest unresolved questions on designing this is going to be on the software end, and I haven't started much work here. On one hand, a fairly manual workflow using Arduino and Libreoffice Calc would work just fine on all 3 OS's with virtually no work on my end. I would like to do a more user-friendly automated workflow though, and there's a bunch of questions on how to do this (it might involve either a Python script with a GUI to process the data, or possibly a packaged application). The latter will be  trickier to do cross platform (and I'm also not a software developer), but there's probably ways to do it with packaging Python scripts into an application.



These are survey results on price. I'm trying to design this to be as economical as possible, though there are still various design questions (e.g. - is making the MCU board and stepper motor driver replaceable modules instead of having it all soldered down on one PCB worth an extra $10?). Right now, I'm expecting the raw bill-of-materials cost to  come in around $110-$130 @ MOQ 50, but this will obviously be subject to change as things progress further in the design and I have more concrete figures. A lot of the final price will also depend on the margin the  vendor expects to take (I have not had serious discussions with any vendors yet).

I also took some time to do some design work the past couple of weeks (as my 120% keeb prototype assembly is somewhat delayed due to my arm injury). Files are posted on Github here . I intend to keep the project fully open-source.

Here is how the mechanical CAD is looking right now (the CAD is multi-colored just to make designing it easier - they'll be laser-cut raw aluminum and stainless steel on the final one). To try to keep the cost down I'm trying to do the stand/frame entirely with laser-cut metal and 80/20-type extrusions, and trying to avoid any tapped holes or CNC work. The PCB (currently not modelled) would probably mount on the back of the 80/20 members (and possibly also on the bottom panel if I split up the PCB into modules).

280346-0
280348-1

I'm also doing some work on the PCB right now. The main questions right now with the PCB are:

  • Modular PCB or single PCB? I can either put all the components soldered-down on a single integrated PCB (which would be the cheapest), or spending about $10 more to use a socketed Pro Micro-style MCU board and a StepStick-style stepper motor driver module, with the load cell amplifier/ADC on a separate custom board next to the load cell. I'm leaning towards doing a modular design and have done some preliminary design with it, as this can allow for upgrades in the future, and allow for user-replacement of damaged components (e.g. if the USB port breaks off or if the stepper motor driver burns out, though the latter is unlikely in this application).
  • Which MCU? My current one runs on an Arduino Nano clone, but the clones often use sketchy, possibly counterfeit MCUs, and the real ones are overpriced (you can get a Pro Micro for the same cost). The other candidates are a USB-C 32u4 Pro Micro (e.g. the Sparkfun Qwiic Pro Micro), or the Adafruit RP2040 Feather. I'm ruling out any micro-USB based boards (e.g. Teensy) as micro-USB ports are fragile and easily ripped off. The choice of MCU also strongly impacts how the software is written. I'm currently leaning towards trying out the Adafruit RP2040, as it is quite powerful, and us one of the cheapest MCU boards with a USB-C port. If I decided against doing a modular PCB, an Atmega32u4 is the most likely candidate.

After I finish the PCB design I intend to order the PCBs and test the electronics with my current force curve meter (which uses the same load cell and linear table), and start working on the software, which will probably take a couple of months. After that's done I'll order and test the stand, and possibly build some extra ones to send out to people  for testing and feedback.
« Last Edit: Sat, 05 February 2022, 16:59:20 by Pylon »

Offline catamscott

  • Posts: 276
  • Location: Oregon
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #12 on: Sat, 25 December 2021, 16:25:10 »
awesome update! I for one would also vote for a modular pcb for the same reasons you listed

Offline Thockologist

  • Formerly PoorlyDrawnKeebs
  • Posts: 12
  • Location: New South Wales, Australia
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #13 on: Sat, 01 January 2022, 21:06:56 »
The latter will be  trickier to do cross platform (and I'm also not a software developer), but there's probably ways to do it with packaging Python scripts into an application.

If it's written in Python it should work no matter what OS it's on aside from a couple of standard libraries not playing nice (iirc) and possible font differences. Pretty sure Tkinter is one of the more commonly used GUI libraries but I've not really delved into building UIs in Python. For testing you could just have it run from the command line and use the arguments of the file for whatever input you need to run it, this will still work if you pack it into an exe file for windows too. For outputting the graphs in Python Matplotlib would probably be the easiest way to go about it.

Offline lush_bunny

  • Posts: 754
  • Location: Philippines
  • TBR Prime | 7V | BOCC
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #14 on: Sat, 01 January 2022, 23:45:54 »
GIB

Offline befbef

  • Posts: 149
  • Location: Germany
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #15 on: Thu, 06 January 2022, 19:38:47 »
 :thumb: I will definitely buy this thing.

Offline derpturtle

  • Posts: 41
  • Location: California
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #16 on: Thu, 06 January 2022, 20:23:49 »
This is an awesome project. Keep up the good work!

Offline Pylon

  • Thread Starter
  • Posts: 851
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #17 on: Sat, 15 January 2022, 18:16:52 »
Thanks everyone!

Prototype PCBs have been designed and ordered. I ended up deciding to continue with the modular approach, using a Adafruit RP2040 microcontroller and a StepStick-style stepper motor driver (commonly found on 3D printers). End user will have to solder on a number of through-hole parts (connectors, ESD diodes, etc.)

(not all parts shown)
281228-0
281230-1

The files are open source and available on Github.

I'll be working on the software over the next few months, and testing the PCB with my current force curve meter. I'll order the parts for the stand once I have the electricals and software working to some extent.  Come to think of it I should also come up with a name for this project.

Offline svenge

  • Posts: 46
  • Location: Buffalo, NY
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #18 on: Wed, 19 January 2022, 23:43:42 »
Wow this is awesome.  I tried googling for a springrater a while back and they are crazy expensive.  This would really crack open the Frankenswitch / lube wars to the next level.  Hard to argue with a good force curve.  Count me in.

Offline Frugivore

  • Posts: 37
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #19 on: Tue, 15 February 2022, 09:54:44 »
Can't wait for this! The more diversification of high-quality testing in the community and the movement away from manufacturers being the only ones to have testing equipment the better.

Offline fractalsauce

  • Posts: 1
Re: [IC] An Affordable Force Curve Meter Kit for MX switches
« Reply #20 on: Wed, 18 May 2022, 21:35:19 »
I just registered an account here to say that I'm most definitely interested in this! Already filled out the IC Form. Just started my journey into the custom keyboard hobby/rabbit hole about a month ago and this seems right up my alley and I'd love to test my own switches and frankenswitches  :D