OK let's start from the beginning then. It may be trivial or redundant to you but here was my thought process in creating controllers:
- Hardware, never mind, it's done and that's where we can do (I'm mechanical engineer too, so that part is easy)
- The big main issue IMO is getting an interface with window that is easy and usable, so for that it has to feature HID connection (whatever that really is)
- The processor or board has to have all input output needed for the project.
Raspi doesn't have digital input output so much, so it's not great, but it can be coupled with some systems (arduino or others), but that takes over some simplicity it is now a compound system, more headaches.
Teensy is what a lot of people seem to be using and has the right I/O but it's back to C programming. The one you linked (STM32F4) also seems very interesting and perfect but also in C programming as far as I can tell.
Now for you project (FFB) it needs a bit more advanced stuff like motor controllers. so that's one more level of complexity.
Simcube is great, seems all done, I can't find what or how to program it though.
Following the links I found IONI controller
And it seems to connect to all kinds of "brain" (PC, microcontroller, Raspi) but it's a PCI board, so not sure how that works.
and then if I understand it requires "granity' software to configure, another thing to figure out. The interaction is controlled via simplemotion V2 another SDK to learn
Let me explain my view of C programming before people flame. I've done some programming for years, so I don't have a fundamental problem with C programming (or C derivatives). I just don't know C and the syntax is the major problem of learning a new language. C syntax is not obvious, and not very flexible, so I would try to avoid it if at all possible for a more flexible language (easier to tinker with). Like you I don't want to spend a lot of time learning a programming syntax.
- Therefore my next point: relative ease of programming. For that I like node red for sure but it may have limitations I have not yet figured out, and so far that I can tell it may not have all the functionality needed. Any block can be programmed so technically it's possible, but it's now Javascript, another language again. I would keep it in mind as first try for its utter simplicity to use, but it may not work in the end. I've found step motors controllers blocks, and some kind of DC controller, all sensors and reporting is easy.
If node red cannot do it, My next programming effort would be Python or Ruby, more complex, but still not too bad I think. Python seems to be the more accessible with this kind of hardware, but I haven't yet found the whole chain easily implemented.
More specific to your question:
- Raspi is probably plenty powerful, it's basically like a full computer. It can handle all calculations and be programmed in all kind of ways (node-red, python, etc..). The problem is I/O, it has some, but not the one we need for FFB, so drivers need to be found and interfaced, and therein lies the issue I think.
- There are microcontrollers and boards that can do the trick, and are programmable in some form of Python (Micropython, or Circuitpython), but they may not be powerful enough for this application. More research needed.
- STM32 and other boards (teensy, etc..) that have direct motor controllers (simcube) are great in that sense, and seem directly designed for the application, but they all seem to be programmable in C or derivative, so it's just about learning that programming. Although there may be a micropython implementation for STM32 that may be of help.
- Modifying existing FFB solutions, I don't know.
Michael