BMW E36 Simulator
After a while of designing, building and refining, I’ve finally been able to use my simulator with full functionality.
It is powered by a heavily modified Logitech G27 Force Feedback Steering Wheel and includes inverted pedals, H shifter and handbrake.
The steering wheel has an aftermarket Momo Italy 350mm rim with a stainless steel 70mm adapter plate.
The pedals are inverted onto the frame of the sim. They are also connected to an arduino along with the handbrake to change the resolution from 8-bit (256 steps) to 10-bit (1023 steps).
The shifter is the standard G27 shifter mounted to the frame with bolts. The standard E36 gear knob and gaitor is used. A custom adapter was manufactured to fit the gear knob onto the shaft of the G27 shifter.
The handbrake is standard with a momentary inverse microswitch mounted which is connected to the same arduino as the pedals.
The dashboard and cluster is standard from an BMW E36 328i. I had to manufacture a steel frame to mount everything.
Two arduinos are used at the moment, one for the pedals and handbrake, and another for the E36 cluster. An arduino leonardo is used for the inputs (pedals and handbrake) due to its HID capabilities. An arduino uno is used for the instrument cluster, which is used with the SimHub software to drive all of the gauges in the cluster with a custom .ino sketch and custom protocol function.
The software I use to drive the instrument cluster is called SimHub. It has a lot more features than just driving an instrument cluster, and is now a necessity for sim racers. SimHub can be downloaded here : https://www.youtube.com/redirect?v=hzXhf1IdO8c&redir_token=E7Lf31UCdYuOxyoZ0uVa56ljXul8MTUxODIxNDc4MkAxNTE4MTI4Mzgy&event=video_description&q=http%3A%2F%2Fwww.racedepartment.com%2Fdownloads%2Fsimhub-diy-sim-racing-dash.10252%2F
The arduino sketch I use to drive the instrument cluster can be downloaded here : https://www.youtube.com/redirect?v=hzXhf1IdO8c&redir_token=E7Lf31UCdYuOxyoZ0uVa56ljXul8MTUxODIxNDc4MkAxNTE4MTI4Mzgy&event=video_description&q=https%3A%2F%2Fdrive.google.com%2Fopen%3Fid%3D1lmiAHD1PD4V-tEYqY1O5gmwz0opj50mj
If you use the arduino sketch, the pins might be configured differently. If you need to change them, at the bottom of the sketch is where the code lies for driving the cluster’s dials.
You will also need to enable Multiple USB in the SimHub software and change the custom protocol to this formula.
format([DataCorePlugin.GameData.NewData.SpeedKmh],’0’)
- ‘;’ +
format([DataCorePlugin.Computed.Fuel_Percent], ‘0’) - ‘;’ +
format([DataCorePlugin.GameData.NewData.Throttle], ‘0’)
For the 10-bit pedal mod, I have connected some of the pins on the DSub plug connected to the G27’s pedals to pins on an arduino leonardo. For the handbrake, I have connected the two outputs on the microswitch, one to the ground pin and one to a digital IO pin. The sketch that powers my handbrake and pedals can be downloaded here : https://www.youtube.com/redirect?v=hzXhf1IdO8c&redir_token=E7Lf31UCdYuOxyoZ0uVa56ljXul8MTUxODIxNDc4MkAxNTE4MTI4Mzgy&event=video_description&q=https%3A%2F%2Fdrive.google.com%2Fopen%3Fid%3D1Y_q8Adl6O52ikzebdNLDqtkybasgCiuY
With the G27PedalAdapter sketch, I’m not using all of what is possible with the HID library. I’m only reading 3 analog pins and 1 digital pin, whereas with an arduino uno, I could read 6 analog pins and 14 digital pins. With a button matrix, even more can be added. Customization is recommended for my sketch, as you could easily create a button box with some tweaks to the sketch. A video on the topic can be found here : https://www.youtube.com/watch?v=Z7Sc4MJ8RPM
Any questions I’ll answer in the comments :D
Comments
I’m open to answering any questions :D