The racing rig used by PioneerX’s founder has been through several iterations of time, and continues to evolve as the needs change.
The rig was originally intended for use as a truck driving platform with it’s focus on Euro Truck Simulator 2.
Iteration 1:
The starting point was a cheap second hand GameRacer Elite play seat bought on ebay. This was paired with a new Logitech G29 Steering Wheel, Pedals and Shifter package.
However, this is not where iteration 1 ends because as a truck simulator I wanted the pedals to be hinged at the top as you would find in most production cars I was use to driving. To achieve this the end plate for the GameRacer was removed and a custom made steel frame (with MDF panels) was added. One of the reasons for choosing the G29 wheel was the design of the pedals. Each single G29 pedal is a sperate unit made of folded sheet metal and then screwed into the plastic housing. Due the design it is easy to remove the pedals from the housing (non-destructively) and remount them to something else, just be careful when relocating the cables as these wires are extreamly thin and easily broken.
Finally for iteration 1 was the shifter. After some googling I found that several retailers do a shifter mount for the GameRacer, however at the time it was out of stock everywhere and I had a lot of left over steel tubing from a different project, so built the shifter mount myself. This is a simple Z frame that inserts into the GameRacer frame at the bottom (clamped by a couple of bolts through the frame) and on the top is a T section to allow the 3 clamps of the shifter to screw down on to them.
A flat wooden panel was added under the seat as well. This panel holds all the electronics. I wanted the tether coming from the rig to be as small as possible so the white cable trunk contains only a main power cable and a USB extension cable. This allows for a 4 way power bar and a USB hub to be mounted under the seat and have everything connected to those.
For those that haven’t noticed in the image, there is an Rii mini keyboard on the side of the shifter mounting. This is a standard Rii mini keyboard with a magnet glued to the back and it therefore sticks to the steel upright post, it connects wirelessly to the a dongle in the USB hub on the undertray of the rig. Also on the seat is the original Oculus Rift that is used instead of screens for the Rig, the sensors for this Rift are mounted in the top corners of the room the rig it in as it is also used for ‘Room scale’ games.
I quickly discovered that when driving trucks you need more gears than the 6 (plus reverse) offered by the shifter and that real trucks manage this with an SKRS which is special shifter knob that has a couple of extra switches attached to it allowing for extra ‘ranges’ to be selected. I needed one of these, but being adept at electronics and owning a 3D printer I decided to make one. In researching the best way to do this I came across the following video.
I purchased all the parts (~£15) and printed the adaptor. After assembly and attachment to the rig I found this was brilliant to use. The two switches show up in windows as buttons and was very easy to configure in ETS2 and now I had access to 18 speed gearboxes.
After 108 hours of ETS2 the rig was still working faultlessly, but as I now have the rig I took a look at SimRacing. Specifically I got a copy of Assetto Corsa as the simulator was highly recommended, had huge amounts of content and at the time I could get it all from Steam for just £9.
Upgrade 1:
Well the next major change for the rig wasn’t with the rig itself but with the VR being used. HP announced the HP Reverb G2 and as I had stuck with the Oculus Rift since it’s launch I decided to update and therefore pre-ordered the HP. In anticipation for it’s arrival I also updated the GPU in my computer to an Nvidia RTX2080S (this was before the launch of the 30 series).
The new headset arrived and the Oculus cameras and headset were removed and sold. The upgrade in image quality was worth every penny.
Upgrade 2:
Having been racing in Assetto Corsa for a while I was starting to see limitation in the way I drove a race car. Unfortunately it seems that learning to use a brake pedal where the braking power is determined by the pedal position and not the force being applied, like it would in a real car, was just something I couldn’t adapt to. It therefore meant that I required some form of upgrade to my pedals. Changing the entire pedal system for something else was not really a financial outlay I could justify to my wife so I started to look at loadcell mods for the G29 pedals I had, after all I was very happy with the throttle and clutch. I eventually found the TrueBrakeV2 which, while not a true loadcell, changes the behaviour of the pedal to something extreamly similar to a loadcell.
This was added to my existing pedals and made a massive difference especially given it’s extreamly reasonable price.
Update 3:
As mentioned previously the room the rig it in is also a ‘room scale’ VR space and as such the rig needs to break into 2 half’s for storage at the back of the room when the VR space is in use. Up until the addition of the shifter this has always been easy as the pedals plugged into the wheel and the power an USB cables from the wheel ran down the center spine of the rig but had plug and sockets in the middle (power and USB extension cables).
With the addition of the shifter there was a DB9 cable that ran back from the seat up this spine and to the wheel base. This was not ideal since is made the rig very difficult to separate. Now I could have just put a DB9 extension cable in like the others and solved the problem, however it was at this time I also discovered that the G29 pedals, that connect the wheel base, have their output modified by the firmware in the wheel base to try to simulate a loadcell experience (very badly) for the brake pedal. I obviously wanted more control over the way the pedal inputs where seen by the PC which lead me to change both the way the pedals and shifter attach. Currently they attach to the wheel base, but I wanted them direct to the computer as USB devices.
The biggest challenge was going to be the interface, but this was easily solved with an Arduino ProMicro and the joystick library available @ https://github.com/MHeironimus/ArduinoJoystickLibrary which presents the ProMicro to the PC as a USB joystick with configurable buttons and axis. So this would take care of the pedals as I could just attach each pedal’s potentiometer (yes the TrueBrakeV2 still have one inside – just an extreamly sensitive one) to analog inputs of the ProMicro and it would report those to the PC as joystick axis. The Shifter was going to be a different matter until I discovered that inside the shifter are just two potentiometers and a switch.
The firmware in the Logitech wheel base is designed to take the position of these potentiometers and convert those to the gear button output the PC sees. I was going to replicate this until I found someone had already done it https://github.com/armandoiglesias/g29Shifter. All that I really had to do was wire it up and make some changes to allow the g29Shifter code to also accept the pedal input (3 analog inputs) & the SKRS switches (2 digital inputs). Since my pedals where mounted in an unusual way I also added a calibration function so that the correct values could be reported back to the PC.
https://gitlab.com/PioneerX/pioneerx-gaming-chair
All this was placed in a 3D printed box with DB9 connectors (or the original Logitech connectors could be plugged in unmodified) and the whole thing attached to the USB hub on the undertray.
Iteration 2:
This is where flight comes in. I have always had a passion for flight but flight simulators had always be beyond my reach financially. Since I have the basics of a race simulator (and VR) already I decided converting to allow flight wouldn’t be too difficult or expensive.
After much research I settled on DCS as my flight simulator and specifically the A10C aircraft. This was partly driven by the extreamly good DCS simulator but also, because I use VR in the rig, I wanted the controls to be as close to those I see in the aircraft as possible because in my head it made learning them easier since with a VR headset on I would be unable to see the physical controllers. To this end I purchased DCS and the new A10C Tank Killer module as well as the Thrustmaster Warthog controllers.
This meant a rig change as well. I wanted to keep the racing side of the rig but simply add flight on as well. Fortunately after 108 hours of driving trucks I had moved on to racing and was no longer using the shifter. Due to the previous update removing the shifter was simply a case of unplugging it from the custom controller, I could then reuse the frame the shifter was on.
So with the shifter removed a steel plate was bolted (so I could put the shifter back later if I wanted) to the shifter frame. This plate was sized to match the Warthog throttle controller and the controller was bolted to it. A second steel frame (very similar design) was made and added to the other side of the rig. This second frame also had a top plate bolted on and the Warthog stick (minus its own metal plate) was bolted this. I made this second plate a lot bigger as I had discovered that I needed the mouse to navigate around the A10C’s cockpit and in world controls. The extra space on this plate was used to hold a trackball, this meant that I had mouse operation but in a device that was always where I expected it to be, so easy to find with a headset on. Both plates have rubber edging fitted so they are safe.
It should be noted in the above picture that two extra steel pieces were added to the pedal assembly. This was done at the time the TrueBrakeV2 was added as the extra braking force now being applied would cause the MDF panel to flex so the pedals now mount through the MDF and into these two steel beams.
Update 4:
So I drove and flew this configuration for a little while but had TWO big problems with it.
The first was with the Thrustmaster Warthog throttle. Thrustmaster replicated the real Warthog throttle very well but with one exception. The slew control (the mouse like control you navigate the screens in the cockpit with) was implemented as a very sensitive nipple mouse design contrary to the actual aircrafts control. This made navigating the MFDs (Multi function displays) of the aircraft, a key function of the A10C, very difficult. Fortunately DeltaSim make a very nice replacement for this part that changes the original nipple design (right) to a correct analog joystick design (left).
The second problem with the rig design is that to correctly fly a plane you need rudder controls. This wasn’t too bad in the A10C since it can be flown without the rudder, however the rudder control also does the nose wheel steering that allows you to steer the plane when on the ground. I was using one of the controls on the throttle assembly for this but it was really hard and unintuitive to do. Since I also race in this rig I have standard car pedals and no desire to switch between the two pedal designs every time I want to race rather than fly.
This was solved using a design tweak. Update 3 added an Arduino to convert the pedals to USB. This meant that I had full control over what the computer saw when the pedals where used. I redesigned a bit of the Arduino code to allow for an extra axis to be presented to the computer. This axis was a mathematical calculation based on the position of the throttle and clutch pedals. What it basically does is allows a rudder axis to exist by mixing throttle and clutch inputs. As a result if you press the throttle pedal the rudder axis moves to towards the right, but if you press the clutch pedal the rudder axis goes towards the left. As a result the SAME pedal arrangement I use for driving can be used for flying. This has one limitation, you are unable to use the differential braking feature of the aircraft (where you can apply left and right wheel brake separately to aid a turn). The new Arduino firmware does also make an attempt to present left and right wheel brakes as a function of the difference between left and right rudder inputs but I found this was not very effective and reduced rudder control if used so I simply map wheel brakes to a slider on the Warthog throttle and use that.
https://gitlab.com/PioneerX/pioneerx-gaming-chair
In addition to these two changes I also added the magnetic shifter mod to the G29 wheel. This mod (available @ https://www.thingiverse.com/thing:4344047) adds a pair of magnets that hold back the steel plate paddle shifters therefore making then require more force to operate and for that operation to be more of a snap than just the original microswitch design.
This change means that gear changes are more deliberate and feel much precise than the Logitech original design which in turn reduces missed and unintentional shifts.
The Future:
Things being considered for future updates…..
- Tactile feedback – I would like to feel what the car is doing when racing.
- Direct drive wheel – The Logitech is a gear driven wheel (noisy with a large backlash/dead-zone) and is fairly weak so a DD upgrade would be good.
- Extrusion cockpit upgrade – going to direct drive will need a stronger wheel mount so a full aluminium rig upgrade seems sensible.
- Left foot brake – The current rig has a center post for the wheel mount and the pedals have a clutch (from the truck driving days) so the throttle and brake are on the same side of the post meaning they can only be used by the right foot. I’m driving more and more Formula style cars which would typically be left foot brake.