Announcement

Collapse
No announcement yet.

REACT Carplay on Factory BMW Head-unit

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    REACT Carplay on Factory BMW Head-unit

    I thought I’d post my Apple Carplay setup. I wanted to retain as much stock functionality while also gaining the more modern phone integration that Carplay offers.

    I used Raspberry Pi 4 (64-bit) running REACT Carplay. My car was already equipped with a factory BMW navigation system and TV module (DIY back-up camera). TV module allowed for easy RCA into to the nav screen and a switching feature to force the screen to display video input from RCA (Carplay).

    This is by no means the most affordable way to do this. ATOT offers aftermarket Carplay head-units for cheap. My install allowed me to retain all factory equipment and have it reversible and upgradable. I had to extensively modify the factory screen, but original functionality is retained.​

    Pros
    -Seamless Apple Carplay integration
    -Touchscreen interface
    -Original nav/radio retained
    -Reversible install
    -Back-up Camera retained

    Cons
    -Raspberry Pi 4 is slow to start
    -Factory screen is too dim causing glare issues in bright sunlight
    -Screen resolution low (RCA input)
    -Original screen outdated and dim
    -Steering wheel control limited to volume +/-​

    Resources:
    -REACT Carplay by Rhysmorgan134- https://github.com/rhysmorgan134/react-carplay
    -Graceful Shutt down by Soubhik-khan- https://github.com/soubhik-khan/RPI_delayed_Shutdown
    -Multiple Raspberry Pi resources to get the Pi setup.

    Starting Point:
    2005 BMW M3 Coupe (Navigation; Harmon Kardon Audio)
    BMW TV module 65-50-6-906-923 ($79 on eBay from Lithuania)
    BOYO VISION VTL375TJ - Ultra Slim Backup Camera (Black)
    AUX Audio input

    Parts List:
    $12.99 MicroSD card 32 gb
    $78.99 CarlinKit dongle for Android Head Unit System 4.4.0+.
    $19.49 Creative Labs SoundBlaster (USB) card for Raspberry Pi
    $9.99 BINZET DC 12V 24V to 5V 5A Converter Step Down Regulator 25W
    $9.09 FRM01 Multifunction Infinite Loop Timing Self-Lock Relay
    $7.95 Gebildet JD1912 Car Relay Harness 12V 40A 4 Pin SPST 12AWG
    $4.99 HUABAN 10PCS 1N5401 Rectifier Diode 3A
    $4.99 3.5MM to 3 RCA Cable ,Video AV Component Adapter Cable
    $11.90 Touchscreen for Raspberry Pi 6.5”
    $94.10 Raspberry Pi 4 (64-bit)
    $254.48 plus tax

    Finished Product IMG_2950 shows carplay in action. Screen display isn't the prettiest, but it works wirelessly.
    Raspi on Bracket IMG_4175 shows Raspberry Pi 4 mounted to factory bluetooth bracket. Also pictured are the 5V power supply and graceful shut down hardware.
    Raspi installed IMG_4170 shows the whole Raspberry Pi unit installed in the car above the "server rack" of radio stuff in the trunk.

    Note: Any work done on your vehicle based on this posting is at your own risk. Take precautions to safeguard yourself and your equipment when working on your automobile's electrical system.


    Attached Files

    #2
    Check this forum out, many of your problems are already solved (slow start and so on), unfortunately only in germany (english section isnt as active as german one)

    Last edited by Niklas; 11-11-2024, 10:46 AM.

    Comment


      #3
      Thats an awesome effort. I am waiting for Ted At Bluebus to release his Carplay module. in the meantime i am using the Bluebus Module for streaming.

      Our cars REALLY need this upgrade as the tech has moved forward.

      Comment


        #4
        It actually seems like it would be reasonably possible to make a ibus based BMW CarPlay Pi hat that could be a pretty plug and play and cheap solution. None of the non pi devices in this setup are particularly complex-- except possibly the USB CarPlay dongle.

        I don't have a good understanding of what the TV module does-- would be even better if the hat could plug and play into the chassis harness than the TV module normally connects to, instead of connecting to the TV module through composite video cables.

        2005 IR/IR M3 Coupe
        2012 LMB/Black 128i
        2008 Black/Black M5 Sedan

        Comment


          #5
          Originally posted by Obioban View Post
          I don't have a good understanding of what the TV module does-- would be even better if the hat could plug and play into the chassis harness than the TV module normally connects to, instead of connecting to the TV module through composite video cables.
          I'm pretty sure t3ddftw is developing exactly that as we speak
          2002 Topasblau M3 - Coupe - 6MT - Karbonius CSL Airbox - MSS54HP Conversion - Kassel MAP - SSV1 - HJS - PCS Tune - Beisan - MK60 Swap - ZCP Rack - Nogaros - AutoSolutions - 996 Brembos - Slon - CMP - VinceBar - Koni - Eibach - BlueBus - Journal

          2012 Alpinweiss 128i - Coupe - 6AT - Slicktop - Manual Seats - Daily - Journal

          Comment


            #6
            Originally posted by Obioban View Post
            I don't have a good understanding of what the TV module does-- would be even better if the hat could plug and play into the chassis harness than the TV module normally connects to, instead of connecting to the TV module through composite video cables.
            The value that everyone finds in the TV module is that it supports a composite video signal, originally put there to support a reverse camera and conveniently, the Raspberry Pi has a composite video output pin.

            The Board Monitor itself has RGB video inputs with a sync signal on the green wire, which means you can't simply tap into the factory harness (Composite is a single wire combined video signal).

            Not only is composite not compatible, but it's inferior in quality to RGB.

            For those reasons, the solution I'm working on sits between the Nav computer and the Board Monitor, then switches the video output whenever requested by user input. I was even able to source plug and play connectors from China (since TE Electronics no longer manufactures many of the MQS connectors in the car). This is actually working at this point, too.

            I'm currently stuck working out quality audio output -- the Pi has an I2S digital audio output but the master clock is not exposed, making it difficult to generate S/PDIF (for DSP cars). I have a part in mind that could do the job, but it's now been discontinued -- the Cirrus Logic WM8804. The other option is to generate a master clock using a PLL, but that's a pain.

            I'm also trying to work on directly supporting CarPlay without the CarlinKit dongle. I need a grey market Apple MFI IC (getting "Made for iPhone" certification is a pain -- you need to have a factory that meets Apple requirements, etc) and whatever voodoo to allow the phone to handshake using that IC.

            Anyways, that's my overly technical update on the matter

            -Ted

            Comment


              #7
              Originally posted by t3ddftw View Post

              The value that everyone finds in the TV module is that it supports a composite video signal, originally put there to support a reverse camera and conveniently, the Raspberry Pi has a composite video output pin.

              The Board Monitor itself has RGB video inputs with a sync signal on the green wire, which means you can't simply tap into the factory harness (Composite is a single wire combined video signal).

              Not only is composite not compatible, but it's inferior in quality to RGB.

              For those reasons, the solution I'm working on sits between the Nav computer and the Board Monitor, then switches the video output whenever requested by user input. I was even able to source plug and play connectors from China (since TE Electronics no longer manufactures many of the MQS connectors in the car). This is actually working at this point, too.

              I'm currently stuck working out quality audio output -- the Pi has an I2S digital audio output but the master clock is not exposed, making it difficult to generate S/PDIF (for DSP cars). I have a part in mind that could do the job, but it's now been discontinued -- the Cirrus Logic WM8804. The other option is to generate a master clock using a PLL, but that's a pain.

              I'm also trying to work on directly supporting CarPlay without the CarlinKit dongle. I need a grey market Apple MFI IC (getting "Made for iPhone" certification is a pain -- you need to have a factory that meets Apple requirements, etc) and whatever voodoo to allow the phone to handshake using that IC.

              Anyways, that's my overly technical update on the matter

              -Ted
              Sounds good Ted. Looking forward to it. Thanks for putting in so much effort.

              Comment


                #8
                Originally posted by t3ddftw View Post
                ...Anyways, that's my overly technical update on the matter

                -Ted
                From that, all I understood is

                Click image for larger version

Name:	image.png
Views:	409
Size:	298.0 KB
ID:	284195

                😂​
                '09 HP2S, '12 R12GSA, '00 Black 323iT, '02 Alpine 325iT (Track Wagon), '02 Alpine 330iT
                Instagram @HillPerformanceBimmers
                Email to George@HillPerformance.com

                Comment


                  #9
                  Howdy yall. Im still running a single din setup, and have also been curious about getting some carplay features into my car. I remember seeing alot of questionable reviews about the old Eonon and Dynavin setups for our cars, so ive held out on doing the double-din conversions in hopes that something would eventually be made for the single-dinners. I recently saw a unit that had been making its rounds in a Ford OBS group im in, and people seem to be liking it. Digging a little further it appears its also crept into the E36 circles, and ive seen similar setups in some older P-cars (albeit not this exact model). Here is an example of said unit:



                  While reading this thread, I wonder if the project Ted describes, in achieving quality audio output, could be "reverse engineered" from something like the above unit? Keep in mind, I am no audiophile, and not savvy enough in audio equipment to know if that could technically be accomplished. Just thought I'd throw this out there to possibly help move things forward.

                  If any others out there are interested in retaining single din and using a unit like the one I linked, it appears that for the H/K cars you would also need the Metra AXDIS-BW112 kit. Cheers!
                  2003 Stahl Grau on Imola Red E46 M3 / 1992 Brilliatnrot E30 318iC Vert
                  @ JT_E30

                  Comment


                    #10
                    Originally posted by t3ddftw View Post
                    I'm currently stuck working out quality audio output -- the Pi has an I2S digital audio output but the master clock is not exposed, making it difficult to generate S/PDIF (for DSP cars). I have a part in mind that could do the job, but it's now been discontinued -- the Cirrus Logic WM8804. The other option is to generate a master clock using a PLL, but that's a pain.
                    Hi Ted, I think TI SRC4392 or another similar ASRC (but not SRC4192) can take I2S without an input side MCLK and give you a clean output on the output clock domain side. Probably isn't easier than a PLL though.

                    Comment


                      #11
                      Originally posted by chris719 View Post

                      Hi Ted, I think TI SRC4392 or another similar ASRC (but not SRC4192) can take I2S without an input side MCLK and give you a clean output on the output clock domain side. Probably isn't easier than a PLL though.
                      Thanks for the suggestion! I've considered using the SRC4192 on the BlueBus in a different capacity, but that price tag is so off-putting!

                      The other fellow working on this with me designed an MCLK recovery circuit earlier this week:
                      Click image for larger version

Name:	image.png
Views:	329
Size:	85.5 KB
ID:	284526

                      Thanks!
                      -Ted

                      Comment


                        #12
                        its like you guys are talkin' dirty to me. t3ddftw please put me first in line to test the carplay module out when you have it in testing.

                        Comment


                          #13
                          Originally posted by t3ddftw View Post

                          Thanks for the suggestion! I've considered using the SRC4192 on the BlueBus in a different capacity, but that price tag is so off-putting!

                          The other fellow working on this with me designed an MCLK recovery circuit earlier this week:
                          Click image for larger version

Name:	image.png
Views:	329
Size:	85.5 KB
ID:	284526

                          Thanks!
                          -Ted
                          This sounds like a great project. What software was used for the schematic?

                          Comment


                            #14
                            Hi All,

                            I don’t have a BMW let alone an M3 😂 but I am the creator of react-CarPlay (with the help of some great contributors to node CarPlay too!) but I stumbled upon this whilst browsing some of the uses of react CarPlay, if any helps need I am happy to have input, t3ddftw I’m also happy to help out with a no dongle version, I did purchase a usb sniffer and captured a bunch of the iap protocol messages from the dongle to the phone, however lately I have been far too busy on other hardware projects to revisit it!

                            Comment


                              #15
                              I’ve been perfecting the OEM integration of CarPlay / AA project for over 2 years now. Not an easy task. A lot of dedication and stress is involved.

                              I’m very happy with where it is now. Really does sort out the OEM system, whilst still good for radio, cd, tape etc, the actual things like Spotify, Apple Music, Waze and google maps, is on the screen, rather than a phone plopped up above the screen or on the side of the steering wheel.

                              Another thing, we’ve gone from the worst voice recognition ever made (ULF), to the best one (Siri). I never thought I would be using voice recognition in a car as much as I do now. Does everything for you.

                              Good luck to all in your projects. The end result is good.



                              Comment

                              Working...
                              X