Novice starting

Dear Rhys, dear all,

I recently joined up in the node-carplay and react-carplay activities and have some novice questions.
I am also new to the world of NPM, but picking up rapidly.

Thank you very much for this entry into the carplay world for Jaguar. It is a quite steep installation path to get things running for my 2010 Jaguar XK. In particular, I am interested to get Carplay running, and to use CANBUS commands to read the status of vehicle parameters and possibly even command several functions from the screen. Ideally, I would even by-pass the original screen and replace it by a raspberry pi driven solution.

In particular, I would currently like to monitor the functioning of all convertible roof switches and sensors, possibly even fully control the roof via CANBUS.

For now, I am still at my novice steps, for which I present the following topics:

Issue1: how to put a prototyping screen to work?

I purchased a 2nd hand Jaguar touch screen for prototyping. When applying 12V power to it (+12V to pin 1, earth to pin 6), it boots up nicely with a Jaguar logo. However, after about a minute, it powers down completely, apparently in the lack of any triggering signal. The MOST network is not connected at all (i.e. open-loop).

Question: What is needed to keep it running and take video input from the GVIF input?

  • Is a MOST trigger or startup command sequence needed?
  • Do I need to close the MOST loop?

Issue 2: How can I compile node-carplay and react-carplay myself?

I have installed NPM and all apparently necessary installs for both, but I do not know what the commands are and which libraries are required prior to compilation. I am using RaspOS and MacOS for developments.

Question: Which libraries are required? Which compile commands are needed?

Some more information on the Jaguar XF 2008 2.7D touch screen:

part number: 8X23-10E889-AC
internal screen NLL 75-8693-111
graphic processor: ALPINE 51T55246Y02 - F0750A307


  • from the main connector, only the +12V (pin 1, top left) and - (earth, pin 6 top right) are connected to the circuit board. Other pins are not used
  • when powered on stand-alone, it displays the Jaguar logo for 30 seconds and then gracefully, but fully shuts down (no power draw). I closed the MOST loop using a spdif optical wire to test.
  • this means that all logic to keep it alive is done over the MOST network
  • behind a cover sticker on top of the screen, there is a mini-USB type connector (connector CB1903). I connected this USB connector to my Mac, but the Mac does not report any USB port, both when the screen is not powered and powered. Possibly this is used to load firmware into the module at production stage. Or it is only for USB memory sticks/storage.

Pictures from the inner things:

Hi Frits,

A lot to go over in your post, I’ll have time to write a proper reply later! But your attempts to get the screen booted are in vain, you need 4 modules for it to be healthy (all connected on MOST) they are amplifier, cd players, touchscreen, and also the can/most gateway (black module located beneath the cd player). The modules also need to match the last ccf message sent on can, there’s options there for audio level (high line, low line etc) and also for the amount of slots on the cd changer. The canbus also has to be properly terminated with the correct 120Ω resistors.

Thank you very much for your feedback. I understand that a stand-alone use of the touch screen is not so straightforward.

Meanwhile, I managed to compile react-carplay myself. I found the hints on commands to use by running from the in the react-carplay main directory:

rpm run

To chear up the visuals, I added a Jaguar logo as background image (using css in the body tag in main.html) and changed the screen color to slight grey. I equally applied this background to the Raspberry Pi desktop, including autohiding menu bar. This will nicely integrate into the car later. If needed, I can provide the code snippets to do so.

Of course, in kiosk mode, the CarPlay window would fill the entire screen.

I made some considerations:

  1. When using the Raspberry Pi as main screen, the CarPlay option should best be a plug-in app, which can hide, so sound can continue to be sent out. Probably best then to set up a sound driver to Raspi OS to address a MOST network amplifier. This means that all Pi sound can and will go through this driver. This removes the layers between OS and CarPlay.

  2. All configuration should then be taken out of React-carplay and be put in a settings file conform regular PI configuration practices. The node.js app can read from there.

  3. Can-bus and MOST tools can be separate tools, and do not need to be embedded into React-CarPlay.

  4. For JLR MOST/CAN integration, it could be an idea that the Raspberry Pi would act as being the navigation unit, i.e. all interactions with the MOST master would make it fake the navigation unit responses.

Hi Frits,

You may be interested in this work in progress

It embeds carplay into a jaguar/land rover application and pretty much handles all of the points in your post

So far cd player and radio are integrated over MOST, carplay is also working, DAB, Settings, parking sensors, camera all need work/porting over from the canbus version of my old app

Nice piece of work!

With the XFs and XKs aging, there will be little support over time for the OEM solutions. RasPi solutions like yours will help many owners of these marvelous cars to continue to enjoy their cars, even with up-to-date technology.

I guess you want to create a desktop-free solution for embedding this into your cars.

Keep it up! I am following…

Slightly off-topic, but here is what I built, based on your excellent Youtube can-bus tutorial:


Ah nice, I enjoy seeing what some people do based upon my content! Thankyou