The LifeOn2 FFB Wheel Controller

Pax7

LifeOn2 Development
Hello All,

After a number of months of research, planning and implementation I am happy to present the results of my latest project: implementation of a FFB wheel controller.

The controller is built around an ARM 32 bit RISC processor, the Cortex M3. The M3 has a wealth of peripherals, including an USB 2.0 interface, which I have programmed to communicate with a PC host. The Cortex M3 is paired with a base board which has an electric motor drive stage and monitoring capabilities. The drive stage can be controlled via the Cortex M3 to power a variety of motor types, including brushed DC motors (Found in the Logitech, Thrustmaster, Fanatec, Frex and ECCI FFB wheels) as well as brushless servo motors. The drive stage can output 300W, which is more than the Fanatec CSW and I think also the Frex TypeG and ECCI 7000.

My plan has been to use a high performance type servo motor also for this initial FFB controller prototype, but as sourcing of a servo motor with the specifications I wanted has been an issue, I decided to use a brushed DC motor instead. I will drive a proper servo motor going forward.

The status of the project now is that I have a FFB controller capable of driving a brushed DC motor (the FFB) and reading of a rotary encoder for steering wheel position.
I have also worked with a brushless DC motor, which is closer to the type of servo I will use going forward. But, as the BLDC motor has some properties not suitable for FFB application, I use the brushed DC motor instead for now.

I have furthermore implemented USB communication between the FFB controller and the PC, and the FFB controller presents itself to the PC as a FFB device. I have followed the specification from USB-IF on FFB/haptic devices. This means I did not have to implement USB device drivers in Windows, as Windows includes FFB device drivers for USB-IF FFB/haptic devices.

The drawback of using the USB-IF specification is however that the specification and its communication protocol is quite complex and has too many features not used in an FFB simulator steering wheel.

Here is a screenshot of the FFB controller (wheel) attached in Windows 7:

Game_Controllers_Window.jpg


The FFB controller is capable of receiving FFB commands at 1000 Hz, and it can report wheel position to the PC at 500 Hz. I plan to increase that to 1000 Hz too though.

Below is a video I shot earlier tonight of the FFB controller connected to the brushed DC motor and rotary encoder and used as a FFB wheel in iRacing.

As you can see, I have not bothered to attach any gearing and other devices (belts etc) to create a proper wheel, but the important stuff is all there. Gearing and other mechanical stuff are the easy parts... ;)


Some eagle eyed readers might recognize the motor, rotary encoder and bracket - they are taken from a Frex SimWHEEL MkI. I have a broken SimWHEEL standing in the closet, so I thought it could come to some use... ;)

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

In addition to switching to drive a servo motor, I also have other plans which I hope to be able to share/demonstrate the results of going forward.

Thanks,

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

PS. I will share a bonus photo; this is the LifeOn2 Development work place, where most of the more hardware oriented work is done :)

LifeOn2_Development_Workplace_1280.jpg
 
Pax,
That's funny, because I talked about this problem in "load" feeling in iRacing FFB, like almost 2 years ago, and the FFB guys ,David IIRC, basically did't want to hear what I had to say, even I spent 1 week testing with telemetry and stuff, and making a clear document that I send to him, without going "public".
Seems you broke your teeth on that too.
2 month late I was done with iRacing and resiliate, especially rF2 was out with great FFB.
About AC, let's face it, guys with weak FFB wheel need boosted effect, because their wheel just can't simulate the full range of steering shaft torque. Hopefully it will be adjustable with sliders, so guys with high end wheel will be able to disable those boosted effect.
 
Upvote 0
Hi Pax
Can you, at this stage of development, say what target price might me for the controller (basically all the electronics minus motor itself as I can buy that by myself).
I am asking, because I put some money into T500RS upgrades and I have some more plans but maybe I should hold on with my plans and wait for your project to be available. Thanks!

PS. don't hesitate to keep us updated with progress :)
 
Upvote 0
PS. don't hesitate to keep us updated with progress :)

OK! I posted the below, rather meaty update at iRacing just now.

(I will answer your posts ASAP)

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

Hello there FFB-lovers,

Long time no update!

I have been busy with life and actually working on the FFB project rather than posting here, but now it feels like it is time to put a few minutes aside for a project status update:

As I reported in October, my next-gen FFB system is coming to life nicely and I have had a version of it up and running since then; works fine! However, why stop when you can continue(?), so I immediately started to work with planning and execution of the next phase of FFB HW development. This phase (let us call it "phase II") will replace and extend upon the first phase, which I reported on above.

The "phase II" design is significantly more complex than the first phase design, which has resulted in that I had to switch to a more complex HW design and manufacturing method. More complex means e.g. all HW manufacturing steps basically have to be carried out in automated process steps and by specialized machines. This also means HW prototyping becomes significantly more expensive. Because of this I initially spent a lot of time scouring the world for HW manufacturing plants which could do what I wanted conveniently and at an attractive price. I searched in China, Taiwan, UK, rest of EU, the US, even here in Sweden and found a manufacturer in the US that looked very promising. Unfortunately however, only one of the two manufacturing steps was attractively priced there, so I ended up going with one manufacturing step in continental Europe and one literally here in my backyard in Stockholm. This way I also have more detailed control of the manufacturing process.

With manufacturing plants settled I started working with analyzing the more complex HW components comprising the phase II design. Again, critical components are the most powerful and capable available for the purpose in the world. But, this also means complexity! I have spent an unhealthy amount of hours making a giant spread sheet containing information on the critical HW components, including set-up and configuration information for them - all double checked against reference documentation to try to avoid mistakes. This step was _seriously_ patience testing, but to have it done is valuable in the work I do now and in the future.

Next step was to select and analyze each and every other HW component, down to the tiniest resistor. This stuff is also time consuming - if done carefully! Since pictures are nice, let me give you a little snap shot of one type of work done:

One component I selected was sensitive to slight over-voltage on its input pins. Since I still wanted to use this component I needed to make sure voltage was not shooting over the component limit. I did a simple lab test of what application of a voltage step could look like. The below picture shows the result:

cy51r5Q.png


As you can see, there is much ringing before the voltage level settles. This input to the sensitive component above possibly could harm it over time. So, a little filtering would need to be applied. Here is the result of that; nice and tidy!

uzk1Hi0.png


I use a solution similar to this in my phase II HW design.

So, status now is I have done all initial analysis, selected all HW components, constructed or verified all representations of the components to go into the HW design software (this too is time consuming stuff for more complex parts!), completed the HW schematics and come a fair bit on the way in the actual HW physical layout. I have some nasty electrical signal routing still left to do though, plus I will do more to try to further increase signal quality/integrity. There is e.g. a fair bit of high speed signalling going on, so one needs to be serious about this stuff. :S

Below you have a detail shot of a little part of the actual HW physical layout. For ease of viewing, not all info that is there is shown though.

7xDSLx6.png


As you can see in the above shot, I am not quite finished yet; component E2 is floating.

Anyway, all in all I am a good bit on the way of finalizing the phase II HW design so that I can order all components and send it off for manufacturing!

/End of update
 
Upvote 0
Hi Pax
Can you, at this stage of development, say what target price might me for the controller (basically all the electronics minus motor itself as I can buy that by myself).
I am asking, because I put some money into T500RS upgrades and I have some more plans but maybe I should hold on with my plans and wait for your project to be available. Thanks!

PS. don't hesitate to keep us updated with progress :)
Hello Marek,

there are still areas which affect cost which are not decided on, so I cannot say. I still do not focus much on cost though; if I find a component which performs well and is cheap, all is good! If I however find a component which performs clearly better, but is more expensive, I will probably go for the more expensive option - within reason of course.

In conjunction with the SimXperience wheel discussion, I have seen some unrealistic expectations on low price though, and just like in that case they are unrealistic also here.
 
Upvote 0
And, I just posted a short project update over at iRacing:

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

Guys,

just a quick progress report on the FFB HW physical layout work!

Pax7 said:
...I have some nasty electrical signal routing still left to do though...

Right - it turned out "nasty" was an understatement :S

With everything I wanted to cram into this HW, there was just no way I was going to succeed in routing all signals using the PCB manufacturing complexity level I originally intended to use. Not even a computer controlled automated routing algorithm could solve it, so I needed to re-plan some.

After some back-and-forth working with rearranging components on the PCB, it was clear it was not going to help. So, I decided to switch to a more complex PCB type to allow me to finalize the routing, and at a good quality level. In addition to that, I rearranged some in the signals to be routed, which further helped in providing a solution to the issue.

So, now the work is on track again and going forward!

Below is a detail shot from my HW design SW showing a number of signals routed by hand, going to a micro I/O port header. As you can see this is work in progress; SMD pads 23 and onwards are not connected yet.

UkJYDn2.png
 
Upvote 0
...and here is the completed hand routing of the micro I/O port header! (click for bigger)

tPWBV1W.png


What you see in the above shot is about 2/3 of the total port header related routing.
It only took me a few minutes to get that done! :rolleyes:

Sometimes I miss the 10-minutes-of-hacking-and-you're-done stuff... :S
 
Upvote 0
...and HW design and physical layout basically done!

Here is a detail shot of the logo etc. on a board, plus some components.
(Board model number is removed from the pic, for now ;) )

hj1EWwg.png
 
Upvote 0
...and HW design and physical layout basically done!

Here is a detail shot of the logo etc. on a board, plus some components.
(Board model number is removed from the pic, for now ;) )

hj1EWwg.png

Pax now that you´re nearly done what is going exactly to do your board, Will it drive the servo directly? power it? or just an ffb interface between pc and drive? did it need external psu?
 
Upvote 0
3ller, I will answer ASAP!

But now, just a little HW progress update before hitting the sack @ all too late :S

Actual HW production is getting closer; after PCB manufacturer analysis of the design(s) I have spent a few hours the last two nights ironing out some board tolerance issues which needed attention (yes, I am pushing it :) ). There is a lot of stuff related to PCB manufacturing - this time it was issues caused by the exact size of one of the drills used during board production.

Here are two renders of an actual board, as seen from the top. The first is the micro expansion port I posted the HW design SW shot from above. The second render has board name and model number removed.

rcCn39f.png



fvMirdU.png
 
Upvote 0
Pax now that you´re nearly done what is going exactly to do your board, Will it drive the servo directly? power it? or just an ffb interface between pc and drive? did it need external psu?
Hi Pax7
Will 2014 be the year i can get this LifeOn2 ffb Board / wheel or what ever you will be selling ??
Hello there guys,

To keep freedom within the project and to not need to stare at the calendar or at any announced feature list/product spec, I will refrain from answering these questions atm.

I hope you understand,
Thanks!

...and with that said I should have a little update to share in a few days hopefully!
 
Upvote 0
Its completely understandable, its your project after all, you dont need to apologize for it, hope all goes well and you deliver us a great product, and making that posible takes its time. by now i´ve purchased only motor and im waiting to all the different projects development till i make my decision, mizoo, bberger and this one.
 
Upvote 0
Are you still limited to having to use the FFB effects from the company Immersion? They have a monopoly in the industry. I'm not sure if it's the games themselves, or the wheels, but one or the other has to use only the Imersion FFb effects since they have a monopoly in the industry and is probably severly limiting FFB technology, even for standard mainstream wheels.

Since you are building your own privately are you still limited with having to use Immersion FFB?
 
Upvote 0

Latest News

Are you buying car setups?

  • Yes

  • No


Results are only viewable after voting.
Back
Top