DIY FFB Yoke (wip)

Hi all,
i’ve started to ceate my own FFB Yoke and it’s in an very advanced state but not finished and not perfect. I’ve decided to share all my work on Thingiverse and GitHub hope for some help to finish.
It’s mostly working but still with issues, see my GitHub page for more Info.

https://github.com/gagagu/Arduino_FFB_Yoke
https://www.thingiverse.com/thing:5401069

Here are some pictures:




4 Likes

How are those 775 motors? I notice you’re using a lower gear ration than mine. Are they strong enough to create realistic force?
I hope to give your code a test drive with my rudder pedals. Doing some “Honey-do” stuff for the next week or so. So it won’t be till after next week when I get to try it out.

it is surely a personal feeling how strong the Motors are but for me the Motor are sometimes too strong so i have reduced the PWM speed from 254 to 150 (see code Arduino.ino line #define max_roll_pwm_speed 150). And sometimes the Motors are so strong that the Motorgears are slipping on ther Motorshaft. I have to design an better soludion for holding the gear on the Motorshaft. May be i can use an RC Propeller Adapter for it.

As i described on my GitHub page (here) sometime the Yoke goes into full pitch up and runs hardly to the end position and it’s very hard to push it back. In this stage the Motors have full power and blocked by end position so they will overheat by time or the Motor shaft will spin inside the motor gear. I have some solutions in mind for it but i have to make some tests first.
My plan is to make a kind of calibration routine. The Yoke drives slowly to every end position and save it. When he knows where the end positions are then he can reduce the Motor power a small space before reaching it.

Why that pwm as constant?

Set some potentiometer to read different values :slight_smile:

Yes, that’s surely an option but atm. i will fix the main problems. End Position and Motorgear hold.

Thx for your reply.

1 Like

I’ve looked at the code and am even more at a loss.
What motor controller are you running the motors with?
There are 3 ino files in the folder. Which one is being compiled and uploaded to the Arduino?
I don’t see how the force and direction data is being read from SimConnect. Mine just uses wind direction and speed taken straight from SimConnect with no intermediate software, but I don’t have the spring and friction inputs.
I’d really like to try this with my rudder but need to gain a better understanding of how it works.

Have you seen this as an alternative the XPForce?
AirForce Player | DirectInput Manager
It displays several of the SimConnect variables. It’s free and can be turned on and off regardless of the state of MSFS.

So many questions :slight_smile:
Many of them will be answered in my readme here and in my Wiki here.

Ok, i’ve been using BTS7960 Motor drivers for the 775DC Motors with a 24V Power Supply. You can also use 12V and i would start testing with it.
You need all Codefiles in the main Directory and alls files from the src Directory. You have to put it into a Directory called “Arduino_FFB_Yoke”, this is very important because Arduino Studio will give out an Error-Message when the Directory Name ist different.
The "Arduino_FFB_Yoke.ino is the main File. Here are the main definitions and main routines for the Joystick. With “#define DEBUG” jou active the serial output for viewing the variables with the “Serial Plotter” from Tools Menu.

The line

Joystick_ Joystick(
    JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK,
    19, 2, // Button Count, Hat Switch Count
    true, true, false, // X, Y, Z
    false, false, false, // Rx, Ry, Rz
    true, true); // rudder, throttle

is the Joystick definition, what Type of Joystick, how many Axes, how many Buttons,…
Important in this case is also the JOYSTICK_DEFAULT_REPORT_ID, it defines the Name of the USB Joystick and the ID. This is important when you want to use more than one Arduino Joystick. See my ready (Important Info section) in my Readme in the main directory.

The “joystick.ino” contains the Joystick setup and effect calculations. It’s not created by me it’s from the Fino GitHub Project. The Config.h (Header File) also. In this files you can adjust the effects but iT#s not easy to understand, for me, too.

The “Arduino.ino” is the interface file between the Arduino Hardware and the Joystick. Main main content is created by me. It defines the Pin states adn sets the PWM Timers to 31.25 kHZ speed. It Reads the Poti positions, calculates the PWM speeds and drives the motors.
It also ready the button states by a Multiplexer but it’s not finished yet. I’m waiting for a tactile 5 way swich to finish the CadetYoke and it will takes some weeks to deliver.

I will check the AirForce Player hopefully this weekend. thx for it.

Where are you from? I’m from Germany and see that you replies always in the middle of the night so i guess you are in an complete different timezone? :slight_smile:

I’m thinking about to create an Dicord channel on my Server so we can make a better communication about this project if you and the other Interrests want?

Hi all,
i’ve create a Discord channel for this project and you are welcome to join: https://discord.gg/btbg4JRz

Hi, i’ve tested the AirForce Player and i love it. Great Tool thx for it.

Are you using this with your FFB yoke? The sidewinder based yoke.

Hi all. Thats the status:
I have some trouble with the gears. Then the force is too hight and the motor stops because of pulling against it than the motorshaft will rotate inside the gear and melt the plastic.

I will deisgn new Motorgears with an Aluminium hitch from RC Flight Model inside. This should work.

That’s a shame. Hopefully you’ll get it sorted.
How well does your software work?

Hi, this is hard to say because I haven’t been able to test it much. Sometimes the forces are very high and the axes moves hard to the end positions. At this point the motors stops and after time they will get hot and melting the motorgear. I’ve added some end switches and when the axes will reaches the end positions the motors will be cut off. This seems to work very well. Than i’ve include the power and electronics into the test system so i’ve been able to put it on my flight “table” for further testings.
In the first view the software seems to work well but sometime have hard forces. By holding the yoke in position by my hands the motorgear has melted on the motorshaft, again. My new idea ist to use propeller holder from rc plane to hold the gear. Hopefully it will work. If not i have to change to belts and my design fails…hopefully not.

What i’m missing is, when i will move the ingame yoke my real yoke will not move but i don’t know if its correct behavior.

I have to make more further tests but i can say the Software is on a good way and it give the impression that it could work.

some new pictures:




Hi, I’ve tested my new motorgears and they seems to works perfectly. I honly have some issues with the forces but this will be an adjustment of the effect settings and finetuning at all.
I’ve made a small video which shows the new motorgears in work while flying
https://youtu.be/QJRdzPXO4O4

Hi all,
after some codechanges the FFB Yoke works much better. I’ve made a new Video here

Additionally i’ve been working on a new schematic with some additional Potentiometers for adjust the settings and LED’s for the automatic Potentiometer calibration i’ve included.

It steps forward… slowly… but … forward

greetings

hey Gagagu, hi all.
I am designing a motorized 737 yoke and I am very interested in your work. I tried several times to compile your code but I always have problems either with xpforce or with the compilation. Could you if possible make us a video on the compilation on arduino and the configuration on computer please, it would be really very nice of you
Thanks

Hi,
first make sure that the directory-name of the folder where the Arduino_FFB_Yoke.ino is located is named “Arduino_FFB_Yoke”. This is very important!

You will get some warning while compiling but it should compile successfully at the end.

I will make new videos to show how everything is working, code upload and more as soon as possible but i was very sick in the last weeks. I’m now healthy again but many things are left undone and now have to be done.

You are welcome (and all others, too) to join my Discord: Discord
Greetings

Thank you for this answer, sorry to hear that you were sick and happy that you are better. Your work is amazing, I will be looking forward to this video. My problem and then the fact that when the code is compiled on the arduino, when I run xpforce it does not respond:/. In short I will join the discord as soon as I have access to my computer.
UTD : the discord link doesn’t work :confused:
Have a good evening

Hi,
the discord link was expired. I’ve generated a new one: Gagagu Gaming

Take a look into the reference directory of my code. With ForceTest.exe and fedit.exe you can test the yoke. Have you see the Important Info section on the main page of my github page? GitHub - gagagu/Arduino_FFB_Yoke: Flightsim FFB Yoke with Arduino

Which Arduino are you using? Only Arduino Leonardo and i guess Micro are supported.

Greetings