For W211/203 owners with Headunits - I've ported MBUX with full CAN data to android! - MTCD Android Head Units Q&A

This has been a little lockdown project for myself.
DISCLAIMER: I am not responsible for ANY distractions caused by the shiny new interface, or any bricking of peoples tablets caused by flashing a custom ROM!
For those who don't know, MBUX is the new UI design language that Mercedes uses in the W205 models and up.
I decided to have a go at porting the interface to my MTCE tablet, using assets pulled from reverse engineered cluster firmware for the W213 E class.
Currently, this application works as a new home launcher, being the exclusive application running on the device. There is no way to browse other applications currently (I need to integrate that into the interface), however, it decodes data from CANBUS, and displays a TON of information!
Limitations currently (Early developement)
1. Volume controls and brightness doesn't work. We are bypassing the stock headunit canbus decoder box! (Reasons below)
2. The app will crash on first launch due to USB permissions
Current data shown on interface
1. Fuel data (Consumption per second, Average + Current MPG)
2. Transmission status for 722.x transmissions - Gears, oil temp, Torque converter status and more
3. Climatronics data (Get to see interior and exterior temps, as well as current fan speed, AC work load, Refrigerant pressure, flap statuses)
Future additions
1. Sending track data to Instrument cluster display - full name supported, as well as play duration
2. Phone support on IC display (Show current caller name, as well as call duration)
3. LOADS more sensor data - I have full access to every module on the cars as well as all the messages on canbus and their containing data!
4. Possible 0-60 lap timer?
5.
Why bypass the stock canbus box?
1. The stock decoder box with headunits spam data to the instrument cluster. I've reverse engineered the cluster protocol in these cars, so i can display a lot more text on the display!
2. The stock decoder box triggers the headunit to force show the reverse screen when the car is in reverse. I want the app to be in control of what happens, not the headunit.
3. The arduino required for this project talks to BOTH Canbus C and B, so no need for the headunits own box (Which i found out was filtering data)
What you'll need to try it
1. Malysk ROM installed (Root is required to run it, and Malysk has WIFI ADB debugging enabled for ease of development!)
2. Arduino Uno with 2x CANBUS shields (We will bypass the Headunits own canbus box for our own!
3. Suitable wires for running the Arduino to the 2 CAN systems on the car (see below)
Installation
1. Connect your Arduino to CANBUS C. I have 2 wires running to behind the instrument cluster. These plug into the 2 green wires on the cluster harness (Green is CAN L, Green+White is CAN H):
2. Connect your Arduino to CANBUS B. I have 2 wires running to the hub connector, accessible by removing the panel on top of the driver's pedals. (Brown is CAN L, Brown+Red is CAN H)
3. Connect your Arduino to a laptop, and upload the code found in UNO_CODE in the code repository
4. Connect the Arduino to the headunit with a USB cable.
5. Compile and upload the APK to the headunit, and choose "MERCEDES UI" as your new home screen.
6. Enjoy!
Code repository: https://github.com/rnd-ash/MBUX-Port

Ha - you the man.
First project Ive come across for my car.
However couple of Qs.
1, what is this project for, just to display car info with MB launcher?
I know this is good but without normal control of headunit apps there's not much point.
Could you not easily achieve the same with torque and a similar launcher thats similar
.
2nd. My px5 has a built in canbus, no way to bypass or disable it. Could it still work with the limitations / further research?
Does this have to be run on malaysk rom. Can it not be run as an app or on Hal9ks?
Anyway fantastic news and well done for having a go. Let me know if I can test anything for you.

203 or 211?
Currently, it's still in early stages! But I've been documenting it all on twitter: https://twitter.com/rndashm/status/1286652539337940992?s=19
You can disable canbus. If your using the factory harness (big black thing with loads of wires going out of it), what I did was to simply tape up the male canbus pins on the headunit, so they don't make contact
And as for using existing canbus. No you have to use a dedicated shield. The MTC headunits seem to filter a ton down by the time the Android OS connects to the MCU controller, so there is hardly anything useful there to see. Not to mention that same onboard MCU controller spams canbus with messages for the instrument cluster display from power on, and can't be turned off. Hence I had to bypass that as well in order to render text on the instrument cluster display (I plan to show track names playing on the AUDIO page and, if you have the telephone page, allow you to dial a contact from there! (Ive done this with a prototype project on my GitHub account called W203-Canbus).
For now, I don't think you can test anything as such but I suggest you get some wires ready for both can B and can C, and buy an Arduino Uno and 2x canbus shields

Great Job !!!
I was desperately looking for CANBUS related info for my use case on a mercedes car (2009 W164) where i receive very limited CANBUS info and found this thread.
Comparing folks with Audi/VW/SKODA where they are able to see pleanty of info (AC, Parking Sensors, door open etc) with my situation on a mercedes vehicle made me mad for not able to have those info available.
Keep up
Thx, Alexis

Thanks!
I'm making a series showing how I'm building the whole interface FYI - you can see all the interface progress as I'm designing the system:

@UKSFM99 how's it going, it's been a while since you posted these... ?

Related

Buick Regal aka Opel Insignia Android head unit

I have this radio "hxxp://www.ebay.com/itm/121249150207?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649" (I put xx in the HTTP because I don't know it live links are allowed.) This unit uses the systems stock control panel giving it more of a factory look. It's not perfect, but it works.
Some of the issues I have are it's running android 2.3. It will not mount flash drives unless they are present when the system boots. You can't really browse the web because the memory will load up too fast and slow the device to a crawl to a point where its not usable, so some quick web browsing is out. Because I followed the instructions when hooking everything up which may I add were not completely accurate, I can't play dvd's not even with the vehicle on park. The pink parking break cable with these two brown cables were all on a connector which I connected. I really did not want to mess up the warranty by splicing cables that look as they they should not be spliced just so I could ground the pink wire. Bluetooth wont connect to my obd2 device, as it pairs and disconnects. I can go on and on, but I have managed to work through some of the problems.
I am wondering if there is a way to root this unit, or update the OS? Is there an alternate solution to the DVD app so maybe I can play DVD? I only have a back button on the unit, so there is no menu button. There is a config button that takes you into the settings menu, and that is about it.
It does have the Imx53 smd Arm7 with 512mb of ram which I think is a lie because I only saw 308mb, but maybe you loose some ram on video.
Bump
So nobody has any ideas?
Bump

[APP][3.0] PodEmu - connect Android to 30pin iPod docking station or car

About
PodEmu is Android application that allows you to connect your Android device to iPod docking station or your car audio system. PodEmu supports both AiR (Advanced) and Simple modes so you can control your Android music app directly from docking station or from your cars steering wheel. PodEmu uses serial protocol to communicate with iPod docking station so it will work only with "old" 30-pin iPod connectors. Lightning interface is not supported.
PodEmu in action:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Features
No root required
Display track/time information for currently playing song on your car audio system or docking station display.
Control your favourite Android music app (eg. Spotify, YouTube, Amazon Prime Music, Apple Music) directly from car's steering wheel or docking station remote control
Download docking station color image to android device. Car audios usually have this feature.
Support for Bluetooth serial devices. You can assemble the dongle and connect your android completely wirelessly.
Entirely Open Source You can modify and redistribute as long as you comply with GPLv3.
Screenshots
​
Requirements
- Android device with USB host support (USB host support not required if you are using FT311D or FT312D dongles, or Bluetooth)
- DIY cable or DIY bluetooth dongle. Unfortunately there is no ready-to-use cables available on the market so you need some basic soldering skills to assemble your own cable. Read further for details.
Supported Music Application List
PodEmu will support any music application out of the box if this application properly declares notification in notification/status bar. The table below summarises the behaviour of the applications with which PodMode was tested.
Additionally, please remember, that in order support track/album/artist/playlist/genre navigation fully PodEmu need to have this information provided. Unfortunately there is no way to retrieve this information through the notification bar. In the best case PodEmu is only able to gather information about currently played track, total playlist size and current track position. Therefore PodEmu is trying to mimic the rest of the information for the docking station to be able to operate. Please also note, that each docking station behaves differently and therefore final behaviour will be also different. Feel free to provide feedback with your experience on XDA thread or raise an issue through GitHub issue tracker.
ListSize and ListPosition information is very important to be able to see the total amount of songs in the playlist from the docking station and to be able to select random song from list and jump to it. Whenever this information is missing PodEmu will not know how many songs are in the the current playlist and will not support "jump to" command. In such case you will see one album, that contains 11 songs. Also remember, that even if ListSize information is provided, PodEmu don't know track names "a priori". Therefore, first time you browse them from docking station, you will see titles like "Track XYZ" for all of them. However, once the song is played, its' title is remembered at given position. This list is flushed when total count of song is changed or application is restarted.
For more details about supported apps please visit GitHub project page.
How it works
To work properly PodEmu requires to be connected to your car using two separate channels:
- audio channel (obvious)
- data channel (for control and metadata information)
Audio is transmitted through "classic" analog lines. For metadata serial interface is used. PodEmu will not work with usb/lightning cable, because with such cables all information (including audio) is transmitted digitally and PodEmu is not able to interpret it (plus due to Android architecture it might not be possible to properly recognise the external device and talk to it).
Both channels mentioned above could be connected directly using wires, or bluetooth modules. Below you can find multiple options available to connect your Android device with iPod 30-pins interface.
Audio channel can be connected directly, by wires, or with use of BT module that supports A2DP profile, for example XS3868, RN52, BK8000L.
Data channel could be connected by wires. In this case you will need any USB-to-serial interface like FT232R, FT231X, FT311D, FT312D, PL2303, CP2102, CP2105, CP2108 or CP2110. Alternatively, you can also connect it with any BT module that supports SPP profile (except BLE devices which are too slow). For BT you can use modules like HC05, HC06, RN52.
Obviously you will also need to power all the modules up. There are multiple ways to do it. Below is an example of wiring diagram for XS3868 and HC05 modules that are powered up by LM2596, but you can use any power supply that can provide appropriate voltage and current.
Note for all diagrams below: R1/D1 elements are only required for those cars/docking stations where car or docking station expects the pin 18 to be pulled up to 3.3V by iPod. Otherwise it will not recognise iPod connection. R1 is required to limit the current and D1 is added to protect the dongle (could be omitted to be honest). If you are not sure if you car needs it, it is safe to start without R1/D1 and if car does not recognise connection, then just add it.
Connection diagram: Wired
This is the simplest and the most reliable version of connection.
Supported serial interfaces:
FTDI: FT232R, FT231X, FT311D, FT312D
Prolific: PL2303
SiLabs: CP2102, CP2105, CP2108, CP2110
PodEmu was tested with FT312D, PL2303, FT232R, CP2102. Other chips should also work (as claimed by driver developer), but were never tested with PodEmu.
Connection diagram: Bluetooth with HC-05 and XS3868
Bluetooth setup was tested with HC-05 as serial interface device and XS3868 to stream audio. Connection diagram that was used is the following:
Important notes:
- do not short audio ground (pin 2) with power ground (pins 15 and 16). If you do it, significant noise will appear.
- voltage is set to 3,55V and not to 3,3V. 3.3V is normal operating voltage for HC-05, 3.6V is maximum for HC-05. However 3.6V should be minimum voltage for XS3868. When voltage drops below 3.5V, XS3868 will produce audible warnings. To avoid it, but to stay within HC-05 voltage limits it is recommended to set voltage between 3.5V and 3.6V. There are known cases when slight exceeding 3.6V burned HC-05.
- before using HC-05 it need to be configured. You need to change Baud Rate to 57600 (or whatever rate is required by your car/dock station)
AT+UART=57600,0,0
For details about configuring HC-05 please refer to this manual)
- changing device name is not required, because you can choose the device from paired devices list from the application
- after BT module is configured, you need to manually pair with it. Once paired, start PodEmu, go to settings and select your device from the list of paired devices. Then PodEmu will connect automatically.
- serial interface cable has higher priority to connect, so if it is attached, BT will not connect. Detach the cable first and then restart the app.
Connection diagram: Bluetooth with RN52 (basic)
Setup with RN-52 module is shown below. The big advantage of this module is that it supports both audio and serial profiles, so you don't need to pair your phone with 2 bluetooth modules. Disadvantage is high price (~25 USD).
Note: if you use SparkFun breakout board as depictured above, for some reason they didn't made the pad for AudioGND pin, so you'll need to solder to pin 39 of the module (AGND). This is 6th pin from the topmost right side on the picture above. Luckily there is thick copper area below "SPK_L-" that you can use.
There is minor issue with such connection. Due to the fact that RN-52 is using differential output and we are using only audio positive lines, there are electrical spikes few seconds after audio goes mute. It can be heard as single "clicks" few seconds after going on mute.
Before using RN-52 module you need to program it. It is done by connection GPIO9 pin to ground. Then you can connect module to you computer to standard COM port using UART_TX and UART_RX and program it. Commands you will need:
Code:
su,04 - set baud rate 57600
sd,06 - enable only A2DP and SPP discovery profiles
sk,06 - enable only A2DP and SPP connection profiles
sn,PodEmu - set device name to RN52-PodEmu
ss,0F - set default gain level to maximum
Connection diagram: Bluetooth with RN52 (advanced)
For those who has pcb production skills I recommend to use this schematics. In comparison to previous RN-52 schematics, this implementation uses TPA6112 audio amplifier with differential input. Using this amplifier eliminates "single clicks on mute" issue described in previous section.
Note: Don't forget to setup RN-52 module as described in previous section.
My personal implementation of this dongle looks like this:
Reporting issues and requesting enhancements
Please use "Issues" tab on GitHub to report a problem or request an enhancement. You can also report a problem directly from application. For this, just enable "Enable debug collecting" option in settings, then reproduce the issue, and then use option "Send debug to developer". This will send debug file with all logs from application. Don't worry, it will not collect your personal data. However, while sending, please don't forget to describe the problem you are encounting - otherwise your email will be ignored.
Credits
USB Serial For Android: https://github.com/mik3y/usb-serial-for-android
ByteFIFO class: http://www.java2s.com/Code/Java/Threads/ByteFIFO.htm
Android Developer Icons: http://www.androidicons.com/
Question mark icon: http://www.clipartpanda.com/categories/animated-question-mark-for-powerpoint
Subscribed
If I can help you test out things, just let me now. Still have to build the cable tho.
Also if it would be possible to build a Bluetooth-only adapter (like Tune2Air), I would be really interested in!
BTW, I'm owning a 2009 BMW 3-series, with iDrive and USB/iPod-Connection (Serial+Analog).
iCstyle said:
Subscribed
If I can help you test out things, just let me now. Still have to build the cable tho.
Also if it would be possible to build a Bluetooth-only adapter (like Tune2Air), I would be really interested in!
BTW, I'm owning a 2009 BMW 3-series, with iDrive and USB/iPod-Connection (Serial+Analog).
Click to expand...
Click to collapse
Great! As soon as you have the cable and do the first tests, please let me know the result. Any help with testing is appreciated!
About BT adapter - this should not be a problem, but BT sound quality sucks so I didn't consider it. However, there are ready to use adapters on the market like this one: http://www.iphonejd.com/iphone_jd/2013/10/review-dockboss-air.html. Before starting this project I ordered one of them (not dockBoss but some other chineese copy) and it didn't work with my car. Maybe you will have more luck.
I will
I don't think BT audio is that bad. I almost don't hear any difference between Tune2Air and AUX (if source media is good quality). And I'm really into good sound quality. Then there's still the option of using a BT module with apt-x codec, which should be good enough
Does dockboss air support AVRCP with id3tags? But even if it does, it will never support browsing playlists I think? And it's boring to use a device which already exists to buy
I know a lot of people who would be interested in such a (Bluetooth) solution, and if it would support of browsing playlists/songs from apps like Google Music, Spotify, etc., that would be so awesome!!! I don't know of any other App which does this...
iCstyle said:
And it's boring to use a device which already exists to buy
Click to expand...
Click to collapse
Haha, I liked this part of your post the best!
iCstyle said:
Does dockboss air support AVRCP with id3tags? But even if it does, it will never support browsing playlists I think? And it's boring to use a device which already exists to buy
Click to expand...
Click to collapse
As far as I remember - yes, it supports AVRCP.
iCstyle said:
I know a lot of people who would be interested in such a (Bluetooth) solution, and if it would support of browsing playlists/songs from apps like Google Music, Spotify, etc., that would be so awesome!!! I don't know of any other App which does this...
Click to expand...
Click to collapse
We can consider building such BT solution as the next step. For now I would like to focus on polishing PodEmu .
I DL'd from the market a few days ago. PodMode didn't quite work for me either, but in all fairness I didn't troubleshoot.
Besides the one problem I posted in the other thread, the display doesn't often update.
If I change the song on the tablet the display continues showing whatever song was playing previously. Changing the track with the car buttons changes the display as it should.
My car is a cheap POS electronic wise so I'm only looking to utilize the display as only the track buttons works.
fr4nk1yn said:
I DL'd from the market a few days ago. PodMode didn't quite work for me either, but in all fairness I didn't troubleshoot.
Click to expand...
Click to collapse
Now I am confused. Are you talking about PodMode or PodEmu?
rp9 said:
Now I am confused. Are you talking about PodMode or PodEmu?
Click to expand...
Click to collapse
PodEmu* is the one not always displaying the correct track.
*Just stating I tried both apps.
fr4nk1yn said:
PodEmu* is the one not always displaying the correct track.
*Just stating I tried both apps.
Click to expand...
Click to collapse
Ok. PodEmu is not pushing song info by itself when it is changed. This behavior is consistent with what real iPod do. Whenever real ipod is connected to the car it's screen is blocked and you cannot control music from ipod, only from car. Anyway I noticed that my car detects song change and "asks" about song details itself. Your car apparently don't. This is why I need more testing on different cars / docks [emoji2]. I'll try to add this feature in the next build.
I just ordered the parts I need for the cable, hope to get them till saturday, then I can start testing
Btw, where are you from?
Bought one of these :http://goo.gl/RNoQop, soldered on a USB cable, reverse the data cables, the app now works great with no configuration.
One note is on my tablet when the serial adapter is first plugged in the on screen prompt has had to be accepted for PodEmu or it doesn't recognize the adapter.
fr4nk1yn said:
Bought one of these :http://goo.gl/RNoQop, soldered on a USB cable, reverse the data cables, the app now works great with no configuration.
Click to expand...
Click to collapse
Great!
fr4nk1yn said:
One note is on my tablet when the serial adapter is first plugged in the on screen prompt has had to be accepted for PodEmu or it doesn't recognize the adapter.
Click to expand...
Click to collapse
This is normal android behavior: app is asking permissions to use usb device. If you don't grant, app is not allowed to use the device.
Btw, fr4nk1yn, could you post make and model of your car?
30 pin connector only or USB?
Just wanted to clarify, will this app/DIY cable combo only work on devices with a 30 pin male connector on them, or can I use a 30pin male to USB connector to hook this up to my car stereo?
For example:
Android phone --> PodEmu --> DIY Cable --> 30pin connector --> USB --> Car Stereo
or is this only good for car stereos that have the 30 pin connector built in?
Thanks
TheCrut said:
Just wanted to clarify, will this app/DIY cable combo only work on devices with a 30 pin male connector on them, or can I use a 30pin male to USB connector to hook this up to my car stereo?
For example:
Android phone --> PodEmu --> DIY Cable --> 30pin connector --> USB --> Car Stereo
Click to expand...
Click to collapse
TheCrut, short answer is "most probably - no".
Long answer: it all depends on what is your 30pin-usb cable. If you are talking about std cable that you use to connect iPod to PC, then the answer is no. However if you have special cable supplied by your car manufacturer it might work. Eg as you might learn from spadival 's thread Hyundai cars has such dongle.
TheCrut said:
Just wanted to clarify, will this app/DIY cable combo only work on devices with a 30 pin male connector on them, or can I use a 30pin male to USB connector to hook this up to my car stereo?
For example:
Android phone --> PodEmu --> DIY Cable --> 30pin connector --> USB --> Car Stereo
or is this only good for car stereos that have the 30 pin connector built in?
Thanks
Click to expand...
Click to collapse
If your stereo supports an iPod connection by USB you can skip the 30pin connector. You just need to wire the serial wires to the USB data pins.
@rp9 I'm getting weirdness but I'm hoping I solved it.
The app doesn't like when the tablet sleeps and wakes continuously. The track buttons starts changing tracks "randomly". Track forward will cycle between back and forward, switching between the same 2 songs, then it picks a track somewhere in the playlist then operates normally for awhile.
I've started killing PodEmu on suspend which I hope fixes the issue.
-Edit: Hyundais pretty much suck.
I think I've narrowed the issue down to PodEmu being connected to the serial adapter but the "dock" is "disconnected".
fr4nk1yn said:
-Edit: Hyundais pretty much suck.
I think I've narrowed the issue down to PodEmu being connected to the serial adapter but the "dock" is "disconnected".
Click to expand...
Click to collapse
Hi fr4nk1yn. I am not sure if I understood correctly your problem. Can you please describe step by step how to reproduce the issue, expected behaviour, observed behaviour. Also without logs I cannot do too much. Please collect and send them to me.
hey, what about hc-05 support?
and thanks ofcourse!
if you need me as a tester for the hc-05 I can help.
rp9 said:
Hi fr4nk1yn. I am not sure if I understood correctly your problem. Can you please describe step by step how to reproduce the issue, expected behaviour, observed behaviour. Also without logs I cannot do too much. Please collect and send them to me.
Click to expand...
Click to collapse
I'll get some logs to you. I don't actually drive the car too much during the week. I'm afraid the logs will be quite large trying to replicate the issue.
I'm not sure what's causing the disconnects.
I'm using Timur's kernel with a N7'13 so when I shut the key off the tablet goes to sleep. Killing PodEmu before sleep made no difference.
Another oddity, that should not be caused by the app but only happens while in use, is Play Music frequently "not being able to play the song".
@rp9 I sent a log. Unfortunately I didn't look beforehand so it has a lot of previous stuff going back to the 31st.
Hopefully the stuff from tonight is of help.
Thanks for the making the app open source. I drive FIAT Punto in India 2013 Model. I would like to understand how this works? My Car supports direct 30 pin USB connection no special cable is needed. Does the app send the audio over usb? I will be glad to help you to test it out with my car.

No external canbus decoder box on newer PX5 HUs?

Hi MTCD community.
Thanks to the time between the years (that's how we call December 27th to 31st in Germany), I had time to upgrade my HU. Up to now I had a RK3188 quad-A9 one (Erisin ES2508B, KGL) that had a proprietary power connector and a external canbus decoder box. (more information here: http://vi.vipr.ebaydesc.com/ws/eBay...descgauge=1&cspheader=1&oneClk=1&secureDesc=0 )
That external canbus decoder of the unit has a few dedicated output pins for illumination, reverse gear and a UART (?) style digital RX/TX connection to send wheel-button key commands. It's a perfect example for a Chinese product. This solution it easy and works - almost:
On Mercedes cars the wheel-buttons are used to steer the so called Kombi (KI). KI and HU are connected via canbus. Key commands are send in one specific can-message. The canbus decoder box is said being made specifically for Mercedes cars. While it correctly decodes button presses it fails to decode the current KI menu. As a result the HU will always interpret the "prev./next" buttons, even when you're not in the KI's Audio menu. As a result you either stop using your KI (bad option) or you disable some keys in the HU (that's what I did). The decoder box is also only reading the canbus and thus not able to send audio titles or the current radio frequency/station name to the KI.
Because of the decoder box sitting between HU and KI I never tried to enhance functionality because that would have ment either connecting another R/W canbus dongle to the HU or replacing the chinese decoder box and reverse engineering the RX/TX communication between decoder box and HU.
---
The newer PX5 unit that I now own (Erisin ES7689C, KGL?/LM?, http://www.ebay.co.uk/itm/Android-8...s-W203-W209-/123151147422?hash=item1cac61619e ) has a Quadlock connector (that's the correct name for the multi pin connector that became popular on HUs beginning in the early 2000th) and no external canbus decoder box (it is indeed perfectly plug'n'play). It is also able to identify itself to the KI as Radio which means it is also writing to the canbus. Compared to an original OEM HU, information is still extremely limited and it again fails to interpret only wheel-button commands send from the KI's Audio menu. - But, it is able to write to the canbus, so potentially this is a much better starting point for enhancements.
Now the key question: Does anyone know how the HU is communicating with the canbus? Is the decoder box just inside the HU's housing (and again being an extra translation module) or is it a proper canbus device controlled by an app or service from inside the HUs android?
Good piece of info mate. Thanks a lot
Unfortunately i am not able to answer the question due to limited knowledge.
I own a Mercedes w164 and have the same issues and i am keen to find a solution. Open a thread for that too here > https://forum.xda-developers.com/an...t/adapter-help-mercedes-t3903165#post79005544
My MTCD idetails are :
Unit: MTCD PX5
MCU: MTCE_GS_V3.00_3
ROM: Halk9 Mod 3.1 (Android 8)
Can Adapter : GS 10280514 / HW:V2 SW:V3
Can adapter Setting: 23 Benz_B200(simple)
On another thread more HW related you can find pleanty of info >
https://forum.xda-developers.com/an...elopment/mercedes-benz-class-comfort-t3680320
Also this guy did some work on canbus : http://honeysw.com/canproject.php
and here another piece of info : https://forum.xda-developers.com/an...-units-qa/how-bus-messages-make-unit-t3352343
Hi I also have a MB lol, a w203.
I have been through several head units of types makes etc, so know exactly what you mean. Although I never heard of 'ki' before.
My latest unit I have is def very good (best was a pioneer with separate car-pi can decoder) and that is also an erisin.
Great minds an all that eh!
The unit I have is a 4/32gb android 8. MTCE. It was working very well until I developed a problem with my reverse camera signal not getting picked up. Was switching OK but no image??
Anyway I bit the bullet and installed the custom rom by Malaysk which helps the camera but no steering control (for me) on 3rd party apps.
There is some talk about mtce files etc but I couldnt get anything to work until I installed a brilliant prog called mtcdtools (free from github).
Very techy to understand / use but with the info and help from others managed to replicate enough to get the two up/down left buttons working perfectly on all apps. It starts up by itself and stays in background. I'm very pleased with result and sure it could do much more if i only knew how. Def give it a go.
Also the up/downs only while in the audio sub menu and they operate whichever music app is running even while in the background if that makes sense. The right volume buttons always worked anyway, and with the phone.
I think the real challenge now will be getting info in the dash display to correspond with what ever app is on top. Currently mine just says audio off when using dab, but displays station number in radio and time elapsed from music player., but nothing from nav.

Question Xtrons Head unit for 2010 Lexus IS250, cant get some Steering Wheel Controls to work!

Hi everyone
I have a facelift 2010 Lexus IS250 F Sport, I've had some large success installing this XTRONS head unit for it and I am largely satisfied with it. I am however having an issue with getting Steering Wheel Controls to work with the head unit.
Lexus | Various | Android 10 | Octa Core | 4GB RAM & 64GB ROM | Integrated 4G Solution | PMA10ISLS
XTRONS PMA10ISLS is a 10.1" large screen car stereo with customized face panel and optimized CANbus Decoding for Lexus. It supports CarAutoPlay, built-in DSP, PIP mode enabled ,Dual Theme, Instant Rear Vision and so on.
xtrons.co.uk
Lexus| Various | ISO Wiring Harness | MOST
This ISO Wiring Harness is compatible with XTRONS custom fit units PSP10ISL,PMA10ISL etc. If your car is Lexus IS250/IS300/IS350 Convertible (2-door)with original navigation or fibre amplfier system,you need this cable to aid for the installation.
xtrons.co.uk
This is the unit I purchased, alongside a special wiring harness so that I could use it with my vehicle as its a facelift Navi.
With the default CANbus setting on my head unit, only Volume control seems to work and the phone call buttons and voice command buttons are mapped to functions like Radio and Hey Google but I cannot programme these on the app. With an alternative CANbus setting I get skip track functionality but I get different AC Controls and lose access to my factory amp settings.
The original wiring harness I got for the headhunt has not been used at all as I was instructed to usr the special harness, and that original harness had a CANBUS decoder. XTRONS claim that I am unable to programme the SWC due to the CANBUS needing to decode it, although I have played around with the settings and selected various different CANBUS settings.
Would anyone be able to advise me on how I can get the SWC working, would it involve plugging the CANbus decoder into the head unit? There is a 12 pin connection spare at the back but I am unsure if that would make the difference or not.

Hardware Development Enabling audio output on VW MkVI GTI w/ Dynaudio

I'm not sure this is the best place for this, but given how hard it was to find good information about this combination, I thought I'd put it here.
I purchased a M500S for my MkVI GTI, however when I installed it, I couldn't get any audio output. Searching the internet for how to use the stock amp with an aftermarket head-unit yielded lots of different information, most of it wrong. I talked to the vendor, but they were less than helpful, indicating that Dynaudio was unsupported with this head unit (true) and that VW used an optical signal to communicate between the head unit and amplifier (untrue). I saw a post from @COASTER19 regarding reading the steering wheel buttons on an Audi here, which looked awfully similar to my steering-wheel/gauge cluster, so figured I'd give it a go myself.
So I built hooked a cheap CAN bus controller to a Raspberry Pi, and analyzed my current (working head unit). I was able to determine that:
The media CAN bus runs at 100 kbps (as opposed to the drivetrain canbus which runs at 500 kbps)
The amplifier has an identifier of 0x6C7
The amplifier can be powered on/off via CAN bus commands
Once powered on, the M500S audio worked fine
The amplifier supports direct balance/fade commands (which may be useful some day in the future)
With this info, in hand, I made a simple circuit from an Arduino Pro Mini + MCP2515 module that is activated from the 'Amp Power' lead on the back of the radio. It simply replays the messages I snooped from the current head-unit, and now my M500S works perfectly with the stock Dynaudio amplifier/speakers. I don't currently send the fade/balance commands to the amp, so maybe the quality could be better, but that is a project for another day.
I have released the schematics, code and what CAN info I have on GitHub here.
In theory this project could completely replace the module that came with the unit and/or provide music/navigation updates on the gauge cluster as well, but that requires figuring out how to get that info out of the head unit, and I don't have the time to write an Android application to do so right now.
While trying to identify the CAN ids, I found this post by @hugovw1976
regarding a Golf 6 with some CAN bus commands: https://forum.xda-developers.com/t/mtcd-kgl-px5-canbus-problem-with-vw-golf-6.3632690/post-73939457
That post identifies the following canids:
0x2C3: power on/off
0x635: lights on/off
0x470: doors open
0x35B: RPM
0x527: Speed and outside temperature
0x621: Wiper state and fuel level
0x65D: odometer
0x351: reverse and brake
0x571: battery voltage
0x151: seat-belt state
I didn't spend too much time investigating these, but I at least see some correlation with the battery voltage, door-open, and fuel-level canids, so they are probably accurate. However, I was not able to correlate the odometer, so probably further investigation is needed there.
AxesofEvil said:
I'm not sure this is the best place for this, but given how hard it was to find good information about this combination, I thought I'd put it here.
I purchased a M500S for my MkVI GTI, however when I installed it, I couldn't get any audio output. Searching the internet for how to use the stock amp with an aftermarket head-unit yielded lots of different information, most of it wrong. I talked to the vendor, but they were less than helpful, indicating that Dynaudio was unsupported with this head unit (true) and that VW used an optical signal to communicate between the head unit and amplifier (untrue). I saw a post from @COASTER19 regarding reading the steering wheel buttons on an Audi here, which looked awfully similar to my steering-wheel/gauge cluster, so figured I'd give it a go myself.
So I built hooked a cheap CAN bus controller to a Raspberry Pi, and analyzed my current (working head unit). I was able to determine that:
The media CAN bus runs at 100 kbps (as opposed to the drivetrain canbus which runs at 500 kbps)
The amplifier has an identifier of 0x6C7
The amplifier can be powered on/off via CAN bus commands
Once powered on, the M500S audio worked fine
The amplifier supports direct balance/fade commands (which may be useful some day in the future)
With this info, in hand, I made a simple circuit from an Arduino Pro Mini + MCP2515 module that is activated from the 'Amp Power' lead on the back of the radio. It simply replays the messages I snooped from the current head-unit, and now my M500S works perfectly with the stock Dynaudio amplifier/speakers. I don't currently send the fade/balance commands to the amp, so maybe the quality could be better, but that is a project for another day.
I have released the schematics, code and what CAN info I have on GitHub here.
In theory this project could completely replace the module that came with the unit and/or provide music/navigation updates on the gauge cluster as well, but that requires figuring out how to get that info out of the head unit, and I don't have the time to write an Android application to do so right now.
Click to expand...
Click to collapse
I registered to this forum specifically to reply to your post. THANK YOU. I have just installed an aftermarket head unit and it went swimmingly until I discovered that it doesn't play nicely with my factory upgrade audio system. Then things went from bad to worse when I discovered that the Dynaudio/Fender amplifier is controlled via CAN, not just some 12V signal. I was going to reinstall the factory RNS510 and sniff the CAN bus when I came across this post and your github code.
I have not tried it yet, as I am hoping that the vendor (who is VERY responsive) will be able to integrate it right into the radio. Failing that, I'll be able to whip up a similar circuit to yours and be up and running. Thank you for sharing not just the code, but the technical details behind it. I truly appreciate it!

Categories

Resources