Serious DFP modding

  • Thread starter Thread starter sesselpupser
  • 14 comments
  • 1,951 views

sesselpupser

Pileated member
Premium
Messages
9,300
United Kingdom
United Kingdom
Messages
neema_t
Hello all,

I just got into a nice little project and thought I'd share it with you all. Long story short, I want to control every button on a DFP's wheel with an Arduino (which is a programmable microcontroller). I could go on about this for quite a while but I'll try and keep it short...

Basically, the 16 buttons on the DFP's wheel (no idea about the DFGT) are controlled by 8 wires. Four wires are connected to four buttons each (hence 16 buttons), the other connection to the button is to a dual diode (so 8 dual diodes), and each pair of dual diodes is connected to the other four wires. This means that if you were to replace the buttons with some form of switch and the dual diodes (which are surface mount and hard to solder with basic equipment) with pairs of normal diodes, you could duplicate the circuit very easily. If you used optocouplers or solid state relays to replace the buttons, you could wire those up to an Arduino (probably via a 595 shift register so you could control 8 with three Arduino pins instead of 8) and then wire up different buttons or switches to the Arduino.

Then you could basically control every button on the DFP with any input you can think of; tilt switches, microphones, clocks, timers, digital compasses... Of course, the accelerator, brake and steering would still be the DFP's, but modifying the first two would be a case of finding out what value the potentiometers are and replacing them. The steering is more complicated and best left alone, really. What this all comes down to is the fact that you could easily* modify a real life car to control GT5. Of course why you'd want to do that to a car is a different story, but personally I'd love to get an otherwise dead rolling chassis (with an interior, or at least a dashboard and pedals) and fit it with a GT5 wheel.

So yeah, I'm going to do this and will post results if anyone is interested.

Is anyone interested?



*may not actually be THAT easy
 
Like this?

bmw_gaming_rig_GH9Ri_12.jpg
 
Sarcasm doesn't travel well through the internet... Are you guys serious?



I've just seen this video of someone who built an F1-style wheel which looks great, but the dials are for show, so what I want to do will improve on it (technically speaking, though, aesthetically... Not so much, probably!). I was going to post a walkthrough here on what I'm doing so far, but I think I'll do an Instructable instead, it's too long to post here.

Hopefully tomorrow I'll have something actually interesting to post, if the parts I ordered show up.
 
Yes, I did subscribe to the thread. I'll be following your progress. :cheers:
 
Well, the good news is that it works, the bad news is I only bought 3 solid state relays to test the theory on. Ordered 7 more today which should arrive tomorrow, along with the right resistors (I need 390 ohm but instead had to use a 330, 47 and 10 ohm in series to get the right resistance)... I have to remember to check these things in future!

I tested it with a breadboard and it works exactly as expected, the signal is received by the input side of the solid state relay and is instantly transmitted to the DFP's buttons. I don't have a lot to show right now, though, just me 'pressing' left, right and X by touching some wires together which isn't all that impressive, but this does pretty much mean that it's definitely possible to make a 'dirtier' version of almost any cockpit or wheel mod you've seen for the DFP. I say 'dirty' because to make a shifter you'd have to slot it into the correct position during the pre-race countdown, then whenever you change the position it would read how many times it needs to shift up or down and act accordingly.

I realised earlier you could even make a shifter with a reverse function; Just instruct the arduino that when the shifter is in the reverse position that it shouldn't do anything, but when you put your foot on the accelerator, it should 'press' reverse. Of course that would be a digital way to do it, but even so, just illustrating the possibilities of this hack. Also I don't think my making skills are really up to the task of making a shifter, especially not one this good, but I might try my hand at it with some wood and acrylic, maybe. I'd love to get some metal custom machined, but that might be overkill and more expensive than just buying a G25 shifter to modify!

 
Just a quick update for you, Villain, to say I've made a handbrake and sequential shifter out of cardboard and microswitches and they are amazing (if a bit poorly constructed and flimsy). I'm going away for a few days so I won't be doing anything until I'm back but I've just got a massive urge to build a cockpit out of 2x4 and acrylic or possibly aluminium... The last thing i made out of wood didn't really turn out that great, though.
 
So now I've moved things on by properly patching in to the DFP, by which I mean I've removed the small white connector inside to leave just the header pins, slipped a stackable (long-pinned) female header on top of that, plugged the original DFP connector on over it so the stackable header's pins go out through the other side of the connector then soldered my wires to that, essentially piggybacking. Then I cut a small hole for the wires (could have routed the wires around the back and through the small 'vents' on the left hand side but couldn't be bothered) just next to the USB cable hole, soldered an 8-pin male header on the other end of the wires and that's that, a breadboard-compatible DFP, and all the original buttons still work.

Next step will be to program the Arduino to do stuff the DFP can't already do, I'm thinking I'll start with a TCS adjust knob. The idea is that when you turn the rotary encoder (the knob), it'll tell the Arduino to press the RA menu button, press up five or six times to get to the top of the menu from wherever it may be, then press left or right depending on how many times you turn the knob. Hopefully the DFP can detect very brief button presses (less than 10 milliseconds), but even if it can't it would be much more useful to have all the required button presses mapped to a single knob instead of a number of presses.

After that I'd like to use a 40110 IC (which basically uses an up and down input to count up and down on a 7-segment display) in conjunction with either a sequential shifter or the existing paddles as a current gear indicator. Then eventually the plan is to build a shifter that could be made compatible with a G25, so it won't be made redundant if I decide to get a G25 (I don't want to spend THAT much), and build a fairly straightforward cockpit. I'm pretty much planning to make it out of wood and bolt some acrylic panels finished with that fake carbon fibre film to it.

Is anyone interested in knowing how to do these mods themselves? I started writing an instructable but kind of realised that most people who were really interested in this would have a better wheel... Of course, the idea behind it can be applied to the better wheels if they work the same way, and I can't see why Logitech would waste time and money developing the pushbuttons on their wheels if what the DFP has will work!
 
Just written a huge post to explain where I am now, but realised it wouldn't really be read, it was huge, so here's the condensed version.

I haven't built anything yet but I have just bought an MX5/Eunos Roadster seat to build a cockpit around. The cockpit will probably be made of wood with acrylic or polycarbonate panels, either black or with faux carbon fibre film (I'm thinking just black, carbon fibre doesn't seem to be a feature of most racing car interiors I've seen). It'll have a handbrake (vertical style), sequential shifter to begin with (easier to make) but it'll be an interchangeable unit so if I do ever make an H-shifter it'll fit right in. Then on the dashboard to the left of the wheel (let's not forget what side of the car I'm used to sitting in, being from the UK) it'll have a panel of switches and buttons to do the following:

- Set TCS, ASM and ABS on or off (basically toggle between 0 and 5, on and off and 0 and 1 respectively) with toggle switches.

- Adjust AWD Tq, Braking F and R with dials.

- Toggle wipers, headlights high/low, program reset (for anything that needs to be reset after a race, such as a current gear indicator) and autopilot (more on that in a second).

It'll also have a small array of LED-backlit signs to show when my headlights are on full or dipped beam (somehow), when my wipers are on, when the handbrake is engaged and the status of TCS, ASM and ABS. These are one of the reasons why I'd need a reset button. Oh, and the gear indicator, which is the only part of the electronics that I've actually made so far.

Then there would be the wheel, and that's where the wheel-mounted shifter paddles, horn, headlight flash, start and select buttons would be. I'm not planning to replace the wheel at the moment but I might if it doesn't work out, at the moment I think it's fine. Not very big, no, but we'll see.

The autopilot mode I mentioned earlier is a cheeky little system which will, when engaged, run the Dream Car Championship in B-Spec over and over and over again. I have made about 6 million in a night with this system, and yes, it's cheating, but given how much time I'll spend making this cockpit I think I deserve to add a little special something!

I think that's all there is to say, really. I'll try to post more concise pieces as and when I complete them instead of leave it for ages and do really long posts. This seat, though, it's bloody comfortable. Maybe I'll just make it seat height and leave it at that.
 
I think you should use a K8776S1 instead of the 40110 IC. It incorporates the full array of Kochler/Heimlen auto phase switching capabilities.
 
I think you should use a K8776S1 instead of the 40110 IC. It incorporates the full array of Kochler/Heimlen auto phase switching capabilities.

That's what I thought, but the 40110 looks bloody sexy.

However, point taken.
 
Very cool!
Too bad I'm 14 and have no idea what the hell you're talking about.
But the parts I did understand sounded awesome!

Make sure you post videos when it's all done. :)
 
Back