When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
Awesome job Rhys. It seems you have completely replicated the XF control panel. The big question is whether this approach can replicate the XF/XK touchscreen and all its features?
Awesome job Rhys. It seems you have completely replicated the XF control panel. The big question is whether this approach can replicate the XF/XK touchscreen and all its features?
This is more tricky than just decoding the messages from the screen and then replicating. It's a bit complex but I'll do my best to explain.
Typical can bus modules send a message around every 100ms, so if your heated seats are off, every 100ms the screen sends a message saying "heated seats off".
The problem comes from the screen not sending actual can bus messages itself. According to the drawings it has no can bus connection. This means that the can messages from the screen most likely go from the screen using MOST to the integrated audio module, then this converts to CAN.
So this means that if you just replace the screen and replicate the messages you end up with a race condition. Every 100ms we would tell the seats to turn on, every 100ms the IAM would tell the seats to turn off.
Whilst this doesn't make it impossible, the easiest way I can forsee to do it, is to build a firewall, so the IAM no longer connects to the cars canbus, instead it sits on its own network with a device with two can bus network connections, for this example let's call it an Arduino. This Arduino listens to messages from the IAM and then only relays the messages that won't conflict with our system.
Hopefully that makes sense, so it is do-able. There's much more I want to do with this, but trying stuff on my daily is a but tricky, I'm on the look out for an xf ready to be scrapped that I can just go wild on
The 07 -09 screens (06-08 in Europe?) in the XK and XF are mostly interchangeable. The screens are identical in what they view and how the operate.
The difference is in the modules each vehicle uses. So while we were able to swap the XK screen with an 09 XF screen, the heat/ A/C functions didn't work.
The XF uses a different climate module then the XK I think. If I recall, the steering wheel and heat seat functions didn't work wither but not certain on that. Been awhile but I believe all other functions operated as they should.
Permanent install is now done! its in there, working had a good drive round with it yesterday and it seems to be working pretty well. Still got more plans for it, but i think its safe to say v1.0 is now finished. I need to do a redesign of the gui and also the parking module is arriving tomorrow so they will be my next task.
I have a site going now where I will put up a guide on how to get it all installed, theres a guide on can bus hacking on there already if anyone wants to get involved, theres also links to all the git repos aswell
@sean thats interesting to know, I wonder how different in terms of the canbus? parking module will be next for me, so everything so far will be usefull for when I attempt the screen replacement. The more I have been thinking about it, the more I think it is possible, just alot more work, and a different approach as to what has been done so far. I think once I have gotten what I want set up in this set up, I may tackle the screen. I have a screen out of my wifes freelander, which looks the same model, may see if I can somehow get the xf one loaded onto that, and then get hold of an audio module too.
yeah thankyou, I cant seem to edit the post on here
Works started on the parking module now, although the xf had a little hiccup yesterday. Recently had the cambelt and water pump done, they found the thermostat housing leaking too so replaced that.
Gave it some beans going up a hill yesterday, emptied the entire coolant in around 50 metres. Turns out one of the pipes wasn't attached properly. I stopped pretty quick, so hopefully it will be alright, I was going for it though...
Not quite jaguar related in this update, its from my wifes freelander 2, started to work on the parking sensors (the messages seem to follow the same format, so app should be transferable) so far I've decoded each 4 corners which it seems to use, and made some very crude visuals to display. I need to do some fine tuning of the variables and also test with something thats not my skinny legs, but heres the first test I done today, seems to tie up pretty well, perhaps need to average the values over half a second or so.
Also began to work on upgrading the jag visuals, taking some inspiration from the incontrol system, heres a sneak peak, but very much a work in progress at the moment
This all looking very promising. Is the end product to replace the existing infotainment screen. Once fully developed it will by far exceed the functionality of the OEM screen/infotainment system. It would be nice to be able to replace the old technology/infotainment screen with this and leave the factory hardware bottoms below it intact so it looks OEM. Then again if both the complete console area can be replaced with a large screen similar to what a Tesla has it would look and function like a ulta modern car. Well done!
yeah the super long term plan is to do that. But I want to get everything that I can on the second screen first, due to the complexity of having to block the canbus messages that will conflict with each other, I really want to get a full test rig set up, most ring and canbus with atleast the screen and audio module connected.
I've also verified that i can get the messages that my icarsoft sends to the ecu for certain values, ie dpf full level, oil level etc. So I want to get some diagnostics built into it, save people having to spend the money on the decent scanners, but again thats a ways down the line
Hi I have been following this since your first post, really impressive work and in such a short timeframe. I am in the process of getting everything together to have a go myself and the only thing I am unsure of is which screen you are using and how it is mounted, can you provide a link to the screen please.
Hi I have been following this since your first post, really impressive work and in such a short timeframe. I am in the process of getting everything together to have a go myself and the only thing I am unsure of is which screen you are using and how it is mounted, can you provide a link to the screen please.
Thanks
Awesome! Will be good to get someone more people using it, there's a few people now acquiring all the parts. The screen is the official raspberry pi screen
depends what you call the "final product", its fully working and been installed in my car for over a month now, however I have a ton of stuff I wanna update/add. So I suspect it will never be a final product. It also won't be something that I sell I don't think, everything I have made is online and free. I will do a tutorial showing how to get it up and running as soon as I can, as people can start using it now.
End goal is to replace the built in screen, however this is quite some ways down the line, and probably going to be once I am happy with the state of it all installed as an extra screen
Prettt decent amount to update on (not quite as much as I would of liked, wasted a ton of time trying to get an OEM screen working on the bench)
Few new features added, the factory solar sensor now controls the brightness, extra dimming added when lights on, steering wheel controls integrated and customized, trip info now added to the screen, and finally a redesign of the home screen and navigation (incontrol inspiration) although I'm still a typical backend kind of guy, so my 2 year old could probably design something that looks better!
Prettt decent amount to update on (not quite as much as I would of liked, wasted a ton of time trying to get an OEM screen working on the bench)
Few new features added, the factory solar sensor now controls the brightness, extra dimming added when lights on, steering wheel controls integrated and customized, trip info now added to the screen, and finally a redesign of the home screen and navigation (incontrol inspiration) although I'm still a typical backend kind of guy, so my 2 year old could probably design something that looks better!
Absolutely incredible work Rhys. Now I have a bit of time being stuck at home, I'm very interested in playing around with this idea. Thank you for all the hard work!!
Absolutely incredible work Rhys. Now I have a bit of time being stuck at home, I'm very interested in playing around with this idea. Thank you for all the hard work!!
Awesome stuff, if you need any help or guidance at all, dont hesitate to ping me a message, I have the hardware guide up on my blog, the software one will hopefully come soon (flat out at work right now)
Unfortunately the corona has made getting any time on this impossible, but with things easing over here I've finally had a bit of time to do some work on it. Two pretty big updates for it, first one is some new software called intelligent auto, its not mine (wish it was!) but this software has been a game changer. The guy developing it is super open to suggestions, and has implemented everything so far. The biggest thing is the ability to get from android auto to the jag app in one press, (physical button press too, reusing the dash buttons). Video of new software:
Second update is on the jag app itself, its had a visual redesign to make it feel more at home with intelligent auto, but probably the biggest bit of work for a long time, is that the vehicle settings screen is now created and pulling live info, the ability to changed these settings is disabled right now (I cant have both this and the screen trying to control the same settings) but this has all been decoded, so once the screen is out, and new screen has replaced it, it should be good to go.
Hey Rhys, did you see this unit offered by Canavie? Can you reverse engineer it or team up with them to produce a comprehensive quality modern infotainment unit?