Arduino only-based adapter (no PC needed)
Posted: Mon May 06, 2019 6:10 pm
Hey,
First of all, big thanks to matlo creating this great piece of software!
After playing around with GIMX, it works perfectly for my Logitech Driving Force GT (G29 emulated) for F1 2018 on my PS4.
However, it was not very portable to my home TV. I thought a raspberry pi would solve the problem, but too many libusb timeouts
caused my forcefeedback to glitch as force did not reset to normal e.g.
Therefore i would think if it would be possible to make an Arduino only variant using the GIMX code from matlo, and having a working solution.
Perhaps if there is interest, i can tidy up the sources and put them online so anyone can make benefit of it (if matlo agrees).
Ingredients:
- Arduino atmega32u4 board (pro micro/leonardo) 16MHz/5V
- USB Host shield (or another board having a MAX3421E USB to SPI chip)
- Arduino one of the latest version (i am using 1.8.5)
- LUFA for Arduino (https://github.com/Palatis/Arduino-Lufa)
- USB Host shield library by Oleg Mazurov (Circuits@Home)
- GIMX Firmware sources from matlo (https://github.com/matlo/GIMX-firmwares)
- USB HUB (you need two ports, one for the wheel and another for the PS4 controller)
I cloned the G29EMUPS4 files, stripped the UART commands and implemented the USB Host function. I also had to rewrite a Serial class for debugging, as the Arduino stock serial class did not work for me using the LUFA library (it replaces some USB stacks in Arduino, probably also the HW serial port)
Currently working:
- Wheel is working on PS4, all buttons and pedals working
- Authenticate trough genuine controller
- PS4 Detects G29 wheel (Active with PS button)
- Driving Force GT wheel initiation working (exit compatible mode, enter Force GT mode)
- USB Hub support
- Mapping the buttons from DFGT to G29 report
- Forcefeedback working (thanks to the Logitech_Force_Feedback_Protocol_V1.5.pdf)
TODO:
- Allow configurations from GIMX configuration editor (COULD have)
- Allow other devices then Driving Force GT (or logitech wheels) (COULD HAVE)
Some pictures:
And a video:
-
First of all, big thanks to matlo creating this great piece of software!
After playing around with GIMX, it works perfectly for my Logitech Driving Force GT (G29 emulated) for F1 2018 on my PS4.
However, it was not very portable to my home TV. I thought a raspberry pi would solve the problem, but too many libusb timeouts
caused my forcefeedback to glitch as force did not reset to normal e.g.
Therefore i would think if it would be possible to make an Arduino only variant using the GIMX code from matlo, and having a working solution.
Perhaps if there is interest, i can tidy up the sources and put them online so anyone can make benefit of it (if matlo agrees).
Ingredients:
- Arduino atmega32u4 board (pro micro/leonardo) 16MHz/5V
- USB Host shield (or another board having a MAX3421E USB to SPI chip)
- Arduino one of the latest version (i am using 1.8.5)
- LUFA for Arduino (https://github.com/Palatis/Arduino-Lufa)
- USB Host shield library by Oleg Mazurov (Circuits@Home)
- GIMX Firmware sources from matlo (https://github.com/matlo/GIMX-firmwares)
- USB HUB (you need two ports, one for the wheel and another for the PS4 controller)
I cloned the G29EMUPS4 files, stripped the UART commands and implemented the USB Host function. I also had to rewrite a Serial class for debugging, as the Arduino stock serial class did not work for me using the LUFA library (it replaces some USB stacks in Arduino, probably also the HW serial port)
Currently working:
- Wheel is working on PS4, all buttons and pedals working
- Authenticate trough genuine controller
- PS4 Detects G29 wheel (Active with PS button)
- Driving Force GT wheel initiation working (exit compatible mode, enter Force GT mode)
- USB Hub support
- Mapping the buttons from DFGT to G29 report
- Forcefeedback working (thanks to the Logitech_Force_Feedback_Protocol_V1.5.pdf)
TODO:
- Allow configurations from GIMX configuration editor (COULD have)
- Allow other devices then Driving Force GT (or logitech wheels) (COULD HAVE)
Some pictures:
And a video:
-