Mercedes Benz A class Comfort Can - MTCD Android Head Units Q&A

Hi forum,
since I do so hard to find information what and how to send on can bus to my Mtcd Lm Px5 unit for Mercedes Benz A class to get any reaction I sum up the little I found up to now, so others can add.
I found some sites saying Mercedes Comfort Can (B?) uses 83.3 kbps low speed can.
Besides the lower baud rate low speed can uses another termination causing other levels on can rezessive.
While Highspeed Can uses 120 Ohm between CanHi/Lo each end, each LowSpeed Can node terminates CanHi against GND and CanLo against VCC by some resistance, the overall resistance shall be 100 Ohm but not less then 500 Ohm on a tja1055 transceiver, described in detail in follow document:
https://www.nxp.com/docs/en/supporting-information/AH0801.pdf
I can't find any boards with Low Speed Can Transceivers on the net but comparing drivers and input logic of a tja1050 HighSpeed and a tja1055 LowSpeed transceiver it is may be possible to use an tja1050 with external low speed termination as described for low speed can.
I can measure minus 10.x Volt between the unconnected CanHi and CanLo Lines of my unit matching the described low speed termination.

..

If there is somebody out there having sucessfully sent something to an unit for Mercedes Benz I will gladly do what he have done.

I now at least get Can Acks from my mtcd_lm unit sending with 83.3 kbps with an mcp2515/tj1050 without termination and nothing else at the bus, unit in deep sleep or up.
I get nothing logged in the factory settings logcan logger, don't know if the number in the upper right corner matters.

I now found all info on mbworld.org, the radio can bus is Can B / Body Can, 83 kbps low speed, spec:
https://drive.google.com/file/d/0B1Rb8jOWwErbQ19CM3dnZmsyRlU/view
a lot of info to Mercedes Message Ids and the mbworld.org thread:
https://github.com/jumph4x/can-bus-w211.git
https://mbworld.org/forums/audio-electronics/580108-w211-can-b-hacking.html
I now can switch on and off unit with raspberry pi and mcp2515/tja1050, no termination, nothing else at bus:
sudo ip link set can0 up type can bitrate 83300 loopback off
cansend can0 000#FF
cansend can0 000#FF --> On
cansend can0 000#00 --> Off
I still get nothing with the factory settings logcan logger, will try other ids for steering wheel buttons next.

Good to know that are you looking into the issue from the HW side .Several people with Mercedes have similar issues with CanBus.
I also create a thread here > https://forum.xda-developers.com/an...t/adapter-help-mercedes-t3903165#post79005544 not so technical though.
It seems that we might need a more robust CanBus adapter and i cannot find any info where to buy one or create a custom made using raspberry or arduino. I assume you are focusing on the second ?

Related

[Q] Ryzmedia IR device universal remote dev???

Anyone hear if there's any development going on for use with the Ryzmedia IR device?? I'd find it much more useful on my Eris than my itouch. Here's the link to the device webpage, and some technical information that might be helpful:
ryzmedia (dot) com
compendiumarcana (dot) com/iraudio/
From MobileCrunch:
You could go to Radio Shack right now and build one for $5. $10 is very fair, especially for the time and love put into it.
Basically what it is is two IR led’s connected to the right and left polarities of the headphone plug. Those LED’s are actually flipped opposing each other. This is needed because the standard headphone output only does 0-20k per channel and the normal IR remote operates at 38k. By putting one side to each of the functional channels and having that built in modulation gives you the ability to generate a 40k signal.
So how you do it is:
1: Record the IR behavior using a IR detector connected to the ground-single channel at as high of bit rate as possible (usually just 41k or 48k on a normal lappy – may be up to 192k)
2. Clean signal to get pure digital square wave
3. Reassign the signal to play back at 19k on a single channel
4. Invert that same single channel and assign that to the other channel
5. When played through your headphone port using the appropriate equipment it will show up out of the LED’s as a properly modulated 38k signal just PERFECT for controlling your TV!
I made a learning version that basically had a 4-pole plug and used the Mic port for the IR detector. The hard part is in getting the signal, turning it to 1/0′s, changing to 19k, and running inverted signals on each channel. I haven’t actually gotten that far and made it to test some things, but recording off the mic port does seem to be good enough to clean up on a PC and have it work. Though hope that the App Makr for Android will at least help me get an actual interface instead of a playlist….
Got any android audio experts in the house?

MTCD SoFia "LM" Head Unit Pre-Amp Output Levels?

New to these Android units.
Does anybody here know of a way to increase the output levels from the RCA Pre-Amp Outs?
I am wondering if settings for this are in the MCU software, or in the Android side of the software. My Radio sounds great with this unit, but the Music Player app seems to have around 30, or so percent less audio volume. I have searched, but so far found very little about this issue. Any help will be much appreciated.
I ran into the same problem, so I've used a NVX LOC with independent gain controls for all 4 channels.
Thanks for your reply
Thanks, but I want to keep the factory Bose amp, because I have read in several places that the speakers in the car have a non-standard impedance that the amp is matched to. Besides that I want to keep all the wiring in the car stock so I can put everything back to stock later if wanted. There must be some way to increase the output in the units software somewhere, so I am hoping that a software guru will chime in here at some point and tell me something like: "oh, yeah, just change the values in the such and such file located in the sub folder of the System folder. I'm patient, so time will tell.
Doesn't these factory sound systems use proprietary connectors with high level inputs? I've never seen a factory amp with RCA inputs.
Proprietary Factory Audio Systems
Yes, in my case with the Infiniti Q45 it is is a proprietary system, but I used a Metra aftermarket connection adapter (Metra 70-7551) to tap the original wiring plugs that normally go into the back of the factory Bose head unit. The Metra adapter allowed me to make the connections without having to cut up the factory plugs. It included the 4 RCA plugs to tie into the original feed wiring going back to the amp in the trunk. Helped me keep everything nice and neat, and eliminated the need to run speaker wires, or make splices into the amp inputs. I also used a Metra 40-NI11 antenna adapter to convert the Nissan proprietary antenna lead to a standard antenna fitting to go into the new Android radio. I don't sell Metra stuff, but only mention it here because it helped me do a nice clean install of the new radio, and it gives me the option of going back to stock very easily.
TECHADDICT5610 said:
New to these Android units.
Does anybody here know of a way to increase the output levels from the RCA Pre-Amp Outs?
I am wondering if settings for this are in the MCU software, or in the Android side of the software. My Radio sounds great with this unit, but the Music Player app seems to have around 30, or so percent less audio volume. I have searched, but so far found very little about this issue. Any help will be much appreciated.
Click to expand...
Click to collapse
isn't that the "input gain" settings, usually reachable via factory settings?

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.

For W211/203 owners with Headunits - I've ported MBUX with full CAN data to android!

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... ?

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