I played with the idea of integrating a PC in a vehicle from college, but lack of funds at that time never took the project out of it's documentation phase. With the advent of the Raspberry Pi and the lack of functionality on my current in car entertainment system I started to document myself again. I wanted to be able to track my vehicle, gather statistics, use google maps for navigation and be able to watch youtube videos. Then Android Auto came into play and I wanted to

What it does

The ECU connects into the cars existing systems with little to no modification i.e. plug and play. It receives user input from the middle console

MMI Controller in center console

over the CAN bus of the car and outputs video to the main display

MMI Display

using composite video

How I built it

I started by enabling the SPI interface on the raspberry pi so as to connect an MCP2515 CAN controller in order to connect to the convenience CAN bus of the vehicle, however, this was a long way away so I made a mockup of the console using an LPC1768 mBed that sent out mockup messages over an CAN bus for debugging purposes. Next came the task of mapping incoming CAN messages into simulated key presses that controlled the Raspberry Pi. For this I used python's uinput library to simulate keypresses based on the CAN messages captured using python-can. Next came the challenge of capturing CAN traffic and logging the information for graphing purposes. After that I started to work on creating the a website that would be hosted on the Raspberry Pi and be accessed over a 3G connection from an USB modem. I used a dynamic DNS service to get to the Raspberry Pi using a URL. The different functionalities that are shown on the screen are implemented on different Desktops on which there is a fullscreen chromium browser running and showing each page I am interested in. Switching between the Desktops is done using the center console .

Challenges I ran into

Connecting the Raspbery Pi to the CAN network... WIP Interpreting CAN messages

Accomplishments that I'm proud of

First time I put my hands on a Raspbery Pi and made it work out of the box.

What I learned

One ca do a lot of cool stuf with open-source software and hardware

What's next for RaspberryMMI

Integrate it better into the vehicle and use actual CAN bus messages from the vehicle it is intended for. Go from there.

Built With

Share this project: