Jump to content

DirectX adapter for Brunner FFB Joystick ready


Recommended Posts

Just editing this message so that if anyone is curious about the current state they are not confused with all the comments in this thread.

Currently this is working perfectly in games such as IL-2 and DCS which seems to be the most popular usage for this program.
This is an alternative to be used when either:

  • your sim is not supported by CLS2Sim (such as IL-2)
  • the support in CLS2Sim does not include everything the developer of the sim added (for example in DCS there are modules that have much better stall support, trimming, etc)

There's no need to do any kind of DIY like soldering or configuring things in Python or anything like that. All the forth and back you can see in the threads was before I figured out all of this. This is plug and play but it requires buying an Arduino Micro (also tested with some clones).

The program and instructions are in the repo page: https://github.com/jmriego/brunnerdx

 

OLD MESSAGE:

Hi all!

 

I have spent loads of time trying to find a FFB joystick to replace my aging MS FFB2 and found the Brunner CLS-E base. Sadly, it doesn't have DirectX support... until now!

 

The solution I found requires an Arduino Micro that would act as a FFB DirectX joystick but will send all the forces to the Brunner base and will read back the position of the Joystick using their API.

I don't have a Brunner base yet but I'll save and try to get one soon. The way I have tested this is by creating a Python script that acts as the Brunner base and plots the forces received on real time and sends the joystick position back to Arduino.

I think this is ready, but I'd love some help testing it. It only requires an Arduino Micro, and an Ethernet module connected to it (I'm using W5100 but I think W5500 is also fine).

This is the repo: https://github.com/jmriego/brunnerdx

Does anyone has a Brunner base and would be willing to help me testing this?


Edited by Chuls
update with the current status
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

The link is broken, but you're probably better off doing it in software using vJoy, rather than requiring a separate micro-controller. I started some preliminary work on it here:

 

https://github.com/danieltian/cls-ffb

 

but I returned my Brunner base due to some issues I had with the over-temp/over-current prevention logic, so I'm no longer working on it.

Link to comment
Share on other sites

Sorry, I had the repo as private. Just made it public.

The reason why I went with a micro-controller is that I have investigated a lot of how vJoy works and I was not able to make it work with more than one effect simultaneously. From what I found online it's just a limitation of vJoy but it might be that I didn't use the right version or missed something else I had to do.

 

This version already works with all effects being supported except custom effects (never found a game that uses them though).

I know it's annoying to have to use an Arduino, but you don't even need to do soldering if you use cable jumpers, so for me it's fine. I understand it's not the best though.

 

Such a shame you had to return it! Do you know if newer bases have the same issue? Were you using it with a extension?


Edited by Chuls
Link to comment
Share on other sites

Yes, the "no more than one effect" at a time is a bug in vJoy. I reported it to the author but they weren't interested in fixing it, mostly because they hadn't touched that code in a long time.

 

Practically speaking though, no game I've tried uses more than two effects at once: a centering force and a periodic effect. The data for the various effects are unique enough that you can differentiate between most of them simply by checking for the existence of certain properties in the FFB data that vJoy sends, so while the effect bank will always be 1, you can tell them apart through their properties and layer the effects by hand. While I was still working on the app, I put together these two videos showing what that looks like, notice how the data for the centering and periodic effects are very different:

 

QwuLX8X1UMU

 

T12sFU0W5KM

 

I see that you posted in the HOTAS Discord, I posted some info about my issue with the Brunner base here:

 

https://discord.com/channels/4386883...03903190859780

 

I was using it with a Warthog stick without extension. The over-temp/over-current protection acts like a stamina bar; the more you use the FFB and the stronger the force, the quicker it depletes, and it takes some time for it to recover. It made the base unusable for me because the "stamina" would run out and the protection would kick in at the most inopportune times, making me lose control of the aircraft due to the sudden change in force. I don't know if it still happens because the company seems to arbitrarily release new firmware depending on individual customer's needs.


Edited by Ranma13
Link to comment
Share on other sites

Thanks! that makes sense now.

My plan is to get a Virpil grip so maybe that would be less heavy and cause less stress to the motors. I'll try to find out if they have improved that anyway but your description really makes that clear

Link to comment
Share on other sites

My plan is to get a Virpil grip so maybe that would be less heavy and cause less stress to the motors.

 

The TM Warthog grip is stupidly heavy - I have a complete cyclic assembly from a Lynx helicopter and complete with all the wiring, wiring plugs, cyclic stick and the grip itself the entire assembly still weighs significantly less than my TM grip.

 

I am fitting the cyclic to my Brunner base, I don't have any concerns about the overload protection.

 

---------------------------------------------------------

PC specs:- Intel 386DX, 2mb memory, onboard graphics, 14" 640x480 monitor

Modules owned:- Bachem Natter, Cessna 150, Project Pluto, Sopwith Snipe

Link to comment
Share on other sites

That is crazy. I definitely didn't expect that much difference! Definitely not getting the TM grip then. I really think they shouldn't be advertising the base as compatible with the TM grip or at least have some kind of disclaimer. This is definitely not a cheap product

Link to comment
Share on other sites

That is crazy. I definitely didn't expect that much difference! Definitely not getting the TM grip then. I really think they shouldn't be advertising the base as compatible with the TM grip or at least have some kind of disclaimer. This is definitely not a cheap product

 

Well I never ran into too many issues with the Warthog grip - without an extension, and bearing in mind I mostly fly ground attack. If you fly BFM ( turn left and pull, then pull harder :D ) and prefer high stick forces then you will see the protection kicking in.

The TM F-18 replica grip is lighter, but it's still made from some sort of monkey metal that manages to combine poor strength with high weight.

 

Many people ( most ? ) don't use the base with combat flight sims - so just for flying a Cessna or an Airbus around then a TM grip will be fine, you'll never see the protection limits.

 

The protection issue isn't exactly overstated by Brunner though. I did a lot of research before I bought the base and never got the message that it could hit the limit in normal use. I suppose theres the definition of normal to consider....

---------------------------------------------------------

PC specs:- Intel 386DX, 2mb memory, onboard graphics, 14" 640x480 monitor

Modules owned:- Bachem Natter, Cessna 150, Project Pluto, Sopwith Snipe

Link to comment
Share on other sites

I've had a Brunner base for a long time (had to do the post-production mod to get it to work with newer TM compatible grips, I think 1.5-2 years now). Anyway, I'd love to help, as I've tried using their FFB plugin with DCS many times, and I've never truly been happy with it. I've always ended up reverting to hardware trim (which is still miles better than a standard centering joystick).

 

Problem is, I don't have an Arduino micro.

 

i9 12900k @ 4.9ghz, 32gb RAM

Nvidia RTX 3090

Windows 11 x64

Valve Index

Brunner CLS-E w/RS F16GRH, Virpil TCS Rotor Plus Collective, BRD F1 Pedals, WH Throttle, FSSB R3 w/WH Grip, PointCTRL v1

Link to comment
Share on other sites

Thanks @heloguy !

Don't worry about that, I can PM you and I'll try going in more detail about it. Does DCS support FFB natively? (I mean, with something like the MS FFB2 or the G940 joysticks)

 

Yes it does, but for the MS FFB2 you have to swap the ffb axis but else there is native ffb support with most modules.

Specs:WIN10, I7-4790K, ASUS RANGER VII, 16GB G.Skill DDR3, GEFORCE 1080, NVME SSD, SSD, VIRPIL T-50 THROTTLE, K-51 COLLECTIVE, MS FFB2 (CH COMBATSTICK MOD), MFG CROSSWINDS, JETPAD, RIFT S

Modules:A10C, AH-64D, AJS-37, AV8B, BF109K4, CA, F/A18C, F14, F5EII, F86F, FC3, FW190A8, FW190D9, KA50, L39, M2000C, MI8TV2, MI24P, MIG15BIS, MIG19P, MIG21BIS, MIRAGE F1, P51D, SA342, SPITFIRE, UH1H, NORMANDY, PERSIAN GULF, CHANNEL, SYRIA
 
Thrustmaster TWCS Afterburner Detent
https://forums.eagle.ru/showthread.php?t=223776
 
My Frankenwinder ffb2 stick
Link to comment
Share on other sites

  • 3 months later...

good news! I got the adapter working. The link is here: https://github.com/jmriego/brunnerdx

 

I ditched my initial method that required an Ethernet adapter. This still requires an Arduino Micro that when you flash it with this sketch it will make it act as a Force Feedback Joystick.

 

There's also a script that you need to run (brunnerdx.py) that forwards all force effects received to the Brunner base. I got it working perfectly with IL-2 CoD and this is just so cool

I still need to work on the damper and inertia effects. Also at the moment no button presses are generated but that's not necessary for most games as you can read the button presses from the Brunner base instead

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

I have the Brunner CLS, and find the application in DCS limited to a joystick with arm effects. Consequently am interested in this approach, however I am not a technician. To make it simple I understand that you get the Arduino Micro and connect that to the PC USB. How do you interface the Arduino Micro to the joystick. 

 

If it would be possible to create an "idiots" guide to help out I would appreciate it

PC: 9980XE @ 64GB RAM /2080Ti, Samsung C49RG90

Joystick bases: VKB GFIII, FSSB R3L, Brunner CLS-E, Virpil Mongoos CM2

Joystick grips: Realsimulator (F-18CGRH, F-16SGRH-CE), VKB (MCG Pro, F-14, KG-12), Virpil Warbrd

Throttles: Virpil CM2, Kantorrin,

Other: TrackIR, TM MFDx2 (Cubesim Screenx2), Virpil Control Panel 1

Link to comment
Share on other sites

no problem! I was just finishing writing better instructions. They should now be clearer https://github.com/jmriego/brunnerdx

 

So the way this works is that the Arduino Micro connected to the PC by USB appears as a Force Feedback joystick. This is really just a fake joystick and you need a program running and telling it what your real joystick (the Brunner) is doing and what forces you want to send to it.

So DCS will believe the Arduino is a force feedback joystick and all the communication will be forwarded to the Brunner. I put all links and instructions there but let me know if anything is not clear. I'll be happy to hear how the effects are in DCS!

Link to comment
Share on other sites

I have orderd the Arduino Micro - hopefully will arrive in a couple of days and then on to the next step for "idiots". If I have any issues, which I am sure I will based on my abilities, I would like to message direcxt

PC: 9980XE @ 64GB RAM /2080Ti, Samsung C49RG90

Joystick bases: VKB GFIII, FSSB R3L, Brunner CLS-E, Virpil Mongoos CM2

Joystick grips: Realsimulator (F-18CGRH, F-16SGRH-CE), VKB (MCG Pro, F-14, KG-12), Virpil Warbrd

Throttles: Virpil CM2, Kantorrin,

Other: TrackIR, TM MFDx2 (Cubesim Screenx2), Virpil Control Panel 1

Link to comment
Share on other sites

Out of desperation to replace my modified, but still perfectly working MSFFB2 I have been contemplating the Brunner for a while, I just can't fly without the FFB stick properly.

I do find it rather ludicrous than the TM Stick handle can bring a £1000+ device to its knees tho, rather concerning actually !!  Maybe I should just rebuild my MSFFB2 into a new package and the resistor mod after all, at least that doesn't have a stamina slider, and I would be using a lightweight handle in any case ?

Link to comment
Share on other sites

I was in exactly the same position as you and still have my MSFFB2. Those things are definitely made to last!

I haven't had the Brunner long enough but I haven't had any issue with the stamina slider kicking in. It can actually be tiring to use this joystick depending on the settings so I'm happy with the forces so far.
The only thing I don't like is that it's not perfectly centered all the time. The joystick falls down because of its weight and the engines have to push it up just slightly all the time. So it's not stable and I need to set a deadzone. When paying so much for a device I definitely expect it to not need that. It's fine when flying propellers as you are trimming the plane anyway so I can't notice anything, but it's obvious in Elite Dangerous for example when the ship starts turning very slowly for no reason

Link to comment
Share on other sites

 

27 minutes ago, Chuls said:

The only thing I don't like is that it's not perfectly centered all the time. The joystick falls down because of its weight and the engines have to push it up just slightly all the time. So it's not stable and I need to set a deadzone.

I use the RealSimulator F16-RHSG and this is much lighter than the Thrustmaster stick, there is a little hunting for the centre around 1/10th of a mm - but this is not noticeable in any of the games that I use. I also use a 10cm extension to allow for precision. I use the Brunner a lot in Il-2 BOX and also in Prepar3D and never had an issue with thermal protection kicking in

 

Yet to try in a space simulator. Purchased a package for Star Citizen back in 2014 - but have lost a lot of faith in that ever been finished so deleted the installation.

PC: 9980XE @ 64GB RAM /2080Ti, Samsung C49RG90

Joystick bases: VKB GFIII, FSSB R3L, Brunner CLS-E, Virpil Mongoos CM2

Joystick grips: Realsimulator (F-18CGRH, F-16SGRH-CE), VKB (MCG Pro, F-14, KG-12), Virpil Warbrd

Throttles: Virpil CM2, Kantorrin,

Other: TrackIR, TM MFDx2 (Cubesim Screenx2), Virpil Control Panel 1

Link to comment
Share on other sites

I just pulled the trigger on the Brunner CLS-E, and I would like to try using the arduino micro to send FFB effects.

 

@Chuls, other than the arduino, are their any other cables or connecters needed?  (i have never used arduino so im very ignorant)

 

Thanks for youre work on this!

Link to comment
Share on other sites

At step 1 I get an error, uploaded brunnerdx.ino and run the check, the tick mark and get the following error

 

image.png

image.png

PC: 9980XE @ 64GB RAM /2080Ti, Samsung C49RG90

Joystick bases: VKB GFIII, FSSB R3L, Brunner CLS-E, Virpil Mongoos CM2

Joystick grips: Realsimulator (F-18CGRH, F-16SGRH-CE), VKB (MCG Pro, F-14, KG-12), Virpil Warbrd

Throttles: Virpil CM2, Kantorrin,

Other: TrackIR, TM MFDx2 (Cubesim Screenx2), Virpil Control Panel 1

Link to comment
Share on other sites

yes, that's because you have to download all files in that link, not only brunnerdx.ino

 

there are some instructions there explaining how to download everything as a zip but let me know if you have any issues. I sent you a message also

Link to comment
Share on other sites

All installed now thanks to Chuls, walked me through the installation - I have FFB effects 😄.

 

EArly days yet got to do some trail and error on the force feed back setting, but I can confirm that it works in DCS

PC: 9980XE @ 64GB RAM /2080Ti, Samsung C49RG90

Joystick bases: VKB GFIII, FSSB R3L, Brunner CLS-E, Virpil Mongoos CM2

Joystick grips: Realsimulator (F-18CGRH, F-16SGRH-CE), VKB (MCG Pro, F-14, KG-12), Virpil Warbrd

Throttles: Virpil CM2, Kantorrin,

Other: TrackIR, TM MFDx2 (Cubesim Screenx2), Virpil Control Panel 1

Link to comment
Share on other sites

that's great news! just curious, what DCS module are you using?
by the way, I just updated the Arduino code because some shakes were much weaker than they should. If you download the zip file again and compile and upload to the Arduino, you will get better effects

Link to comment
Share on other sites

  • Recently Browsing   0 members

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