Inspiration
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

over the CAN bus of the car and outputs video to the main 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
- android-auto
- c
- can-bus
- google-maps
- linux
- raspberry-pi
Log in or sign up for Devpost to join the conversation.