I’ll admit it, I’m a huge fan of Euro Truck Simulator 2. For such an oddball “game” the depth of the simulation is compelling and addictive. Last year I built my own “racing sim” setup out of a driver’s seat from a Ford Ka, A Logitech G27 and a spare LCD Monitor. It’s simple but it is far more enjoyable than being sat at a desk in a bolt upright position.

With the release of SCS’ telemetry SDK I finally decided to add a real life instrument cluster to my set up, it would give me an opportunity to do something useful with an Arduino and learn a bit more about reverse engineering in the process.

There are three main components to this project which I need to work on:

  • The software that communicated with the game on the host
    • Abstraction Layer to allow compatibility with a number of games/sims
  • The software that receives this information on the Arduino
  • The Hardware interface between the Arduino and the instrument cluster

Instrument Cluster

E46 Cluster

For this project I decided to use an instrument cluster from a BMW 320i. I chose this cluster for a few key reasons:

  • Readily available off ebay
  • Wiring/Pinout documentation available here
  • Plenty of work deciphering the CAN-BUS┬ádata has been carried out here

To interface with the cluster the arduino will need the hardware to communicate over CAN-BUS as well as pull various wires to a high (12V) and low (GND) state.

Documentation and Software

I will be keeping a repository of all the code used to drive the cluster along with documentation over at my GitHub page here.


Leave a Reply

Your email address will not be published. Required fields are marked *