Jump to content

Open Source Joystick FFB / DIY FFB Joystick


Recommended Posts

Hi,

 

I'm mostly flying helicopters (Mi8 and Huey).

Currently I own a Warthog and use it for that, but I'm not completely happy with it.

One of the reasons is that it has friction problems and precision suffers, which for the small movements you need in a copter is a killer.

There are workarounds, both in SW and HW (longer stick, lubrication etc.), but I'm still not happy, because …

 

what I really would like to have is a FFB joystick, so I can have a proper force trim.

Now there aren't really any FFB joysticks on the market, so you either have to get a really old one (like the Sidewinders) or live without (possible, but would prefer to have it).

 

Now my other sim hobby is sim-racing (mostly Assetto Corsa, but many other games in the past).

During the last 2.5 years, the guys at virtualracing.org and others achieved something really great: They managed to build a proper direct-drive DIY wheel, which is called the OSW (Open Source Wheel).

With the MMos board, there is a FFB implementation.

Soon, I will get one myself, and if it lives up to the expectation, it will be awesome.

 

Now I got thinking: Maybe we could achieve the same for flight sims?

A DIY FFB Joystick (call it OSJ or whatever you want).

It might even be possible to reuse some of the parts of the OSW.

e.g. the FFB controller might be useful:

https://granitedevices.com/simucube-simulator-force-feedback-controller/

 

It might be possible to use servos for the effects. Then the servo drive could be used:

https://granitedevices.com/miniature-servo-drive-ioni/

It would also be possible to use stepper motors.

 

Of course there would be differences, currently the FFB implementation (the firmware and software) is dedicated to wheels, I don't know if it can be used for a 2-axis joystick, but I heard that an open source FFB solution (the MMos solution is closed source) is being worked on.

Modifying that should be possible.

Also in contrast to the OSW, you would need to servos and the requirements for the servos would be much different.

IMO, it would be lower requirements, though.

For a direct drive wheel, you need really precise, but powerful servos, which are hugely expensive (although most use a 250€ Mige servo).

For a FFB joystick, much smaller servos would be needed.

 

Let me know what you would think about such a project.

 

Edit:

Link to the OSW page (it's a bit outdated, though):

http://opensimwheel.wikidot.com/


Edited by Berniyh
Adapted title ;)
  • Like 3
Link to comment
Share on other sites

  • Replies 419
  • Created
  • Last Reply

Top Posters In This Topic

Hi Berniyh!

I'd rather buy a FFB stick than building my own but since there is nothing out there I could throw my cash at, it might be the only possibility. Currently I'm using my G940 but I'm not too happy with the precision and it has too much centerplay.

While I don't think I could contribute much to this project, I will follow closely!

Rock 'n' Roll!

 

Henning

Link to comment
Share on other sites

I think PeterP built some FF pedals a few years ago. There were also some FF sticks, if I remember correctly. Might learn more with a search. Good luck, it is an interesting project and I'd like to see it work.

Hm, I've seen quite a few builds of sticks, but haven't seen a FFB one, will search for that.

But I think the open system approach would be the right way.

For the wheels, direct drive was only available for the very expensive systems (we're talking >2000€ here) 3 years ago.

With the OSW and also the Accuforce, you can now buy a direct drive wheel for 1000€ or a bit above.

 

@Dustoff74: I will at least spend some time researching which forces would be required (both for short sticks as well as long sticks in the range of 50-60cm) and what motors/servos could be used.

 

I think precision is the most important aspect here. Those motors don't have to be super strong, in my opinion.

 

I thought a bit about this topic for the last few days and I think the tricky bit is due to the 2 axis that have to be considered.

A single, rotating axis like on a wheel makes things much much easier, but then FFB on a wheel is likely much more complicated.

Connecting both axis to motors/servos, at best directly without creating slackness, could be demanding.

Link to comment
Share on other sites

Hi

I am also very also interested in building an FFB Stick.

I have built an Hotas, so I have some experience with that.

My build is based on an Atmel ATMega32U4 that is compatible with the Teensy series. Using the Lufa library makes Joystick building quit easy.

 

For using this with FFB I was thinking of using DC Motors with H-Bridge a DWM from the Controller. Got the Descriptor and all running. But I Keep failing on the Timings when it comes to the different force-sets.

 

The most difficult part will be the combination of force-sets. The old Microsoft stick could handle 7 sets in combination (spring load, sin, square...).

 

Greetings

MetalGear_Honk

 

P.S.: sorry for my bad English

The threemost dangerous threads to Programmers:

  • Fresh air
  • Bright sun light
  • The horrifying screams of singingbirds

Link to comment
Share on other sites

Unfortunately, the hardware is the easy part.

 

The OSW is good, I have had one for a couple of years. It's impressive what the hardware does with the mmos firmware.

 

The hard part for the joystick is actually making the software. I don't know of any open source projects that tackle it.

 

I know some people have listened in on the usb bus to something like a sidewinder to get the descriptor used and gone from there to try and implement the rest of it.

 

Sounds like MetalGear is on the right approach but it can take time to get it all going.

Link to comment
Share on other sites

Hi,

 

I wrote this on SimHQ, but since here is the right place, I put it here as well:

 

"I think the best what can be done is to use the simulator`s output data about speed and AoA and translate these into force load on all three controll axis. I know it is possible with DCS, FSX or X-plane but I am not sure about CloD or IL2.

 

This is the method what is used by the Simshaker software which translates the sourced data into transducer FX or what is used by the BFF Simulation controll loader system.

http://bffsimulation.com/FFB-yoke-1.php

 

The later one supports FSX, X-plane and maybe DCS in the future.

 

Support from software developers side can`t be expected until there is a widely used standard like it was the directinput FFB which is not really accessible anymore due to the high royalty fees.

 

Anyway if someone with the right software and electronics skills wants to go ahead with this one, I am more than happy to help with the mechanics, mechatronics.

[sIGPIC][/sIGPIC]



KG13 Control Grip Building

Control Stick and Rudder Design



 

i7 8700K, Asus Z370-E, 1080 Ti, 32Gb RAM, EVO960 500Gb, Oculus CV1

Link to comment
Share on other sites

Hi

FFB is part of the USB Protocol. So it is basically always supported. The only Problem is that there is no SDK for implementing it in the Software (Sim).

As far as I know FFB is supported by many Flight Sims.

DCS, BOS, ROF, FSX have it for sure.

The main Problem is that there is no FFB Stick in Production any more.

That makes the demand for Support very low. So the Support will die if there are no more Sticks around.

For my try on a Stick it is recognized by Windows as a FFB Device and can be used with the DirectX Force Feedback Test Tool. (Or in Games for that matter). But the Communication will Freeze sometime after any Effect is set on the Device.

 

Greating

MetalGear_Honk

The threemost dangerous threads to Programmers:

  • Fresh air
  • Bright sun light
  • The horrifying screams of singingbirds

Link to comment
Share on other sites

The hard part for the joystick is actually making the software. I don't know of any open source projects that tackle it.

I've read that Granite Device are working on an open source FFB firmware which should be released within the next few months.

If you take the IONICube controller board with two cards, shouldn't that be enough to get the software-side of things?

Link to comment
Share on other sites

Hi

The SimuCube is for FFB Wheels.

Wheels have only two directions where Force is applied to.

A Joystick has 2 Axis. Given that the Direction value in the PID is only one Byte. That makes 254 possible directions. So we have to calculate the Force that goes to what Motor and multiply it with the Force that should be applied.

Of course we have to do that for all active Effects and take all Effect directions and Forces into account.

 

Greatings

MetalGear_Honk

The threemost dangerous threads to Programmers:

  • Fresh air
  • Bright sun light
  • The horrifying screams of singingbirds

Link to comment
Share on other sites

I'm not sure, but I think the game does that for you.

 

The Simucube won't work, as it can use mulitple axis, but only one servo drive.

Thus, only one FFB axis would be supported.

 

With IONICube, you could drive up to 4 motors, but 2 would be sufficient.

In the game you would assign the 2 axis, just like you do now for your joystick.

Controller-vice, they can be totally separated, it shouldn't really matter.

 

Of course, it might be that some adaptions to the FW of the servo drive would be required, but since the FFB protocol is standardized, I doubt that too much work would have to be done.

The only thing that would definitely require adaptions is that you have to be able to set up 2 axis in the Gravity or firmware, but for that I'd wait how the open source FW looks like, maybe they already implemented that.

With MMos, it won't work, that's pretty clear.

Link to comment
Share on other sites

I like the granite devices stuff but it is not the cheapest. For a joystick you are looking at ~$400usd for the ioni motherboard and two ioni drives.

 

On top of that will be your servo's, controller board like a TI disco that OSW uses. The firmware that granite are looking to do will run on the simucube using the microcontroller that is onboard, not the firmware on the ioni drives.

 

FFB is supposed to be a standard but it is not well documented, doesnt work as expected in places and can be trial and error. A number of people have got it going so it's not impossible! Just not a walk in the park either :)

 

In some ways, taking the game telemetry and using the forces it tells you is the easiest way to go but then you are likely to miss out on a lot of effects. For example, you are unlikely to feel good cannon fire this way, as the game may not output information to do this through the stick force. Through FFB it would have been an effect.

 

Would probably work OK for 747 etc though.

Link to comment
Share on other sites

I like the granite devices stuff but it is not the cheapest. For a joystick you are looking at ~$400usd for the ioni motherboard and two ioni drives.

 

On top of that will be your servo's, controller board like a TI disco that OSW uses. The firmware that granite are looking to do will run on the simucube using the microcontroller that is onboard, not the firmware on the ioni drives.

 

FFB is supposed to be a standard but it is not well documented, doesnt work as expected in places and can be trial and error. A number of people have got it going so it's not impossible! Just not a walk in the park either :)

 

In some ways, taking the game telemetry and using the forces it tells you is the easiest way to go but then you are likely to miss out on a lot of effects. For example, you are unlikely to feel good cannon fire this way, as the game may not output information to do this through the stick force. Through FFB it would have been an effect.

 

Would probably work OK for 747 etc though.

 

Andre`s Simshaker sw uses the telemetry of the game, and still able to deliver effects for stall, landing gears, weapons ect... It is actually much better than an on-off effect. The stall warning is for example builds up gradiently with the increase of AoA.

[sIGPIC][/sIGPIC]



KG13 Control Grip Building

Control Stick and Rudder Design



 

i7 8700K, Asus Z370-E, 1080 Ti, 32Gb RAM, EVO960 500Gb, Oculus CV1

Link to comment
Share on other sites

Hi

The FFB will enable you to use Heli Trim and out of Center Spring loads.

I don’t think it can be archived without FFB.

For the Electrical part:

Most Old FFB Joysticks uses DC Motors. To drive those you need only an H-Bridge the l298n is a Double H-Bridge so we can use it for both axis.

For using Steppers we would need at last 2 H-Bridges for every Motor.

But it would be better to use a Stepper Driver for higher precision.

Using Servos as in RC-Servo no special parts are needed as a PWM Signal for the Position will be enough. But strong servos will be expensive

For the Software:

A working Descriptor can be found at the DecentBB Forum or in the FFB-Adapter.

It is very long for it contains every Effect an all Settings for the effects.

Using a Teensy (or ATMEGA32u4) will give us enough Pins to drive the Motors and getting all the Fancy Buttons/Axis we want. I think an Arduino will be possible as well, but it is more complicated because we cannot write to the communication chip directly. (I have done it before).

So I think it can be archived without paying hundreds of Euros.

I will happily chare my source code if someone can help finding out what is not working.

@Metalnwood

Can you link to someone who has done an DIY FFB Joystick?

I am not aware of any successful Project.

Greatings

MetalGear_Honk

The threemost dangerous threads to Programmers:

  • Fresh air
  • Bright sun light
  • The horrifying screams of singingbirds

Link to comment
Share on other sites

  • 2 weeks later...

@MetalGear_Honk

Great! I've been looking into FFB and have to agree there are not many projects around. I'd like to participate in development; I'm a bit low on available time, but have done professional work with AVR cores and other related things, and played around with USB HID, so I believe I could help. Do you have the code available on some repository?

BR,

Link to comment
Share on other sites

Hi

i have some source mostly stolen/ lend from other projects. or from old stuff i made. it is written in AVR Studio 7.1 and i tested it with the STK600 so i don't have an wireing. i can send you a mail if you are willing to help.

 

as i sad constructor and IO is working for some Degree. but i think i have some timing issius.

 

Greatings

MetalGear_Honk

The threemost dangerous threads to Programmers:

  • Fresh air
  • Bright sun light
  • The horrifying screams of singingbirds

Link to comment
Share on other sites

Any such FFB project would no doubt fall under the gaze of Immersions lawyers and to license the technology is extremely expensive which is one reason why CH never made a USB Force FX stick to replace the gameport version they did. The open sim wheel scene may also fall foul of their patents, its not happened yet but surely only a matter of time. There has already been a few comments passed by a hardware developer in the private iRacing forums in a thread about the OSW project along the lines of "well I'm doing things right and licensing the technology while you guys are not".

Link to comment
Share on other sites

Any such FFB project would no doubt fall under the gaze of Immersions lawyers and to license the technology is extremely expensive which is one reason why CH never made a USB Force FX stick to replace the gameport version they did. The open sim wheel scene may also fall foul of their patents, its not happened yet but surely only a matter of time. There has already been a few comments passed by a hardware developer in the private iRacing forums in a thread about the OSW project along the lines of "well I'm doing things right and licensing the technology while you guys are not".

As far as I can tell the only thing they have a copyright on is the chip they use to create a rumble effect. All we want are motors to drive an axis to a given position and force loading.

Link to comment
Share on other sites

  • 2 weeks later...

Hi

Revvin is right about the Licenses of Immersions.

But as far as i know that all the License violations only occur when we are talking about commercial products. As Long as it is only and pure "do it for yourself and not selling it" there should be nothing to worry about.

But that is only my opinion might be wrong.

 

greatings

MetalGear_Honk

The threemost dangerous threads to Programmers:

  • Fresh air
  • Bright sun light
  • The horrifying screams of singingbirds

Link to comment
Share on other sites

US patent laws prohibit even replicating for personal usage, EU laws allow it. Or vice versa I don't remember.

 

But I don't think any of it should concern you because as stated above, the patented is the game pad shaker. Nothing at all to do with a 2-axis servo driven force loading system.

 

Anyway, if anyone wants to get into ffb firmware and electronics, I will provide backup in the mechanical department, anything needed to be built to test it, I'll do it...

Link to comment
Share on other sites

Hm, I've seen quite a few builds of sticks, but haven't seen a FFB one, will search for that.

But I think the open system approach would be the right way.

 

Here is the thread about the PeterP's frankenstick. https://forums.eagle.ru/showthread.php?p=1366037#post1366037 The idea is that there is two MSFFB2 sticks linked mechanically to each other so they provide double the force to support a longer stick. I have also made this DIY FFB stick and in addition I have doubled the power of both MSFFB2 modules so now I have four times the power which unfortunately is still not enough to feel the trim forces when the stick is at center.

 

I too have been dreaming of a OSW style system for flightsticks. Though I think that directdrive is not the way to go. Directdrive servo motors are quite heavy, big and expensive. In my dreams I would like to build a real size stick which would have even nearly real life forces (like forces met in P-51 for example). I think that best way to achieve that would be to use for example windshield wiper motor with a proper gearing or belt drive. In a flightstick it is not very important to have very rapid and accurate changes which on the other hand is important in racing games which supports the idea of directdrive there.

 

I can build simple mechanics and solder but the software stuff is way beyond my skills. Those of you who understand something about it have you stumbled upon vJoy? vJoy added force feedback support to its drivers about a year ago so I think using vJoy would be one way of getting the FF data out of the game and via vJoy it could be sent to the controller. http://vjoystick.sourceforge.net/site/

 

I am also worried about the FFB support possibly dying away from flightsims as there is no more commercial sticks made. At the moment DCS FFB support is quite okay but it is not great. There would be so much more potential in FFB than what is in use now. For example in Su27 we could have the stick pusher function modelled like it works in the real aircraft. You'd feel the additional force kick in but if needed you could still pull through the pusher to get the kill. Or in the warbirds we could have a similar system as racing sims now have the soft lock to simulate the reduced control movement in high speeds flight. Well, I'm getting a bit ahead of myself but I think a lot of really cool things would be possible if proper FFB sticks would show up even if those were DIY sticks.

Link to comment
Share on other sites

Here is the thread about the PeterP's frankenstick. https://forums.eagle.ru/showthread.php?p=1366037#post1366037 The idea is that there is two MSFFB2 sticks linked mechanically to each other so they provide double the force to support a longer stick. I have also made this DIY FFB stick and in addition I have doubled the power of both MSFFB2 modules so now I have four times the power which unfortunately is still not enough to feel the trim forces when the stick is at center.

 

I too have been dreaming of a OSW style system for flightsticks. Though I think that directdrive is not the way to go. Directdrive servo motors are quite heavy, big and expensive. In my dreams I would like to build a real size stick which would have even nearly real life forces (like forces met in P-51 for example). I think that best way to achieve that would be to use for example windshield wiper motor with a proper gearing or belt drive. In a flightstick it is not very important to have very rapid and accurate changes which on the other hand is important in racing games which supports the idea of directdrive there.

 

I can build simple mechanics and solder but the software stuff is way beyond my skills. Those of you who understand something about it have you stumbled upon vJoy? vJoy added force feedback support to its drivers about a year ago so I think using vJoy would be one way of getting the FF data out of the game and via vJoy it could be sent to the controller. http://vjoystick.sourceforge.net/site/

 

I am also worried about the FFB support possibly dying away from flightsims as there is no more commercial sticks made. At the moment DCS FFB support is quite okay but it is not great. There would be so much more potential in FFB than what is in use now. For example in Su27 we could have the stick pusher function modelled like it works in the real aircraft. You'd feel the additional force kick in but if needed you could still pull through the pusher to get the kill. Or in the warbirds we could have a similar system as racing sims now have the soft lock to simulate the reduced control movement in high speeds flight. Well, I'm getting a bit ahead of myself but I think a lot of really cool things would be possible if proper FFB sticks would show up even if those were DIY sticks.

I do have a question about the FFB2's that I haven't yet found the answer to: can you use a silver trigger version with the red trigger version on one of these builds?

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...