Open source project for W211/W203/W219/W209 vehicles - Music control and more!
#1
Junior Member
Thread Starter
Open source project for W211/W203/W219/W209 vehicles - Music control and more!
Admins - Can i request this post gets copied to the other vehicles that support this?
First off some introduction and background on this project:
I am a software engineer at university in England, and have a W203 C200 CDI. I began to get sick and tired of how limited the audio system is on the car, and didn't want to spend $350+ on an android head unit.
So i set out to do what nobody has done before on these cars (Apart from Alex on the W211 hacking forum - but that was a prototype). Build a system from scratch using cheap items that allows us to control our music from our phones, display the current track being played on the instrument cluster, and anything else I feel like would be a good idea.
Since I started this in november, this project has grown into something MUCH bigger, allowing us to view advanced diagnostic data about the 722.6 transmission in these cars, and display it on the IC!, this is all accessible over CANBUS
What the project can currently do:
1. Display track information about what music is playing on the phone
2. Use steering wheel controls to seek tracks on the phone
3. Diagnostic mode - view various sensor data being broadcast over CANBUS C - Mainly transmission information for now
4. Instruct the car to turn on its lights remotely or sound the horn - useful for being lost in a carpark
Demo videos:
I will update this playlist whenever I have some spare time, or add a new interesting feature. Stay tuned:
https://www.youtube.com/playlist?lis...35n4SdYG9C3N7i
Great! How do I get started?:
Firstly, you will need the following items:
1. Android phone (if you intend on playing music) - Iphones are not supported, sorry
2. HC-06 bluetooth module:
6. Some wires and cables
This should set you a mind boggling £30!
Now, you will need to do the following to actually link up the Arduino to the car:
1. Open the panel that is under the drivers console area - There should be a canbus splitter under here with brown wires:
Connect some cable to one of the free terminal points on this connector like so:
Now, run these cables to wherever you fancy. I personally placed them inside the center console. And then re-connect the panel so everything is nice and tidy!
That is your interior CANBUS (CAN B) now connected!
2. For canbus C, you will need to disconnect your instrument cluster (I won't go into detail about doing that), and connect a cable to the plug. The plug has a white shell and a black interior. The white shell can be easily removed, reveling the terminals for the wires. You will need to hook up 2 more wires like so:
The red wire is CAN H which connects to the same terminal as the green wire with white strips. The Green wire is CAN L which connects to the green wire without the stripe.
Then, reassemble your instrument cluster, and run the cable to the same place as where you ran the CAN B cable.
3. Now, connect the CAN C wires to the MCP2515 module like so:
and the CAN B wires to the MCP2515 board, mine are mangled so had to solder them on like so:
Now, to power the setup, you can optionally use the 12V socket to power the arduino via a USB charger, however I decided to use the always on power found in the telephone plug in the center console. I have a voltage regulator board that steps the voltage down to 5:
4. To wire everything up to the Arduino, use the following schematic:
The Arduino is hooked up to the canbus shield directly using all pins - in the image it is directly under the Canbus shield.
Uploading code to the Arduino:
1. Download the Arduino IDE: https://www.arduino.cc/en/main/software
2. Clone my repository: https://github.com/rnd-ash/W203-canbus (Alternatively, navigate to the link, and download as a ZIP)
3. Open the INO file in ARDUINO_CODE folder
4. Upload to arduino
Testing
If you made it this far, navigate to the AUDIO page on the instrument cluster, and you should be now greeted with "Open APP" being displayed on the cluster. If this is the case, congratulations! Its done.
If you press the phone answer button within this page, you should see "DIAG MODE" - If this works, your all good to continue!
Android APP (for media controls)
TBA - I need to release a signed APK
For those of you who know how to compile android apps, the source is in androidApp folder
Controls:
From within the AUDIO Page:
Telephone Answer - Enable sensor readout mode
Telephone Hangup - Disable sensor readout mode
Up arrow:
In sensor readout mode - show next sensor
In media mode - Seek next track
Down arrow:
In sensor readout mode - show previous sensor
In media mode - Repeat / go to previous track
I hope this project is useful, and i appreciate feedback!
Reporting issues / feedback:
My primary source will be github issues:
https://github.com/rnd-ash/W203-canbus/issues
However, i will checkup on this forum once or twice a week, and will listen to community feedback and improve or fix bugs
First off some introduction and background on this project:
I am a software engineer at university in England, and have a W203 C200 CDI. I began to get sick and tired of how limited the audio system is on the car, and didn't want to spend $350+ on an android head unit.
So i set out to do what nobody has done before on these cars (Apart from Alex on the W211 hacking forum - but that was a prototype). Build a system from scratch using cheap items that allows us to control our music from our phones, display the current track being played on the instrument cluster, and anything else I feel like would be a good idea.
Since I started this in november, this project has grown into something MUCH bigger, allowing us to view advanced diagnostic data about the 722.6 transmission in these cars, and display it on the IC!, this is all accessible over CANBUS
What the project can currently do:
1. Display track information about what music is playing on the phone
2. Use steering wheel controls to seek tracks on the phone
3. Diagnostic mode - view various sensor data being broadcast over CANBUS C - Mainly transmission information for now
4. Instruct the car to turn on its lights remotely or sound the horn - useful for being lost in a carpark
Demo videos:
I will update this playlist whenever I have some spare time, or add a new interesting feature. Stay tuned:
https://www.youtube.com/playlist?lis...35n4SdYG9C3N7i
Great! How do I get started?:
Firstly, you will need the following items:
1. Android phone (if you intend on playing music) - Iphones are not supported, sorry
2. HC-06 bluetooth module:
https://www.amazon.co.uk/DSD-TECH-Wireless-Bluetooth-Transceiver/dp/B01FCQZ8VW/ref=sr_1_1?keywords=HC06&qid=1582019883&sr=8-1
3. MCP2515 Canbus shield (for CANBUS B interface) -
https://www.amazon.co.uk/MakerHawk-CAN-BUS-Shield/dp/B071VW6H1C/ref=sr_1_2?keywords=canbus+shield&qid=1582019908&sr=8-2
4. MCP2515 canbus module (for CANBUS C interface) -
https://www.amazon.co.uk/HALJIA-MCP2515-TJA1050-Receiver-Raspberry/dp/B06XCMJNQH/ref=sr_1_2?keywords=canbus&qid=1582019935&sr=8-2
5. Arduino uno -
https://www.amazon.co.uk/ELEGOO-Board-ATmega328P-ATMEGA16U2-Cable/dp/B01EWOE0UU/ref=sr_1_1_sspa?keywords=Arduino+uno&qid=1582019954&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzMVZSMElKOFJITkpWJmVuY3J5cHRlZElkPUEwNDExMjAyMUxPUklaNE5JOFhaMCZlbmNyeXB0ZWRBZElkPUEwNDEzMTI2TlVWU0U4MDlBM1gxJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==
6. Some wires and cables
This should set you a mind boggling £30!
Now, you will need to do the following to actually link up the Arduino to the car:
1. Open the panel that is under the drivers console area - There should be a canbus splitter under here with brown wires:
Connect some cable to one of the free terminal points on this connector like so:
Now, run these cables to wherever you fancy. I personally placed them inside the center console. And then re-connect the panel so everything is nice and tidy!
That is your interior CANBUS (CAN B) now connected!
2. For canbus C, you will need to disconnect your instrument cluster (I won't go into detail about doing that), and connect a cable to the plug. The plug has a white shell and a black interior. The white shell can be easily removed, reveling the terminals for the wires. You will need to hook up 2 more wires like so:
The red wire is CAN H which connects to the same terminal as the green wire with white strips. The Green wire is CAN L which connects to the green wire without the stripe.
Then, reassemble your instrument cluster, and run the cable to the same place as where you ran the CAN B cable.
3. Now, connect the CAN C wires to the MCP2515 module like so:
and the CAN B wires to the MCP2515 board, mine are mangled so had to solder them on like so:
Now, to power the setup, you can optionally use the 12V socket to power the arduino via a USB charger, however I decided to use the always on power found in the telephone plug in the center console. I have a voltage regulator board that steps the voltage down to 5:
4. To wire everything up to the Arduino, use the following schematic:
The Arduino is hooked up to the canbus shield directly using all pins - in the image it is directly under the Canbus shield.
Uploading code to the Arduino:
1. Download the Arduino IDE: https://www.arduino.cc/en/main/software
2. Clone my repository: https://github.com/rnd-ash/W203-canbus (Alternatively, navigate to the link, and download as a ZIP)
3. Open the INO file in ARDUINO_CODE folder
4. Upload to arduino
Testing
If you made it this far, navigate to the AUDIO page on the instrument cluster, and you should be now greeted with "Open APP" being displayed on the cluster. If this is the case, congratulations! Its done.
If you press the phone answer button within this page, you should see "DIAG MODE" - If this works, your all good to continue!
Android APP (for media controls)
TBA - I need to release a signed APK
For those of you who know how to compile android apps, the source is in androidApp folder
Controls:
From within the AUDIO Page:
Telephone Answer - Enable sensor readout mode
Telephone Hangup - Disable sensor readout mode
Up arrow:
In sensor readout mode - show next sensor
In media mode - Seek next track
Down arrow:
In sensor readout mode - show previous sensor
In media mode - Repeat / go to previous track
I hope this project is useful, and i appreciate feedback!
Reporting issues / feedback:
My primary source will be github issues:
https://github.com/rnd-ash/W203-canbus/issues
However, i will checkup on this forum once or twice a week, and will listen to community feedback and improve or fix bugs
The following 3 users liked this post by rnd_ash:
#3
Member
Join Date: Feb 2021
Location: Canberra ACT
Posts: 214
Received 118 Likes
on
61 Posts
2013 E350 Facelift (Japan Import) 2007 E350 Elegance Wagon, 2014 E350 Wagon facelift model Jap Model
I just installed a www.dvdgpsnav.com Android 10 head unit and reverse camera and it's fricken awesome. It's like being in a 2020+ model car now, the 50w x 4 amp makes the factory speakers sound amazing.
#4
MBWorld Fanatic!
I just installed a www.dvdgpsnav.com Android 10 head unit and reverse camera and it's fricken awesome. It's like being in a 2020+ model car now, the 50w x 4 amp makes the factory speakers sound amazing.
#5
Hi. Thanks for the instructions!
Don’t get me wrong, but could you clarify 2 things about this setup?
Firstly, where you still using the original radio and, if this is the case, in what mode do you put the radio for this to work?
Also, could you upload the installation images again? I want to install this on my W203 but I’m scared that the connections that I make won’t be the appropriated ones.
Again, thank you for the instructions for this project, but also all the other ones!
Don’t get me wrong, but could you clarify 2 things about this setup?
Firstly, where you still using the original radio and, if this is the case, in what mode do you put the radio for this to work?
Also, could you upload the installation images again? I want to install this on my W203 but I’m scared that the connections that I make won’t be the appropriated ones.
Again, thank you for the instructions for this project, but also all the other ones!