Skip to content

Cordince/DashPack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DashPack

DashPack is a hackish CAN bus interface system designed specifically for Porsche vehicles, enabling add-on capability for detecting passenger interaction with the vehicle switchgear. Think 'celebrationator' from Cloudy with a Chance of Meatballs.

Your kids will say a joke setup, then push their window up switch and the audio system will play a quotable audio file. For example:

Son: What does this button do? (presses window up switch) (Audio system plays Spaceballs): "Thank you for pushing the self destruct button..."

The goal here is simultaneous participation in the dynamics of driving. The only safe controls available to the passengers are the seat and window controls. Specifically window up. This program will play a set sound on 'auto-up' at every boot, and a random sound at 'regular up'. This allows the passengers to trigger random sounds by default, or a known sound if they hold the 'auto up' function of the switch. It does serve the purpose of shared experience in the way few other in-vehicle interactions can for passengers.

Important Note

The following instructions are highly specific to a 2018 Porsche Macan Base Model. If you have a different vehicle, you'll need to make significant modifications to the CAN bus connections, message IDs, and potentially the software to make this work in your vehicle. The CAN bus architecture, pinouts, and message formats vary significantly between different makes, models, and years.

Overview

Hardware Requirements

  • Anything with socketcan capability will work, like an old laptop.
  • InnoMaker USB2CAN adapter, or a wide variety of others.
  • PosiTaps for CAN bus connection, and the will to modify your car.
  • 3.5mm audio output capability Optional but highly recommended: dead simple 2.4ghz audio transmitter and receiver with 3.5mm aux in and out. There is no such thing as reliable bluetooth so this approach significantly reduces headaches, while allowing the computing hardware to be stored outside the main cabin.

CAN Bus Connection

Porsche Macan (2018 Base Model) Connection Points

The CAN bus connection is made at the gateway module using PosiTaps:

Comfort CAN

  • CAN Low: Pin 5
  • CAN High: Pin 15

Example software setup on raspberry pi:

  1. System Requirements:

    • Raspberry Pi 4 Model B
    • Extended life SD card (recommended for frequent power cycles)
    • 64-bit desktop Raspberry Pi OS
  2. Initial Setup:

    • Hostname: dashpack.local
    • Username: dashdev
    • Enable SSH
    • Configure WiFi
  3. Software Installation:

sudo apt-get update
mkdir projects
cd projects
git clone [repository-url]
apt-get install pipenv mplayer can-utils xterm
  1. Python Dependencies:
pipenv install playsound pynput pygame python-can
pipenv run python setup.py develop

Testing and Simulation

Virtual CAN Testing

sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
pipenv run python dashpack/windows.py --simulate

Simulating CAN Messages

cangen vcan0 -I 3d0 -D 0000140085 -g 1000

Audio Integration

Connect the Raspberry Pi's 3.5mm output to the vehicle's AUX port for audio feedback.

Autostart Configuration

Create ~/.config/autostart/dashpack.desktop:

[Desktop Entry]
Type=Application
Name=DashPack
Exec=xterm -hold -e 'cd /home/dashdev/projects/DashPack && /usr/bin/pipenv run python -u dashpack/windows.py | tee -a /home/dashdev/windows.log'

Hardware setup

Here's a schematic of how the system is configured in a base model 2018 porsche macan, which should work for any model with a can gateway. Any access to the CAN comfort bus is truly the only hard requirement, which is present at multiple places in the vehicle.

Hardware Setup Diagram

Sounds

There are a wide variety of sound effects from various films in the sounds/ folder. Short and verbal works better than pure sound effects. Although a laser pew-pew can be fun as well, our family enjoyed movie quotes best.

Further canbus documentation

Check the docs folder for various 2018 porsche macan recordings of the comfort bus while the seat, window and center console switches were pressed, along with screencaps of the wiring diagrams.

Hardware details:

Not sure where to get started? The Car Hackers Handbook is a great place to begin.

Here's an overview of what the gateway module looks like under the right rear bench seat. The connector is unplugged, the large circle is the fuel pump cover. You'll want to find pins 5 and 15 (which is surprisingly easy once you unwrap the cable and probe them with a needle probe and a picoscope), then positap them, and run those wires through a conduit, under the existing wires for the fuel pump, seat warmers, etc, then back undernath the fold down backrest to the cargo area. There is a great deal of space to work with.

Gateway Module Under Seat

Here's a snapshot of the under load floor area with all the enormous amounts of space for placing systems. The CANBUS inside the conduit runs under the components shown, so the load floor looks completely stock. The various systems are simply gorilla taped to the felt on the floor or onto the styrofoam jack older. This holds them in place very well without residue left behind. Sub load floor layout

Full hardware list:

Future work Future goals include different effects based on:

  • Manage HVAC (Heating, Ventilation, and Air Conditioning) settings
  • Control seat functions (ventilation, heating, position)
  • Interface with various vehicle comfort systems

Chassis CAN

(Not necessary, but good for future development.)

  • CAN Low: Pin 10
  • CAN High: Pin 20

About

Celebrationator for your Porsche

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages