DIY G25 shifter interface with H-pattern, sequential and handbrake modes
20 20

211 posts in this topic

2 hours ago, Jonathan Kang said:

Just asking: Can I use a serial to USB adapter for g29 shifter? Will it work? I just want to use the shifter as a handbrake, as I own a Thrustmaster wheel and shifter.

Thanks in advance.

No, although the connector is a SUBD 9 it is not a RS232 interface. 

Share this post


Link to post
Share on other sites

 

Hello everyone, I have a g29 with his shifter and I have a handbrake made by me with a potentiometer and arduino for pc, but to play in the playstation I would like to leave the third and fourth gear for the sequential change, and in the remaining gears wanted to put the handbrake with a switch and other switches for various options. Does anyone know how I can do it?

IMG_20190702_181841.jpg

IMG_20190702_181819__01.jpg

IMG_20190702_181808.jpg

Share this post


Link to post
Share on other sites
On 4/22/2014 at 9:40 AM, pascalh said:

A few weeks ago my son switched from his old G25 wheel/shifter combo to a brand new Thrustmaster TX + F1 addon wheel. In the process he lost the G25 shifter that he used mainly for Nascar and MX5 racing. To get a working shifter, there were several choices:

We chose the latter option to have the best possible control on the gear shifting logic: the stock G25 shifting logic is somewhat buggy, leading to quite frequent mis-shifts. Having full control of the software also allows adding some new functions: a handbrake mode seems the most obvious as the G25 shifter has all the necessary hardware.

In the following posts I will explain all the steps required to build a G25 shifter to USB interface, based on a Teensy 2.0 board. This writeup is split into 5 chapters, each chapter being one post:

Hey Pascalh, can you re-upload the images, they are unavailable now. Thanks!

Share this post


Link to post
Share on other sites

Hello 

I have a probleme with error :

C:\Users\nicol\Desktop\G27_shifter_en1 (8)\G27_shifter_en1\G27_shifter_en1.ino: In function 'void setup()':
G27_shifter_en1:110:12: error: 'class Joystick_' has no member named 'useManualSend'
   Joystick.useManualSend(true);        // Joystick output is synchronized
            ^~~~~~~~~~~~~
G27_shifter_en1:116:12: error: 'class Joystick_' has no member named 'X'
   Joystick.X(0);
            ^
G27_shifter_en1:117:12: error: 'class Joystick_' has no member named 'Y'
   Joystick.Y(0);
            ^
G27_shifter_en1:118:12: error: 'class Joystick_' has no member named 'Z'
   Joystick.Z(0);
            ^
G27_shifter_en1:119:12: error: 'class Joystick_' has no member named 'Zrotate'
   Joystick.Zrotate(0);
            ^~~~~~~
G27_shifter_en1:120:12: error: 'class Joystick_' has no member named 'sliderLeft'
   Joystick.sliderLeft(0);
            ^~~~~~~~~~
G27_shifter_en1:121:12: error: 'class Joystick_' has no member named 'sliderRight'
   Joystick.sliderRight(0);
            ^~~~~~~~~~~
C:\Users\nicol\Desktop\G27_shifter_en1 (8)\G27_shifter_en1\G27_shifter_en1.ino: In function 'void loop()':
G27_shifter_en1:160:16: error: 'class Joystick_' has no member named 'X'
       Joystick.X(0);
                ^
G27_shifter_en1:165:16: error: 'class Joystick_' has no member named 'X'
       Joystick.X(0);
                ^
G27_shifter_en1:196:16: error: 'class Joystick_' has no member named 'X'
       Joystick.X(0);
                ^
G27_shifter_en1:228:16: error: 'class Joystick_' has no member named 'X'
       Joystick.X(y);                   // Set handbrake analog output
                ^
G27_shifter_en1:236:12: error: 'class Joystick_' has no member named 'button'
   Joystick.button(1, LOW);
            ^~~~~~
G27_shifter_en1:237:12: error: 'class Joystick_' has no member named 'button'
   Joystick.button(2, LOW);
            ^~~~~~
G27_shifter_en1:238:12: error: 'class Joystick_' has no member named 'button'
   Joystick.button(3, LOW);
            ^~~~~~
G27_shifter_en1:239:12: error: 'class Joystick_' has no member named 'button'
   Joystick.button(4, LOW);
            ^~~~~~
G27_shifter_en1:240:12: error: 'class Joystick_' has no member named 'button'
   Joystick.button(5, LOW);
            ^~~~~~
G27_shifter_en1:241:12: error: 'class Joystick_' has no member named 'button'
   Joystick.button(6, LOW);
            ^~~~~~
G27_shifter_en1:244:23: error: 'class Joystick_' has no member named 'button'
   if(gear>0) Joystick.button(gear, HIGH);
                       ^~~~~~
G27_shifter_en1:247:36: error: 'class Joystick_' has no member named 'button'
   for(int i=0; i<16; i++) Joystick.button(7+i, b);
                                    ^~~~~~
G27_shifter_en1:250:12: error: 'class Joystick_' has no member named 'send_now'
   Joystick.send_now();
            ^~~~~~~~
exit status 1
'class Joystick_' has no member named 'useManualSend'

 

Somebody can help ? 

 

Share this post


Link to post
Share on other sites

Wow! What a cool mod. Too bad most of the pictures got deleted, but I still managed to pull it of. I had a G25 shifter laying around for years. My G25 wheel died a long time ago and the shifter didn't get much use while the wheel was alive. I decided to order myself a new wheel and wanted to use the shifter somehow. So glad I found this thread. Done everything according to instructions. Used Teensyduino 1.53 and Arduino IDE 1.8.13. Worked almost perfectly. Had a few minor problems-

*All inputs in joy.cpl were flashing in sync with the light on the Teensy board. Deleted the code for LED flashing and that solved the problem. Best guess - led is on pin 11 and that is the same pin where ground is, probably those two factors are connected together somehow.

*Potentiometer readings were way different on my shifter. Fixed by calibrating as described in the manual.

*Author made a small mistake. Press 3 rightmost red buttons to enter handbrake mod and 3 leftmost buttons to exit handbrake mode. (Such a genius idea, I wonder why Logitech didn't make that handbrake mode, considering all the hardware is there.)

*Handbrake was also way of. Same calibration as with the shifter.

I will add a few pictures of how I wired it all and the code that is currently on my Teensy. I used color coded wires, they are the same color as in the shifter. (Maybe that will help someone)

I also want to try adding a few buttons to the mix. Want to make a shifter for trucking with range splitter and stuff. Don't know much about coding though, everything else is not a problem (3d printer to the rescue!). Should be simple but what do I know, right? :D

Any help or tips would be GREATLY appreciated. :)

 

GINORMOUS respect to the author. Too bad he don't visit no more.

Everything is so precisely described that even people with little experience with such things are able to do it. And still works, after so many years! I was really surprised it actually worked.

20210306_023735.jpg

20210306_023744.jpg

20210306_023756.jpg

TeensyG25toUSB.ino

687474703.jpg

Edited by Moosey

Share this post


Link to post
Share on other sites
On 1/28/2021 at 6:48 PM, nico73 said:

Hello 

I have a probleme with error :

............................................
 ...........................................

Somebody can help ? 

 

Make sure you select those options in Arduino IDE.

2.png

1.png

Edited by Moosey

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
20 20