laurynas / volvo_crankshaft

Volvo V50 RTI Crankshaft project
MIT License
50 stars 6 forks source link

Volvo V50 RTI + Crankshaft + Raspberry Pi + Arduino = ❤️

Run Android Auto on Volvo V50 RTI screen by retrofitting it with Raspberry Pi & Crankshaft.

Working example

Photos and videos »

Features

Missing / TODO:

I'm playing audio via Bluetooh audio adapter.

Ingredients

Overview

This is just a rough scheme showing how main components are connected.

Rough scheme

Raspberry Pi is running Crankshaft which enables Android Auto support.

Arduino is listening for steering wheel button events via LIN bus transceiver. It converts these events to keyboard / mouse HID events and sends to Raspberry Pi via USB. Make sure you are using Arduino hardware supported by the HID library.

Via the same USB cable Raspberry Pi is sending phone state to Arduino.

Arduino is sending serial events to Volvo RTI screen module and controls opening / closing of the screen.

Original RTI screen is replaced with AT065TN14 and connected to RPi using HDMI cable. Driver board is powered by 12V from RTI screen module.

RPi is powered from step down converter which converts 12V from the car to 5V.

Configure Arduino

Build and upload volvo_crankshaft.ino to Arduino.

Configure RPi / Crankshaft

  1. Connect to Crankshaft via SSH.
  2. Unlock readonly Crankshaft filesystem using csmt command line utility.
  3. Copy files from crankshaft/ to RPi using SSH or just create them via the terminal. Place files under appropriate system folders and make /opt/service_volvo_crankshaft.sh executable.
  4. Enable the serial service:

systemctl enable volvo_crankshaft

systemctl start volvo_crankshaft

Configure Crankshaft

Configure Crankshaft using Crankshaft UI -> Settings.

  1. Enable keyboard controls - Arduino works as "keyboard" sending keyboard events to RPi.
  2. Disable audio if you are playing audio via bluetooth adapter.

Controls

  1. When Android phone is connected, RTI screen should pop automatically and streering wheel controls can be used to navigate Android auto.
  2. Clicking "Enter" on the steering wheel buttons when Android phone is disconneted will pop RTI screen and joystic will work as a mouse to navigate Crankshaft UI (you can use it to go to the settings).
  3. Long press of "Back" button will put the screen down.

Tips

Alternative - Using original RTI LCD display

I have also succeeded using original LCD display too. More details in the wiki ».

Links