Jump to content

Honey, I developed FFB joystick (DIY)


Recommended Posts

  • Replies 199
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

https://github.com/o-devices/bldc-ffb-joystick-base   

Finally, it is time to introduce my FFB joystick prototype! I spent a lot of time and learned a lot of new stuff when work on it. So here what is already implemented:   - Works as standard USB FFB de

Hi.  There is small review of how it works but in russian language only. May be eventually @MaksimSaveliev will make an english version too   I can post plans but I do not hav

7 minutes ago, finch said:

what laser cutter do you have?

Sorry, didn't cut it myself. I found a company in my city which did the laser cutting. I also considered printing them myself with carbon filament, but i took the "quicker" road 😉


Edited by RealDCSpilot
  • Like 2

i9 10920X @4.8GHz, X299X HEDT mainboard, RTX3090 OC, quad channel 64 GB RAM @3600, Valve Index, HOTAS & Rudder: all Virpil with FFB base mod (G940), DCS: all modules

Link to post
Share on other sites

Wow! 😮 A full size FFB-stick is on my bucket list for things to do in life.

 

I wonder, are all information / software / STLs complete? So if I press "stop" on the internetbutton and work with the info I have, is it possible to do this on my own? Is there a parts list?

  • Like 1
Link to post
Share on other sites

ezgif-2-308dbaed3be5.gif

 

Please, never ever press "stop" on the internetbutton.
Parts lists and information is all there: https://github.com/o-devices/bldc-ffb-joystick-base
https://github.com/Flashgod-VR/G940-Total-Conversion-Kit

  • Like 1

i9 10920X @4.8GHz, X299X HEDT mainboard, RTX3090 OC, quad channel 64 GB RAM @3600, Valve Index, HOTAS & Rudder: all Virpil with FFB base mod (G940), DCS: all modules

Link to post
Share on other sites
49 minutes ago, Alan Fistwood said:

@propeler Will your firmware-board be able to use the sensors integrated into the hoverboard motor?

No. It is not enoug resolution for precise control of motor using integrated hall sensors. Hall sensors works good when motor rotates at sertain speed, but for FFB purpose motor is almost static in most cases, where hall sensors are useless.

Link to post
Share on other sites

My progress so far, I scratched the previous design for now, because just in hardware and motors the price is over the 200€ mark, checked on my local marketplace and since used overboards sell for just 50€ I can get two motors for cheap, and by direct driving I can also save on belt and pulley, so I am working on this gimbal wich is similar to the original g940 but upscaled a lot, overal way simpler, still a long way to go before it's printable

Overboard Column v2.png

section.PNG


Edited by Alan Fistwood
Link to post
Share on other sites
On 4/24/2021 at 7:45 PM, walmis said:

Did a force test on my machine. Currently I get ~5kg @ 18-20A motor current, motor dissipates around 60 Watts at that current. (Motor phase resistance is around 0.135ohm)

 

 

 

 

 

 

Quite impressive what that little thing can pull. And a massive thumbs up for pulling something like this off.

 

Ich had a look at your GitHub but it seems "only" the schematics and a lib are available atm. Do you plan on releasing the source code as well as the step files to actually build the complete joystick hardware?

 

Also you use one controller per motor, meaning two STM32 control two motors so only one axis per STM32. How do you make one device out of it that gets recognized as a single joytsick?

Link to post
Share on other sites

 

Quote

Also you use one controller per motor, meaning two STM32 control two motors so only one axis per STM32. How do you make one device out of it that gets recognized as a single joytsick?

There are actually 3 controllers, 1 is the "master" which talks to the motor controllers, does USB stuff and does the effect calculations and so on. 

 

11 hours ago, Donglr said:

Do you plan on releasing the source code as well as the step files to actually build the complete joystick hardware?

Yeah, I'm planning to put the firmware and project also on github eventually, I'm just want to "mature" it a bit, so everything works correctly.

Link to post
Share on other sites
Posted (edited)

 

On 5/4/2021 at 8:25 AM, walmis said:

Yeah, I'm planning to put the firmware and project also on github eventually, I'm just want to "mature" it a bit, so everything works correctly.


I have been working on the firmware for ATMega32UX devices (such as the Arduino Micro or Leonardo) in this repo: https://github.com/jmriego/Fino/

 

Most of the code online about force feedback firmware seem to have been based on the VNWheel repo so I'm sure you can reuse some of my code. I have tested every single effect and have all of them working as expected. I compared the results against a MS FFB2 for all effects, directions, axis, etc. so I hope this helps!


Edited by Chuls
  • Like 1
  • Thanks 1
Link to post
Share on other sites
  • 2 weeks later...
17 minutes ago, robjos1 said:

Hi, Just wondering how you were getting on with the 2 axis code? I'm keen to try it out, I've noticed the single axis code is down too?

I have a version of finished firmware and UI for it already sent to the guy who owns device. He will test it when returns from business trip and I will post it with instructions how to flesh it and how to connect encoders. For now it supports custom board. If tests will perform OK i will make a version for ODrive as well in couple of days.  If you are interested I can send you this version of firmware. Doy you have ODrive or board from link which I posted on github?

 

Link to post
Share on other sites

Ah cool, yea so I have a standard 2 channel Odrive V3.6 56V and a number of different bldc motors to try. Would be great to get some code to test, does it work odrive native or do you need to run a arduino pro micro with the code in between?

Link to post
Share on other sites
17 hours ago, robjos1 said:

Ah cool, yea so I have a standard 2 channel Odrive V3.6 56V and a number of different bldc motors to try. Would be great to get some code to test, does it work odrive native or do you need to run a arduino pro micro with the code in between?

Ok. I can prepare version ODrive. Encoders? Now it is for SPI AS5048 and similar. It is native code, no other peripheral needed. ODrive will be recognized as FFB joystick in Windows.

  • Like 1
Link to post
Share on other sites
  • 2 weeks later...

Hello there! I'm in the process of building my own FFB joystick using hoverboard motors, an ODrive and off the shelf/home-tool modified parts.

 

The "prototype" (likely also end product!) is currently being assembled and built - I'm looking at an MDF box with 2 live hoverboard motors, and two (currently) disconnected motors (it's actually cheaper to buy broken hoverboards than bearings, and driving another two motors requires an additional ODrive unit an what I can only imagine would be a fairly decent amount of work to get them talking to each other - and the PC, as one unit, controlling 4 motors set on two axes), a gimbal built from aluminium 3D printer shaft clamps (SK16), a car propshaft/steering universal joint spider, and some carbon fibre and aluminium tubing and aluminium block/plate.

 

I have a (very) small lathe, small milling machine/drill, bench sander and disc cutter, so the tools I'm using aren't crazily unobtainable, but I do have a little garage workshop setup.

 

I'll post some photos once I have something that isn't just a pile of random bits, but my main question/request goes to propeler - could I possibly also have a copy of the firmware you're using for the ODrive?

 

I'm looking at using the TLE5012 encoders - I'm not sure if that's the same or significantly different to the ones you're already using?

 

  • Like 2
Link to post
Share on other sites

Hi Propeler, could you share the ODrive firmware with me as well, please? I've got a current ODrive with AS5048s and the motors you specified. Still waiting for cut/bent parts to arrive, but the plan is to build your gimbal as drawn!

  • Like 1
Link to post
Share on other sites
On 5/19/2021 at 5:16 PM, propeler said:

Ok. I can prepare version ODrive. Encoders? Now it is for SPI AS5048 and similar. It is native code, no other peripheral needed. ODrive will be recognized as FFB joystick in Windows.

Just wondering too how you were getting on, my single axis test bench is all ready to go

  • Like 1
Link to post
Share on other sites
Posted (edited)
16 hours ago, robjos1 said:

Just wondering too how you were getting on, my single axis test bench is all ready to go

If you have single axis, there are good news for you 🙂 In scope of building FFB wheel there  version of firmware available already. 

First one is for ODrive and incremental encoder pair. It can be downloaded from here https://megafile.cc/d/P9or/odrive-ffb-wheel-20210530

 

In archive there is two folders. One with firmware aand one with UI for changing settings.

 

First connect components as on diagram:

incremental.jpg.614067eed5ac52b21784be5c

 

Second - upload hex file from firmware folder to ODrive (for example I use STM32CubeProgrammer). After rebooting ODrive there will be new joystic device visible in system. Start UI program from ui folder and you will see window with default settings:

image.png.b1da8d82c47ce9146f7f2e5dee911f

 

You need to press Wright to controller to save them. Then go to Advanced tab:

 

image.png.b549ad112961b3afb9bcb1851dbfa8

 

Enter your encoder CPR and press Save button. Thats all. After rebooting ODrive will be functional as FFB wheel. 

On every start it will be performing short calibration sequence, so allow it to rotate freely. Pressing button will work as a trim, and makes current position as the center.

 

My current task is to finish version for my custom board with magnetic encoders. There are some wierd issues I'm trying to debug and fix. Two axis ODrive with incremental encoders will be in work after it.

IMG_20210609_101800.jpg.dabe7e14785e82e1

 


Edited by propeler
  • Like 2
  • Thanks 2
Link to post
Share on other sites

Thanks so much for all the great info, so though I'm just testing one motor at the moment I have the standard 2 channel odrive (3.6 56V) Just to check will your firmware work with this?

Link to post
Share on other sites
×
×
  • Create New...