No announcement yet.

OEM MFD2 (VW) and a PC. My next IVI (to replace my nexus 7 custom HU)

  • Filter
  • Time
  • Show
Clear All
new posts

  • OEM MFD2 (VW) and a PC. My next IVI (to replace my nexus 7 custom HU)

    ///// Project: MFD2 CarPC
    ///// [This post will always be updated with new info. Be sure to check here from time to time]
    ///// [For details about how this began, check the posts below]

    I) Getting video up
    a) Physical connections tutorial [to be finished later]

    b) Setting up the video timings.
    NTSC Modelines for VGA direct input: (DTD Calculator compatible. For PowerStrip calculate deltas)
    854x480i :
    Pixel Clock (Mhz) : 18
    H Active Pixels: 854
    H Start of Sync Pulse: 910
    H End of Sync Pulse: 954
    H End of Blanking interval: 1092
    V Active Lines: 480
    V Start of Sync Pulse: 490
    V End of Sync Pulse: 500
    V End of Blanking interval: 524
    [X] Interlaced
    -hsync -vsync
    Computed modeline: 08 07 56 EE 30 F0 16 00 38 2C 55 00 00 00 00 00 00 80

    800x480i: (This should provide better compatibility with different skinned car targeted software)
    Pixel Clock (Mhz) : 18
    H Active Pixels: 800
    H Start of Sync Pulse: 836
    H End of Sync Pulse: 902
    H End of Blanking interval: 1026
    V Active Lines: 480
    V Start of Sync Pulse: 520
    V End of Sync Pulse: 528
    V End of Blanking interval: 562
    [X] Interlaced
    -hsync -vsync
    Computed modeline: 08 07 20 E2 30 F0 29 00 24 42 44 04 00 00 00 00 00 98

    Note: I highly recommend installing a VNC server or TeamViewer on the target PC when playing and setting up modelines because using these settings on a real monitor would most likely not show any picture (and has a slight chance of damaging old CRT ones, if anybody uses that anymore)
    Here's a good read for understanding modelines (and specifically tweaking Gfx drivers on intel):

    II) Touch screen
    Hardware installed and working. Installation pictures soon to come.

    III)CAN-BUS info
    @that_kid posted this information about steering wheel button ids. (Post #18)

    ID D0 Function
    0x5C3 0x6 Volume up
    0x5C3 0x7 Volume down
    0x5C3 0x8 Ok button
    0x5C3 0xA menu up
    0x5C3 0x9 menu down
    0x5C3 0x1 scroll wheel up
    0x5C3 0x81 scroll wheel down
    0x5C3 0x0 Any Button Release
    Last edited by dlbogdan; 12-24-2013, 10:20 PM.

  • #2
    I thought about using the RGB on my mfd2 but the output wasn't what I was looking for. I'm actually going the nexus 7 route and replacing my carpc.


    • #3
      Originally posted by dlbogdan View Post
      I'll try to keep the intro short.
      ... still. It has a RGB(sync on composite signal) video input ...
      I think you told that as it is . The video input for this unit stops when the car is on the move.
      My son's godfather owns one like urs . Yesterday we did it a firmware update to play cd music ( see he has the dvd version which doesnt play common music cds )

      There are companies that sell something that interupt the signal from the car's ecu so it work on the move . But that's quiete expensive.

      Anyway i will look forward to see your progress .

      ps . these gps units are awesome. you are getting into a tunnel and it keeps that signal for plenty of seconds. i would like to integrate my mcd to my car pc but i cant afford it for now and dont have the knowledge to do it my own.
      Vw Sharan 2007 1.9tdi || Exide 100Ah
      Fuzzy 945gme + core duo T2400 + 2gb ddr 667 + pci nvidia 5500 256mb + kingston v300 60gb + hdd 2.5" 100gb 5400 + Sure Gps module
      Primary monitor 8" 800x600 || Secondary monitor 15.4" 1280x800
      Powered by M2 atx


      • #4
        I have a MFD2 in my R32 mk5. I cant stand it, the Nav is dvd based and supper slow to start, that is my reasoning for adding a carputer. I couldnt find the resolutino on the MFD2 so i was afraid to use the oem screen. I think there is a company that makes a 6.5 layover touchscreen for the MFD2, that way you could send video to the mfd via computer then use the touch to control it. and switch back to the mdf for any other functions.


        • #5
          ---------Merging 1st post to reserve it for important up-to-date information
          I'll try to keep the intro short.
          I bought the car (Golf GT DSG) with this unit (MFD2 CD) installed from factory.
          I know, it's a slow, simple, low res screen (PAL res i believe) navigation unit which above all never had and never will have maps for my country.
          So I took it off and installed a Nexus 7 android tablet and sony amp instead.
          /BEGIN RANT
          Fast forward 3 months into present. I hate the setup. Getting the tablet out of the car (because of thiefs and also the cold climate), constantly having trouble picking up the USB hub, all the chore with android making it look right and making it feel right... No music player easy enough to use during driving. NO, really! I tried them all!!! No functional integration with the car: steering wheel buttons, and yes I know it can be done but.. huh.. another adapter some more wires.. some more trouble ahead, nothing displayed to my maxi dot display, the apps hanging, the tablet discharging too much and not beying able to use it for the next half an hour. UUUGGgghhh.. And the looks? It looks like a big disco ball in a hospital. Its place it's NOT in my car. (Ok, it doesn't look so bad but anyway..)
          /RANT ENDED

          I feel so lucky I never sold my original MFD2 unit because I have now planned my project around it. Stay with me.
          So only after using the Nexus 7 in my car I started to see the main advantage of an OEM unit: Integration (functional + aspect). Even the simple fact that it will dim it's button lights together with all the other buttons in the car when you thumbwheel the dash control near the steering wheel, or the simple and most basic fact that it HAS buttons.. real ones, or the simple fact that it will show you the climatronic settings when you fiddle around the temperature. Small things but all together it begins to count.

          The MFD2 OEM unit has something totally awesome still. It has a RGB(sync on composite signal) video input and an AUX button to go with it.
          So let's connect something to it. Something like a PC with a mature frontend specifically designed for car infotainment would be nice. Let's add to the basket a touch panel over the present 6.5" low_res_but_totally_awesome_transreflective_LCD and a CANBUS interface
          (Tech data and pictures to be continued)
          ------------------------------------------------//Merged post

          @RHCP4LIFE, I hear you, but would you hate it still if it would run full speed TomTom or iGo and a kick *** music player? Nobody hates the Radio or the CD playing capabilities of this device, just the crappy sluggish navi and (lack of) proper music playback. And we're aiming to fix just those.

          This is a work in progress. I will just post here as I go with it.
          The past to days was all about VGA timing experimentation.
          Let me explain.

          This is the back of the MFD2. In this part of the project, we are interested of the AUX connector. That is a connector for Audio/Video input and is normally used with reverse camera and/or factory installed TV-Tuner. If one wants to feed a different signal through there he/she would normally buy a Dietz convertor to do the job. Stop right there! DON'T DO IT! Don't through your money out the window for a crappy composite video convertor that would at best show a blurry and flickery picture.
          I'm an electronics engineer, a software developer ( and a chip tuner, but that's for maybe some other topics)
          Let's start from scratch and analyse what the MFD2 needs to show a picture when set to AUX (or TV)

          1. So as you can see from the image above, the unit needs R, G, B signals for colors and a sync, composite which as we all know is a XOR between H-Sync and V-Sync, signals normally used on PC VGA output ports. (read this to understand RGB-HV video signals: )
          2. We also know the signal fed through is expected to be either PAL or NTSC, so it must be of either 576 or 480 lines with either 50Hz or 60Hz (interlaced) freq. ( optional: to learn more about PAL and NTSC : )
          3. The screen is wide so we can roughly get for horizontal 1024 pixels for PAL or 854 for NTSC.
          4. The screen has a lower res then both W-PAL and W-NTSC numbers so we will stick with NTSC because otherwise we're just wasting pixels and video memory and GPU power.

          Q: So, what have we got so far?
          A monitor with these specs: NTSC Wide 854x480, 60Hz interlaced with RGB+C input.
          Q: What can we connect this monitor to?
          A: To a PC of course. But...

          But the PC outputs its video signals, (as you've of course read through the link provided above) to RGB with horizontal and vertical synchronisation.
          Well, there's a very easy way to convert H+V signals to Composite signal given that we know for sure the polarities of H and V are always negative: two resistors. I will not go too deep into explanations here, don't want to make people dizzy.
          As it turned out the two resistor convertor works but errr.. not perfectly good, so we add a little transistor and a couple of more resistors and we get this:

          Again, I'll not explain it, it should be pretty obvious for electronic hobbyists or cryptic as Chinese for everybody else. One thing's for sure, everybody can build that circuit in no time (took me 6 minutes and I didn't even had that link, found it after )

          So we now have a proper monitor for our PC VGA output, right? ... Wrong!
          We may have the electronics to do it, but our PCs don't normally output in PAL or NTSC resolution and timing.. They were meant for other output standards... like [email protected] or the like..
          So we just need to teach the PC an old trick, older than itself.. NTSC output.
          If you've read the course about VGA signals, linked above (of course you have..) you now know that VGA or RGB-HV works like this:
          Outputing a line: [ LINE VIDEO SIGNAL ] [ FRONT PORCH ] [ SYNC PULSE ] [ BACK PORCH ]. The Sync pulse, given that we're building a line here is on the Horizontal output.
          Outputing an image: [ FRAME COMPOSED OF LINES ] [ FRONT PORCH ] [ SYNC PULSE ] [ BACK PORCH ], with the SYNC being on the Vertical output.

          [To be continued on the next post]
          Last edited by dlbogdan; 12-10-2013, 01:56 PM.


          • #6

            Now the engineering details can go deep, too deep for this forum maybe, so I'll spare you some.
            The ideea is to compose a DTD (Detailed Timing Descriptor) that a PC graphics card would use to output NTSC video for our MFD2 to display.
            Isn't this great?
            Now, I have temporarily chosen an intel 945 GM video card based PC for this project so I can't fully use PowerStrip to do the whole job. All in all is better.
            It forced me to use the DTD Calculator ( ) to roughly make a DTD for the giver resolution (854x480) and then use PowerStrip for fine tuning after which I'd use DTD again to punch in the final tuning into the registry so I'd never need PowerStrip again.

            After not as much tinkering I thought it would take, I had a perfect picture on my MFD2 monitor with these timings:

            RAMDAC: 17.24 Mhz
            Horizontal Geometry: Scan: 15.7 Khz, Active: 854 px, Front Porch: 56 px, Sync Width: 44 px, Back Porch: 138 px -> Total 1092 px
            Vertical Geometry: Refresh rate: 60 Hz (interlaced so 30 Hz), Active: 480 lines, Front Porch: 6 lines, Sync Width: 4 lines, Back Porch: 35 lines -> Total 525 lines
            Sync: -H, -V (very important if you use the same convertor I used)

            ****NOTE: There seems to be a bug in DTD Calculator that won't allow you to set a non integer RAMDAC frequency. So at least on Intel boards, without Powerstrip we have to set the RAMDAC to 18 Mhz.
            This changes slightly the Vertical Geometry to compensate for the higher frequency. As we can't perfectly compensate, we are now running a non standard refresh rate of i62Hz, but the MFD2 displays it perfectly.
            So the configuration now looks like this (values directly compatible with DTD Calculator, non-delta. If you want to use these with powerstrip (with non intel boards maybe) you have to calculate the deltas):
            Pixel Clock (Mhz) : 18
            H Active Pixels: 854
            H Start of Sync Pulse: 910
            H End of Sync Pulse: 954
            H End of Blanking interval: 1092
            V Active Lines: 480
            V Start of Sync Pulse: 490
            V End of Sync Pulse: 500
            V End of Blanking interval: 524
            [X] Interlaced
            -hsync -vsync

            The DTD Modeline Hex Block should look like this:
            08 07 56 EE 30 F0 16 00 38 2C 55 00 00 00 00 00 00 80
            I'll also post a Modeline for 800x480 resolution as this is a much more common resolution for skins of gps software and other automotive apps even though this resolution is not 16:9, is decently close.

            The result is a crisp image, exactly as expected. (Well, the resolution of the LCD is a bit lower than what we're pushing but it's perfectly fine for our project's purpose, whatever they say, you DO NOT need HD in your car )
            This is my first test:
            Click image for larger version

Name:	poză.JPG
Views:	1
Size:	164.0 KB
ID:	2288086

            Total cost so far: 1 Euro for the transistor and resistors, and 2 Euros for the VGA cable.
            I hope I got your attention.

            [to be continued with theory about free video in motion via CANBUS and Tech about adding a touch screen over the LCD ]
            Stay tuned!
            Last edited by dlbogdan; 12-10-2013, 12:42 PM. Reason: wrong modeline calculated by DTD Calculator


            • #7
              AWESOME, a little overwhelming at first, I understand the concepts of what your saying but dont know the technology 100%. But you provided the proper links to read up on. Thank you.

              I would prefer to do this (rather buy a $200 touchscreen) and add a 6.5" touchscreen layover and input it into the computer. Only to have some type of GUI to the computer rather than a mouse, ideally i could tap into the canbus and monitor the buttons on the the MFD2. I am working on a arduino/canbus project parallel to this.

              I just bought an MINI ITX box idk if the video card setup will fit(zero research on this so far.)


              • #8
                dlbogdan this is amazing! It's peeps like you that add soo much benefit to these forums. You seem to know your trade very well! and it is a very good read too. I won't ever be able to use this as I am all set with my carputer but I am sure this will be very helpful to many many people. Keep up the great work SNO


                • #9
                  @RHCP4LIFE , as I don't have yet a CAN Bus adapter capable of RAW data talking to the VAG 100kbps Infotainment bus, you may want to start up and dig for the telegrams responsible for button presses. Let's work together on this to speed things up.
                  As for the touch panel there are a couple of fujitsu 6.5" wide ones with physical compatibility. I'll post them here after after I dig them up.

                  @SNOtwistR thanks man!


                  • #10
                    I have canbus captures from my Touareg. I'll post up the data for button presses on the bus


                    • #11
                      @that_kid Let the party begin

                      Meanwhile, I've spent 3 hours trying to get my system to remember switching to MFD2 if by chance previously booted without it connected.
                      My system is somehow weird so this might not apply to most of you. I am using an Asus EEEPC 900HA with a broken (and removed) lcd screen.
                      But anyway, the problem is that it still thinks it has its internal monitor attached so whenever it boots without a monitor attached it defaults to full screen internal lcd with no output to VGA and it STAYS that way even if you reboot it with the MFD2 attached.
                      I've managed to get a solution by using the intel included with the drivers utility igfxcfg.exe together with a 3rd party tool called qres.
                      So what I did is save the Scheme when everything is in good working order with a proper name from Scheme Manager in Intel Settings and then created a batch file in startup folder with this:

                      igfxcfg /SchemeName:schema1
                      qres c=32 x=800 y=480

                      The stupid igfxcfg utility would not save the actual resolution but the closest it can validate (800x600) so I had to use the qres util to switch back to 800x480.

                      This way if I somehow boot without MFD2 plugged in, i just restart the PC and everything should go back to normal. It's ugly but it works.
                      If it were on linux, this would had been a non issue, everything being neatly configurable from xorg.conf.
                      Unfortunately on linux there's no iGO navigation software.
                      Last edited by dlbogdan; 12-10-2013, 06:23 PM.


                      • #12
                        @dlbogdan I see that you are using the MFD2 out of the car to do testing work. How are you powering the device?


                        • #13
                          12V on SAFE pin and UB+ pin. Used chassis for 0V


                          • #14
                            For my mfd2 I needed the safe pin code as well.


                            • #15
                              Yes, a minor nuisance if you have your MFD2 powered outside the vehicle (no CAN Gateway) is that every time you lose power you have to input the code at start-up. The bright side is that you'll soon burn that code deep into your brain so you'll never need to scavenge for it through the car dusty manuals ever again

                              Also, it's interesting to know that all of VAG navigation units share (pretty much) the same AUX video input specs (with some US units that don't have one at all). Like RNS 510, even RNS 3xx, Audi Navigation Plus, etc..
                              So most of this investigation should apply to all of them.
                              Things might be different on the data side of the story (i.e. Video in Motion and CAN-Bus telegrams) but we haven't yet touched the subject.
                              I'm still thinking of a way to listen for can data on bench. It's way too cold out there for can bus sniffing. Still waiting for @that_kid with his results on that.

                              (I might need some help from someone in US to buy that touch panel. I think I've found a fujitsu touch panel compatible to the MFD2 unit but there's a very high price tag on package handling for europe. If someone's willing to help, PM me)