I am compiling here the documentation to create a device that allows using a 2012 Camaro as a game controller.
Important: This is an experiment, there is no guarantee that it will work or that it will not cause damage to the car or other equipment.
- Car: 2012 Chevrolet camaro. It should work with any 5gen Camaro.
- Computer: Any Windows/Linux(?) computer that is able to handle a XBOX USB controller. See ArduinoXInput for more informations
- Controller: An Arduino pro micro or any arduino board with a ATmega32U4 MCU.
- CAN shield: A MCP2515 breakout board. (I like this one because it works with 5V and 3.3V)
- OBD2 connector: A simple OBD2 connector.
Sparkfun Arduino pro micro hookup guide
- Install Arduino IDE
- Add the sparkfun Arduino pro micro board
- Install the libraries dependencies (from the libraries manager): ArduinoXInput, Arduino-MCP2515
- Important: Follow the instructions and install the XInput boards from the ArduinoXInput library.
(Failure to follow these instructions will result in the device not functioning and potentially bricking your Arduino board.) - Flash the CamaroGamePad.ino sketch to the arduino
- ESP32-DevkitC board
- The same MCP2515 breakout board as before
- with SPI pin 5 (CS) and pin 21 (INT)
- with OBD2 pin 6 (CAN-H) and pin 14 (CAN-L)
- Flash the ESP32 board with the canhacker.ino sketch
- SavvyCan with custom build (See collin80/SavvyCAN#764)
- Configure a new connection :
- LAWICEL
- Serial Port Speed : 2000000
- CAN Bus Speed : 500000
For now, here's what I've found (CAMARO 2012):
Brake:
- CAN id:
0x0BE
- Index: 1
- Size: 1 byte
- Value: [0-255]
- Unit: %
Accelerator:
- CAN id :
0x1A1
- Index: 6
- Size: 1 byte
- Value: [0-255]
- Unit: %
Steering wheel:
- CAN id :
0x1E5
- Index: 5,6
- Size: 2 bytes
- Value: [-9000:9000]
- Unit: degrees * 10
If you've identified any other useful IDs, let me know.
- https://www.csselectronics.com/pages/obd2-explained-simple-intro
- https://www.camaro5.com/forums/showpost.php?p=10072820&postcount=4
- https://docs.google.com/spreadsheets/d/1pFdixF6W0XK4SR6pXHIlZaFRo9qM5XmAWOK7JcAQdDM/htmlview
- https://forum.realdash.net/t/multi-bus-data-with-obdlink-ex/3872
- https://pinoutguide.com/CarElectronics/gm_car_obd_ii_pinout.shtml