Jump to content

Open Source Joystick FFB / DIY FFB Joystick


Recommended Posts

Hi Crow

The CD4021BSC works with 3V to 15V so itwill work on the Due

I have used quite a lot of these. So Iknow they are really robust.

Lately I switched to 74hc595 for smallersize and more Speed in reading.

For the Hall sensors I was thinking aboutusing an ADS1115.

It is a small ADC with 16 bit and can beread over I2C so we are free to use whatever Analog Input we can find Pot,Hall, linear Pot...

For the Arduino IDE I am not sure if itcan be used for the FFB as it slows the code a lot. (And I am programming in AtmelStudio for a Long time)

Maybe someone with more experience inArduino can help here?

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

  • Replies 419
  • Created
  • Last Reply

Top Posters In This Topic

@ MetalGear Honk

cheers for sorting the post mate. I didn't have anything in my out_box except the very first message. Don't know why.

 

@ everybody

Hey all

I wanted to share simple diagram I drew just to make sure we're all at the same page. Please let me know if you spot any flaws in this concept.

 

Regards Jay

Diagram_01.thumb.jpg.6b5db6aba2cdb7bb8504252e3208809e.jpg


Edited by VR FlightSim
Link to comment
Share on other sites

Hi

For your Diagram:

The Software is optional.

And between the Due and the pots will be aADS1115

Or the pots will be replaced with 3dHallsensor both use I2C connection.

The rest will hopefully run as you Showit.

 

At the Moment the Due is a Pro Micro I7tavEvSRQCKYZJmXKBZYujSE3eoKLhWSQSM2yE2HHhAgMGLmx8EQGkSrBBAUigsGLjxw8MMl7cEAFDAwlYgxwMCMACIYuWG0a24GhCQIAwSNAMqUikghFcQYEAADs=

I don't own a Due, so all programming isdone for the Micro until i have a Due and the Equipment to work with it.

 

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 know it will work without the software but in my opinion it is important for two reasons.

 

1. easy to preset and save individual parameters for different aircraft and sims.

2. Trim control of the physical axes. This would be essential for good force feedback device.

 

Did you have any kind of trim in your code already?

 

Hall sensors are great, just not sure how they gonna cope with magnetic fields from DC motors though.

 

Regards Jay

Link to comment
Share on other sites

Sorry, I'm Ignoramus.

Is there necessity of using ADS1115?

I thought below.

 

user

 

loop(){

IC_name_read(uint16_t* x, uint16_t* y); (example ADS1115_Read

Button_read(uint32_t* Button);

HID_Task(x,y,button);

FFB_Task(x,y);

}

 

if we could select any sensor(include OS FFBS recommended), it is comfortable.

user only should write code to convert sensor value to 16bit unsigned, it is same works.

 

74HC595 has function of convert serial input to parallel output. isn't it?

CD4021BC converts parallel input to serial output.

is there compatibility?

**I'm considering variable CLK timing(Freq) for supporting low speed shift register via Arduino IDE or Source Code.

**and pinout compatible. button assign is determined by connection shift register and SW. all of "Button Read" PCB is same.

 

BTW, in my opinion, our job of "Stick" isn't required.

there are good stick in the world, HOTAS, VKB(upcoming F-14A&B Stick!!!), virpil.

so, I'm aiming to make compatible(signal, pinout, stick mount).

off course, it isn't problem making default stick.

 

I thought that the software is second stage of OS FFB.

how to get info about kind of aircraft?

1.Simulator Script - output info of weight? size?

2.GUI_Control_app.exe - collect info and calculate parameter

3.COM PORT - send OS FFBS

4.OS FFBS - calculate motor drive

is this correct?

 

OS FFBS: Open Source ForceFeedBack Stick

 

P.S Did you find any DC Motor Shield?


Edited by crow0827
Link to comment
Share on other sites

if you don't have a soft ware how is the arduino programed to deal with the FFB communication with the computer?

 

Hi

For your Diagram:

The Software is optional.

And between the Due and the pots will be aADS1115

Or the pots will be replaced with 3dHallsensor both use I2C connection.

The rest will hopefully run as you Showit.

 

At the Moment the Due is a Pro Micro I7tavEvSRQCKYZJmXKBZYujSE3eoKLhWSQSM2yE2HHhAgMGLmx8EQGkSrBBAUigsGLjxw8MMl7cEAFDAwlYgxwMCMACIYuWG0a24GhCQIAwSNAMqUikghFcQYEAADs=

I don't own a Due, so all programming isdone for the Micro until i have a Due and the Equipment to work with it.

 

MetalGear_Honk

https://www.shapeways.com/shops/a-10c-warthog-supplies

https://forum.dcs.world/topic/133818-deadmans-cockpit-base-plans/#comment-133824

CNCs and Laser engravers are great but they can't do squat with out a precise set of plans.

Link to comment
Share on other sites

Hi

"VR Flightsim" is right. The OpenSource Force Feedback Joystick will Show up as a Native FFB Joystick. So all FlightSims that Support FFB will send effects direct to the stick. No other Softwareis needed.

The optional software "VRFligtSim" is talking about can alter the Effects from the sim to Changethem as you feel them right.

To put all back into one Post:

The OSFFB Stick will be a native HID FFB(Windows Standard Driver)

So no Additional Software is needed.

It will have Two FFB axes for the stickitself.

6 additional axes for free use (maybeThrottle, Pedals or Mixture)

32 Buttons

2 4way Hats.

The two FFB axes will be 16bit Input inany way.

This needs to be fix as We Need TheseInputs to calculate the Force Effects/positions.

I have set the other 6 axes to 16bit aswell. But it is possible to use the DUE's ADC and bit shift it to 16bit.

I am using shift register in my otherSticks to reduce the amount of Wire needed to run throe the Gimbal. So I willadd these as well.

(For 4021be and 74HC595 are basically thesame the 4021 is outdated)

I have used an H-Bridge for the Motors sothat we can use a wide range of Motors and Motor Drivers. I think the ones usedfor 2DOF Seats are a bit over power but will work as well (given the correctDriver)

I think Servo or Stepper Motors will be tooexpensive.

That is what I am trying to mainlyArchive.

So the actual Status is that we have aworking Code for a Pro Micro.

But it is missing some Effects I am still workingon math to get the Sinus effect right.

I am testing on a SDK600 which is notcompatible with a Due so I need to get a new testbed.

Also there is no working Open Source Gimbalthat is capable of supporting two Motors. (for testing a 3D Printed Versionwould be great, so changing parts is faster and cheaper) for the finisheddesign a Metal Version would be better to get a flour mounted Version stableenough.

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

Hi

This Gimbal is the same Principal as I usein my last Stick.

As well as it is in the VKG Versions.

It is a wonderful solution for spring-loadedSticks.

But it is not (or not good) for FFB.

The inner Bearings is not static and itwould be necessary to move the Motor around.

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

Hi.

Today, I tested simple auto throttle.(but A-10C...)

 

sorry... my desk is not clean.

 

It is not USB HID/PID but via export.lua.

I guess it is possible to make Auto Throttle Function with HID and Serial Comm.

procedure

1.sense throttle position.(argument No.9 for A-10C Right Throttle

2.sense auto throttle engaged(I didn't use this

 

I'm looking for how to disengage A/T with moving the throttle by pilot.

 

I hope this helps our project.

"sometime", our OSFFB gets compatible with axis which isn't supported by game.

 

BTW, I ordered Arduino Due.

I want to know which motor driver is good.

I don't have any knowledge about motor, driver. any advise is helpful.


Edited by crow0827
Link to comment
Share on other sites

Hello every boy ! And amazing work crow0827 !

 

Help is asked ..i am waiting to plug my FF2 gimball and motors + potentiometers + l298 controler on the arduino pro mini to test the code ..

 

After recieving the arduino pro mini + fdti basic breakout , solded together , plugged recognized ..ok.

 

-. Hex (from metalgear monk ) is uploaded in the arduino pro mini with Xloader that tels me every thing has been uploaded.

 

And now...

 

Stupid question but what have i to do now to see this device recocgnized as a basic force feedback joystick in the usb game controler manager ?

 

In the JOYSTICK_Test folder are many files + driver and i don t know what to do ...

 

Other thing :my FDTI appears in device manager as a USB serial port(COM4) but not as an arduino ..

 

If somepne can just give me the differents step to do this as i have no experience in HID , PID etc ..

 

Thx

Link to comment
Share on other sites

Hi

@ VR FlightSim:

The Motor shield you are showing shouldwork if get the connections right.

The Pins are for a Uno Board so you needto wire it up manually.

For the rest it is a Dual H-Bridge likethe one I mentioned bevor.

For the effects itself: the sim tells theJoystick which effects with which Parameters to use and when/how Long.

There is a fixed set of effects defined inthe HID-PID Protocol

That is used by all existing FFB Sticks/Wheels/Jokes

That said there is a Special definedeffect called "custom effect" as far as I know it is not supported byany device or Sim.

@jpdesvals

You cannot use XLoader for uploading youNeed a Programmer (Hardware) as it needs to override the Bootloader. I made aStep by step to explain how to do it. But be Aware you can kill your Pro Microthat way.

This Project is NOT for someone withoutMicrocontroller knowledge. (At last not at this stage)

@Deadman

It is still WIP.

I have a Controller that is recognized asUSB-FFB Joystick. And I can move Motors according to effects send fromGames/Test Programs.

Now I need to add a gimbal and fine tunethe Effects.

@Crow

Nice.

If you use a custom Servo you can read thePosition of your Throttle and compare it to the Position it should have. Addinga small delay for the mechanic and you know when to send the Signal to disengage.

MetalGeear_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 found (maybe will help some of you) the most simple gimbal that could be used in FFB joystick. Even it is under a patent I do think that can be done for home use. Easy for 3D print as well.

The source is here: http://www.google.com/patents/US7061466

US07061466-20060613-D00000.thumb.png.6d9500fba08ce044f2765d356d4233f6.png


Edited by Abburo

Romanian Community for DCS World

HW Specs: AMD 7900X, 64GB RAM, RTX 4090, HOTAS Virpil, MFG, CLS-E, custom

Link to comment
Share on other sites

Hi

I know of this one. smile.gif

I already tried to rebuild it but I haveProblems to get the "Moving" Parts right.

When I understand it correctly the cross64b can slide inside the Arms 62b

If someone can provide some better plans Iwill try it again.

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

@MetalGear Honk

 

You "made " a step by step or you "will "cause i have red this thread many time and didn t found it ..if i did miss it can you give me the link please ? my sidewinder force feedback 2 gimball with its motors is wayting for a test flight :lol:

 

Apparently what i managed to do is to upload your .HEX and then goback to a basic blink arduino scetch so ..my arduino is still alive ;)

 

For shure it is a little more difficult than plug , upload and play ..but with a good dummy tutorial .. yes we can !

 

JP

Link to comment
Share on other sites

Hi. Thank you for reading my reply.

It is not difficult, just using DCS-BIOS and output servo.

I received assurance that we can make A/T throttle.

because of impossible to use DCS-BIOS and USB-HID at the same time.

I'll try to make "own" program for identify what aircraft is active and info is required, and output to arduino.

it is proceeded in parallel with studying USB HID-PID. busy…

 

thanks Metal, Christian , Jay.

Based on your advise, I considered what is good for another FFB.

If possible to use Servo and EM Cluch, It is perfect. (I don't have mechanical knowledge.)

 

now, I found this motor.

http://www.futaba.co.jp/en/dbps_data/_material_/radicon_eng/Robot/RS303MR_RS304MD_EN_112.pdf

It is TTL Communication Servo. and there are example of usage for Arduino.

http://www.futaba.co.jp/img/uploads/files/robot/Futaba_Sample_Arduino_RS30x_Program_rev2.pdf

sorry it is written in Japanese. if you have any question about manual. please contact me.

 

I don't know that it is available for world-wide. but it's not expensive (in Japan), I want to test if it's useful for our OSFFB ( and my A/T FFB.

 

good day! :)

 

P.S. I found a video about test of the motor

it looks good.


Edited by crow0827
Link to comment
Share on other sites

  • Recently Browsing   0 members

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