samelyuk / volvo-rti-retrofit

Volvo P2 (S60) RTI retrofit with Android Auto, Carplay, Handsfree etc.
MIT License
7 stars 0 forks source link

Volvo RTI Retrofit

Volvo P2 RTI retrofit with Android Auto, Carplay, Handsfree etc.

Version r1.1

Welcome to the OpenAutoPro project tailored for the Volvo P2! This project enhances your driving experience by integrating a Raspberry Pi and Arduino into your vehicle, replacing the Control Module from the RTI system. Utilizing the stock RTI display and controls ensures seamless integration.

RTI Retrofit - Android Auto RTI Retrofit - Android Auto

Special Thanks

I would like to extend my sincere thanks to the following contributors who have greatly contributed to the development and success of this project:

Your contributions have significantly enriched this project, and I deeply appreciate your efforts. Thank you!

What is now working:

Future works:

Buy me a coffee

Table of Contents

  1. Connection Overview
  2. Programming Details

Connection Overview

Necessary Components

RTI Retrofit - OpenAutoPro RTI Retrofit - OpenAutoPro

Cable Management

Efficient cable management is essential for organizing the components of the OpenAutoPro project within the Volvo S60 D5. Let's discuss how we've optimized cable routing for a tidy and functional setup. Utilizing Original Cables

RTI Controll module RTI Controll module Disassembley RTI Controll module Disassembled

Display Cable Connection:

Incorporating the RTI (Road and Traffic Information) display into the OpenAutoPro system requires a meticulous approach to cable connection. Let's break down the cable setup for seamless integration. Cable Components:

RTI Display Pinout

SWM Button Configuration - LIN bus

The SWM buttons from the steering wheel, along with the RTI buttons, will be read through the LIN bus. We will utilize the original Arduino Nano with MCP2025 and the "laurynas" Volvo LINbus reader program (https://github.com/laurynas/volvo_linbus). Simply pressing the required button is sufficient to view the LIN bus key code from our buttons, without the need to turn on the ignition. The key code for the Volvo S60 2008 appears as follows: Enter button: “ C1 3F 20 A0 ”

The cables from the SWM/SAS are located up to the steering wheel, under the cover. See blue arrow. SWM Location SWM Pinout

RTI Control Module Setup

I have removed almost everything from the RTI Control Module box. I only left two connectors: an 8-pin DIN socket and a 10-pin connector from the display. I have placed all the computing components in this box: Raspberry Pi with all its components, a step-down converter, and two Arduino microcontrollers on a PCB.

RTI New Setup (Will be updated) RTI New Setup (Will be updated)

RTI Old Setup RTI Old Setup

AUX Integration

While the Volvo S60 from 2008 typically comes equipped with an AUX input, my model had its radio upgraded to the HU-850, an older version lacking this feature. Following Karl Hagström's guide (https://gizmosnack.blogspot.com/2015/11/aux-in-volvo-hu-xxxx-radio.html), I created a CD changer emulator using an Arduino Nano clone.

Radio Pinout

Rear Camera

I found a rear camera specifically for the Volvo P2, and its installation is straightforward. First, connect the camera power to a step-down converter from the 12V side. Next, connect the camera's video output to an analog video converter, which then connects to the Raspberry Pi via USB.

To activate the camera when shifting into reverse, we will use a script integrated into OpenAuto Pro. In the rear camera settings, set Pin 17. Then, take two wires from the reverse light and connect them to a relay. Additionally, take two wires from the Raspberry Pi GPIO: 3V3 power and GPIO 17, and connect them to the relay. RPI Gpio

When the reverse light is activated, the relay opens power to GPIO 17 on the Raspberry Pi, prompting OpenAuto Pro to start the camera.

RTI Extender Cable Scheme

RTI Control Module

RTI Control Module Scheme

RTI Control Module

Programming Details (SOON)

Image Description

Raspberry Pi: OpenAutoPro installation, setup, Arduino connectivity, and configuring the splash screen

This guide outlines the steps to configure your Raspberry Pi, including exchanging the Raspberry Pi configuration file, setting up autostart for a button reader, setting the Volvo splash screen, and configuring the equalizer.

1. Exchanging the Raspberry Pi Config File

To make necessary system adjustments, you need to edit the Raspberry Pi boot configuration file.

  1. Open the Raspberry Pi configuration file using the following command:

    sudo nano /boot/config.txt
  2. Modify or add any required settings based on your project’s specifications.

  3. Save and exit the editor by pressing Ctrl + X, then Y, and Enter.

2. Setting Up Autostart for Button Reader

To ensure that the run.sh script (which reads button inputs) runs automatically on startup, follow these steps:

  1. Move the run.sh script to the /home/pi directory:

    sudo mv /home/pi/run.sh /home/pi
  2. Move the key.py file to the /home/pi/Documents/ directory:

    sudo mv /home/pi/key.py /home/pi/Documents/
  3. Edit the autostart file to add the script:

    sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
  4. Append the following line to the end of the file:

    @/home/pi/run.sh
  5. Save and exit the editor by pressing Ctrl + X, then Y, and Enter.

  6. Make the run.sh script executable:

    sudo chmod +x /home/pi/run.sh
  7. Install the required Python package pynput:

    sudo pip3 install pynput

3. Setting the Volvo Splash Screen

To set up the Volvo splash screen on your Raspberry Pi:

  1. Move the splash screen files to the OpenAuto Pro directory:

    sudo mv /home/pi/splash1.h264 /usr/share/openautopro
    sudo mv /home/pi/splash2.h264 /usr/share/openautopro

4. Exchanging the Equalizer Configuration

To set up the equalizer configuration:

  1. Move the openauto_equalizer.ini equalizer settings to: '/home/pi/.openautopro/config/'

With these steps completed, your Raspberry Pi should be properly configured for your project, with the required scripts and configurations in place.