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).
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.